#ifndef PROMECHGAP_H #define PROMECHGAP_H #include <ProToolkit.h> #include <ProObjects.h> #include <ProMechValue.h> #include <ProMechContact.h> PRO_BEGIN_C_DECLS typedef enum { PRO_MECH_GAP_DISTR_TOTAL = PRO_MECH_CONTACT_DISTR_TOTAL, PRO_MECH_GAP_DISTR_PER_UNIT = PRO_MECH_CONTACT_DISTR_PER_UNIT } ProMechGapDistrType; typedef enum { PRO_MECH_GAP_NONE = PRO_VALUE_UNUSED, PRO_MECH_GAP_SIMPLE = 1 } ProMechGapType; typedef struct pro_gap_simple* ProMechSimpleGapData; extern ProError ProMechgapReferencesGet (ProMechItem* item, ProMechGeomref** references); /* Purpose: Obtains the references used by this gap. Input Arguments: item - The gap. Output Arguments: references - ProArray of references. Free this array using ProMechgeomrefProarrayFree(). 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_GENERAL_ERROR - A general error is encountered. PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the operation. PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid. */ extern ProError ProMechgapReferencesSet (ProMechItem* item, ProMechGeomref* references); /* Purpose: Sets the references used by this gap. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The gap. references - ProArray of references. 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. PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the operation. */ extern ProError ProMechgapTypeGet (ProMechItem* item, ProMechGapType* type); /* Purpose: Obtains the gap type. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The gap. Output Arguments: type - The gap type. 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 ProMechgapSimpledataGet (ProMechItem* item, ProMechSimpleGapData* data); /* Purpose: Obtains the simple data for the gap. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The ontact. Output Arguments: data - The data. Free this using ProMechsimplegapdataFree(). Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_INVALID_TYPE - The item does not contain this type of gap. 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. PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the operation. See Also: ProMechgapTypeGet() */ extern ProError ProMechsimplegapdataAlloc (ProMechSimpleGapData* data); /* Purpose: Allocates the memory for a Creo Simulate gap 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 ProMechsimplegapdataFree (ProMechSimpleGapData data); /* Purpose: Frees the memory for a Creo Simulate gap 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 ProMechgapSimpledataSet (ProMechItem* item, ProMechSimpleGapData data); /* Purpose: Sets the data for the gap. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The gap. 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 ProMechsimplegapdataYdirectionGet (ProMechSimpleGapData data, ProMechYDirection* y_dir); /* Purpose: Obtains the Orientation for the gap data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The gap data. Output Arguments: y_dir - The Orientation. Free this output using ProMechydirectionFree(). 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 ProMechsimplegapdataYdirectionSet (ProMechSimpleGapData data, ProMechYDirection y_dir); /* Purpose: Sets the Orientation for the gap data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The gap data. y_dir - The Orientation. 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 ProMechsimplegapdataDistributiontypeGet (ProMechSimpleGapData data, ProMechGapDistrType* type); /* Purpose: Obtains the distribution type for the gap data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The gap data. Output Arguments: type - The distribution type. 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 ProMechsimplegapdataDistributiontypeSet (ProMechSimpleGapData data, ProMechGapDistrType type); /* Purpose: Sets the distribution type for the gap data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The gap data. type - The distribution type. 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 ProMechsimplegapdataClearanceGet (ProMechSimpleGapData data, ProMechExpression clearance); /* Purpose: Obtains the clearance for the gap data. Use ProMathExpressionEvaluate() to evaluate it. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The gap data. Output Arguments: clearance - The clearance. 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 ProMechsimplegapdataClearanceSet (ProMechSimpleGapData data, ProMechExpression clearance); /* Purpose: Sets the clearance for the gap data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The gap data. clearance - The clearance. 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 ProMechsimplegapdataAxialstiffnessGet (ProMechSimpleGapData data, ProMechExpression axial_stiff); /* Purpose: Obtains the axial stiffness for the gap data. Use ProMathExpressionEvaluate() to evaluate it. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The gap data. Output Arguments: axial_stiff - The axial stiffness. 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 ProMechsimplegapdataAxialstiffnessSet (ProMechSimpleGapData data, ProMechExpression axial_stiff); /* Purpose: Sets the axial stiffness for the gap data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The gap data. axial_stiff - The axial stiffness. 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 ProMechsimplegapdataTransversestiffnessGet (ProMechSimpleGapData data, ProMechExpression transv_stiff); /* Purpose: Obtains the transverse stiffness for the gap data. Use ProMathExpressionEvaluate() to evaluate it. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The gap data. Output Arguments: transv_stiff - The transverse stiffness. 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 ProMechsimplegapdataTransversestiffnessSet (ProMechSimpleGapData data, ProMechExpression transv_stiff); /* Purpose: Sets the transverse stiffness for the gap data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The gap data. transv_stiff - The transverse stiffness. 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_END_C_DECLS #endif /* PROMECHGAP_H */