#ifndef PROMECHSPRINGPROPS_H #define PROMECHSPRINGPROPS_H #include <ProToolkit.h> #include <ProObjects.h> #include <ProMechItem.h> #include <ProMechMatrix.h> #include <ProMechVector.h> PRO_BEGIN_C_DECLS typedef struct pro_spring_prop_data_int* ProMechSpringPropsData; typedef enum { PRO_MECH_SPRINGPROPS_EXTENSIONAL = 0, /* ProMechMatrix (3x3, symmetrical) [ Kxx Kxy Kxz ] [ Kyy Kyz ] [ Kzz ] */ PRO_MECH_SPRINGPROPS_TORSIONAL = 1, /* ProMechMatrix (3x3, symmetrical) [ Txx Txy Txz ] [ Tyy Tyz ] [ Tzz ] */ PRO_MECH_SPRINGPROPS_COUPLING = 2, /* ProMechMatrix (3x3, full) [ KTxx KTxy KTxz ] [ KTyx KTyy KTyz ] [ KTzx KTzy KTzz ] */ PRO_MECH_SPRINGPROPS_DAMPING = 3, /* ProMechVector (3) [ Cxx Cyy Czz ] */ PRO_MECH_SPRINGPROPS_AUTOCOUPLING = 4 /* ProBoolean */ } ProMechSpringpropsPropertyType; typedef double ProMechSpringPropValues [6]; /* deprecated */ typedef double ProMechSpringPropCoupling [9]; /* deprecated */ extern ProError ProMechspringpropsDescriptionGet (ProMechItem* item, ProComment description); /* Purpose: Obtains the spring properties description. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The spring properties. Output Arguments: description - The description. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid. PRO_TK_GENERAL_ERROR - A general error is encountered. */ extern ProError ProMechspringpropsDataGet (ProMechItem* item, ProMechSpringPropsData* data); /* Purpose: <B>Note</B>: This function is deprecated. Use ProMechSpringpropsMatrixGet(), ProMechSpringpropsVectorGet() instead. <p> Obtains the spring properties data. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The spring properties. Output Arguments: data - The data. Free this using ProMechspringpropsdataFree(). Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid. PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the operation. PRO_TK_GENERAL_ERROR - A general error is encountered. */ extern ProError ProMechspringpropsdataDampingcoefficientsGet (ProMechSpringPropsData data, ProMechSpringPropValues coefficients); /* Purpose: <B>Note</B>: This function is deprecated. Use ProMechSpringpropsVectorGet() instead. <p> Obtains the damping coefficients (Cxx, Cyy, Czz) for the spring properties. First 3 members of ProMechSpringPropValues are Cxx,Cyy,Cyy, remaining will be 0.0 Licensing Requirement: UNRECOGNIZED Input Arguments: data - The spring properties data. Output Arguments: coefficients - The damping coefficients. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. */ extern ProError ProMechspringpropsdataFree (ProMechSpringPropsData data); /* Purpose: <B>Note</B>: This function is deprecated. <p> Frees the memory for a Creo Simulate spring properties data handle. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The handle. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. */ extern ProError ProMechspringpropsdataExtensionalcoefficientsGet (ProMechSpringPropsData data, ProMechSpringPropValues coefficients); /* Purpose: <B>Note</B>: This function is deprecated. Use ProMechSpringpropsMatrixGet() instead. <p> Obtains the extensional coefficients (Kxx,Kyy,Kzz,Kxy,Kxz,Kyz) for the spring properties. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The spring properties data. Output Arguments: coefficients - The extensional coefficients. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. */ extern ProError ProMechspringpropsdataTorsionalcoefficientsGet (ProMechSpringPropsData data, ProMechSpringPropValues coefficients); /* Purpose: <B>Note</B>: This function is deprecated. Use ProMechSpringpropsMatrixGet() instead. <p> Obtains the torsional coefficients (Txx,Tyy,Tzz,Txy,Txz,Tyz) for the spring properties. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The spring properties data. Output Arguments: coefficients - The torsional coefficients. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. */ extern ProError ProMechspringpropsdataCouplingcoefficientsGet (ProMechSpringPropsData data, ProMechSpringPropCoupling coefficients); /* Purpose: <B>Note</B>: This function is deprecated. Use ProMechSpringpropsMatrixGet() instead. <p> Obtains the coupling coefficients (KTxx, KTxy, KTxz, KTyx, KTyy, KTyz, KTzx, KTzy, KTzz) for the spring properties. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The spring properties data. Output Arguments: coefficients - The coupling coefficients. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. PRO_TK_E_NOT_FOUND - Auto-coupling is used, so there are no assigned values for coupling. */ extern ProError ProMechspringpropsdataAutocouplingGet (ProMechSpringPropsData data, ProBoolean* auto_coupling); /* Purpose: <B>Note</B>: This function is deprecated. Use ProMechSpringpropsBooleanGet() instead. <p> Identifies whether Creo Simulate should calculate the coupling properties automatically for the spring properties. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The spring properties data. Output Arguments: auto_coupling - PRO_B_TRUE if it calculates the coupling automatically, PRO_B_FALSE otherwise. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. */ extern ProError ProMechspringpropsDescriptionSet (ProMechItem* item, ProComment description); /* Purpose: Sets the spring properties description. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The spring properties. description - The description. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_CANT_ACCESS - Cannot access the object in the current mode. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid. PRO_TK_CANT_MODIFY - Cannot modify the item. PRO_TK_GENERAL_ERROR - A general error is encountered. */ extern ProError ProMechspringpropsDataSet (ProMechItem* item, ProMechSpringPropsData data); /* Purpose: <B>Note</B>: This function is deprecated. Use ProMechSpringpropsMatrixSet(), ProMechSpringpropsVectorSet() instead. <p> Sets the spring properties data. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The spring properties. data - The data. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_CANT_ACCESS - Cannot access the object in the current mode. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid. PRO_TK_CANT_MODIFY - Cannot modify the item. PRO_TK_GENERAL_ERROR - A general error is encountered. */ extern ProError ProMechspringpropsdataDampingcoefficientsSet (ProMechSpringPropsData data, ProMechSpringPropValues coefficients); /* Purpose: <B>Note</B>: This function is deprecated. Use ProMechSpringpropsVectorSet() instead. <p> Sets the damping coefficients (Cxx, Cyy, Czz) for the spring properties. First 3 members of ProMechSpringPropValues are Cxx,Cyy,Cyy, remaining will be 0.0 Licensing Requirement: UNRECOGNIZED Input Arguments: data - The spring properties data. coefficients - The damping coefficients. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. */ extern ProError ProMechspringpropsdataAlloc (ProMechSpringPropsData* data); /* Purpose: <B>Note</B>: This function is deprecated. <p> Allocates the memory for a Creo Simulate spring properties data handle. Licensing Requirement: UNRECOGNIZED Input Arguments: none Output Arguments: data - The handle. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the operation. */ extern ProError ProMechspringpropsdataExtensionalcoefficientsSet (ProMechSpringPropsData data, ProMechSpringPropValues coefficients); /* Purpose: <B>Note</B>: This function is deprecated. Use ProMechSpringpropsMatrixGet() instead. <p> Sets the extensional coefficients (Kxx, Kyy, Kzz, Kxy, Kxz, Kyz) for the spring properties. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The spring properties data. coefficients - The extensional coefficients. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. */ extern ProError ProMechspringpropsdataTorsionalcoefficientsSet (ProMechSpringPropsData data, ProMechSpringPropValues coefficients); /* Purpose: <B>Note</B>: This function is deprecated. Use ProMechSpringpropsMatrixGet() instead. <p> Sets the torsional coefficients (Txx, Tyy, Tzz, Txy, Txz, Tyz) for the spring properties. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The spring properties data. coefficients - The torsional coefficients. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. */ extern ProError ProMechspringpropsdataCouplingcoefficientsSet (ProMechSpringPropsData data, ProMechSpringPropCoupling coefficients); /* Purpose: <B>Note</B>: This function is deprecated. Use ProMechSpringpropsMatrixGet() instead. <p> Sets the coupling coefficients (KTxx, KTxy, KTxz, KTyx, KTyy, KTyz, KTzx, KTzy, KTzz) for the spring properties. <P> These properties will be set if the data's auto-coupling flag is not set to PRO_B_TRUE. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The spring properties data. coefficients - The coupling coefficients. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. PRO_TK_CANT_WRITE - data's auto-coupling flag is set to PRO_B_TRUE, unable to set the coupling coefficients. */ extern ProError ProMechspringpropsdataAutocouplingSet (ProMechSpringPropsData data, ProBoolean auto_coupling); /* Purpose: <B>Note</B>: This function is deprecated. Use ProMechSpringpropsBooleanSet() instead. <p> Identifies whether Creo Simulate should calculate the coupling properties automatically for the spring properties. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The spring properties data. auto_coupling - PRO_B_TRUE if it calculates the coupling automatically, PRO_B_FALSE otherwise. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. */ extern ProError ProMechSpringpropsBooleanGet (ProMechItem * item, ProMechSpringpropsPropertyType type, ProBoolean * value); /* Purpose: Obtains the boolean value corresponding to 'type' of the spring property object. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The spring property. type - The spring property type. Output Arguments: value - The property value (bool). Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. PRO_TK_NO_LICENSE - No license was available to enable this function. PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid. PRO_TK_GENERAL_ERROR - A general error is encountered. */ extern ProError ProMechSpringpropsMatrixGet (ProMechItem * item, ProMechSpringpropsPropertyType type, ProMechMatrix * matrix); /* Purpose: Obtains the matrix corresponding to 'type' of the spring property object. Use ProMathExpressionEvaluate() to evaluate each component. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The spring property. type - The spring property type. Output Arguments: matrix - The property value (matrix). The function allocates memory for this argument. Use ProMechMatrixFree() to free it. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the operation. PRO_TK_NO_LICENSE - No license was available to enable this function. PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid. PRO_TK_GENERAL_ERROR - A general error is encountered. */ extern ProError ProMechSpringpropsVectorGet (ProMechItem * item, ProMechSpringpropsPropertyType type, ProMechVector * vector); /* Purpose: Obtains the vector corresponding to 'type' of the spring property object. Use ProMathExpressionEvaluate() to evaluate each component. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The spring property. type - The spring property type. Output Arguments: vector - The property value (vector). The function allocates memory for this argument. Use ProMechVectorFree() to free it. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the operation. PRO_TK_NO_LICENSE - No license was available to enable this function. PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid. PRO_TK_GENERAL_ERROR - A general error is encountered. */ extern ProError ProMechSpringpropsBooleanSet (ProMechItem * item, ProMechSpringpropsPropertyType type, ProBoolean value); /* Purpose: Sets the boolean value corresponding to 'type' of the spring property object. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The spring property. type - The spring property type. value - The property value (bool). Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. PRO_TK_CANT_MODIFY - Cannot modify the item. PRO_TK_NO_LICENSE - No license was available to enable this function. PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid. PRO_TK_GENERAL_ERROR - A general error is encountered. */ extern ProError ProMechSpringpropsMatrixSet (ProMechItem * item, ProMechSpringpropsPropertyType type, ProMechMatrix matrix); /* Purpose: Sets the matrix corresponding to 'type' of the spring property object. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The spring property. type - The spring property type. matrix - The property value (matrix). Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. PRO_TK_CANT_MODIFY - Cannot modify the item. PRO_TK_NO_LICENSE - No license was available to enable this function. PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid. PRO_TK_GENERAL_ERROR - A general error is encountered. */ extern ProError ProMechSpringpropsVectorSet (ProMechItem * item, ProMechSpringpropsPropertyType type, ProMechVector vector); /* Purpose: Sets the vector corresponding to 'type' of the spring property object. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The spring property. type - The spring property type. vector - The property value (vector). Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized. PRO_TK_CANT_MODIFY - Cannot modify the item. PRO_TK_NO_LICENSE - No license was available to enable this function. PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid. PRO_TK_GENERAL_ERROR - A general error is encountered. */ PRO_END_C_DECLS #endif /* PROMECHSPRINGPROPS_H */