#ifndef PROMECHSHELL_H #define PROMECHSHELL_H #include <ProToolkit.h> #include <ProObjects.h> #include <ProMechValue.h> PRO_BEGIN_C_DECLS typedef struct pro_shell_prop_simple* ProMechShellSimpleData; typedef struct pro_shell_prop_advanced* ProMechShellAdvancedData; typedef enum { PRO_MECH_SHELL_NONE = PRO_VALUE_UNUSED, PRO_MECH_SHELL_SIMPLE = 0, PRO_MECH_SHELL_ADVANCED = 1 } ProMechShellDataType; extern ProError ProMechshellReferencesGet (ProMechItem* item, ProMechGeomref** references); /* Purpose: Obtains the references for the shell. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. Output Arguments: references - ProArray of references. Free this 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_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 ProMechshellMaterialGet (ProMechItem* item, ProName material); /* Purpose: Obtains the material name. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. Output Arguments: material - The material name. 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 ProMechshellMaterialIdGet (ProMechItem* item, int * matl_id); /* Purpose: Obtains the material id. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. Output Arguments: matl_id - The material id. 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 ProMechshellTypeGet (ProMechItem* item, ProMechShellDataType* type); /* Purpose: Obtains the type of the shell (simple or advanced). Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. Output Arguments: type - The shell 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. PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid. PRO_TK_GENERAL_ERROR - A general error is encountered. */ extern ProError ProMechshellSimpledataGet (ProMechItem* item, ProMechShellSimpleData* data); /* Purpose: Obtains the simple shell data. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. Output Arguments: data - The data. Free this using ProMechshellsimpleFree(). Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_INVALID_TYPE - This item does not contain this type of data. 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. See Also: ProMechshellTypeGet() */ extern ProError ProMechshellAdvanceddataGet (ProMechItem* item, ProMechShellAdvancedData* data); /* Purpose: Obtains the advanced shell data. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. Output Arguments: data - The data. Free this using ProMechshelladvancedFree(). Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments are invalid. PRO_TK_INVALID_TYPE - This item does not contain this type of data. 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: ProMechshellTypeGet() */ extern ProError ProMechshellsimpleThicknessGet (ProMechShellSimpleData item, ProMechExpression thickness); /* Purpose: Obtains the thickness for the shell. Use ProMathExpressionEvaluate() to evaluate it. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. Output Arguments: thickness - The thickness. 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 ProMechshellsimpleFree (ProMechShellSimpleData data); /* Purpose: Frees the memory for a Creo Simulate simple shell 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 ProMechshelladvancedShellpropsGet (ProMechShellAdvancedData item, int* shell_props_id); /* Purpose: Obtains the shell properties id for this shell. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. Output Arguments: shell_props_id - The shell properties id. 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 ProMechshelladvancedMaterialorientGet (ProMechShellAdvancedData item, int* material_orient_id); /* Purpose: Obtains the material orientation id for this shell. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. Output Arguments: material_orient_id - The material orientation id. 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 ProMechshelladvancedFree (ProMechShellAdvancedData data); /* Purpose: Frees the memory for a Creo Simulate advanced shell 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 ProMechshellReferencesSet (ProMechItem* item, ProMechGeomref* references); /* Purpose: Sets the references for the shell. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. 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_OUT_OF_MEMORY - There is not enough memory to perform the operation. PRO_TK_CANT_MODIFY - Cannot modify the item. PRO_TK_GENERAL_ERROR - A general error is encountered. */ extern ProError ProMechshellMaterialIdSet (ProMechItem* item, int matl_id); /* Purpose: Sets the material id for shell. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. matl_id - The Material id. 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 ProMechshellSimpledataSet (ProMechItem* item, ProMechShellSimpleData data); /* Purpose: Sets the simple shell data. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. 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_CANT_WRITE - Subtype cannot be changed. 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 ProMechshellAdvanceddataSet (ProMechItem* item, ProMechShellAdvancedData data); /* Purpose: Sets the advanced shell data. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. 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_CANT_WRITE - Subtype cannot be changed. 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 ProMechshellsimpleThicknessSet (ProMechShellSimpleData item, ProMechExpression thickness); /* Purpose: Sets the thickness for the shell. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. thickness - The thickness. 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 ProMechshellsimpleAlloc (ProMechShellSimpleData* data); /* Purpose: Allocates the memory for a Creo Simulate simple shell 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 ProMechshelladvancedShellpropsSet (ProMechShellAdvancedData item, int shell_props_id); /* Purpose: Sets the shell properties id for this shell. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. shell_props_id - The shell properties id. 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 ProMechshelladvancedMaterialorientSet (ProMechShellAdvancedData item, int material_orient_id); /* Purpose: Sets the material orientation id for this shell. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The shell. material_orient_id - The material orientation id. 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 ProMechshelladvancedAlloc (ProMechShellAdvancedData* data); /* Purpose: Allocates the memory for a Creo Simulate advanced shell 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. */ PRO_END_C_DECLS #endif /* PROMECHSHELL_H */