#ifndef PROMECHMATERIALORIENT_H #define PROMECHMATERIALORIENT_H #include <ProToolkit.h> #include <ProObjects.h> #include <ProSizeConst.h> #include <ProMechValue.h> PRO_BEGIN_C_DECLS typedef enum { PRO_MECH_MATLORI_OBJ_NONE = PRO_VALUE_UNUSED, PRO_MECH_MATLORI_MODEL = 1, PRO_MECH_MATLORI_SURFACE = 2 } ProMechMaterialOrientObjType; typedef enum { PRO_MECH_MATLORI_NONE = PRO_VALUE_UNUSED, PRO_MECH_MATLORI_COORD_SYSTEM = 1, PRO_MECH_MATLORI_1_DIR = 2, PRO_MECH_MATLORI_2_DIR = 3, PRO_MECH_MATLORI_3_DIR = 4, /* not used */ PRO_MECH_MATLORI_PROJ_VECTOR = 5 } ProMechMaterialOrientType; typedef enum { PRO_MECH_MATLORI_CSYS_PROJ_NONE = PRO_VALUE_UNUSED, PRO_MECH_MATLORI_CSYS_PROJ_CLOSEST = 0, PRO_MECH_MATLORI_CSYS_PROJ_X = 1, PRO_MECH_MATLORI_CSYS_PROJ_Y = 2, /* not used for now */ PRO_MECH_MATLORI_CSYS_PROJ_Z = 3 /* not used for now */ } ProMechMaterialOrientCsysProjType; typedef enum { PRO_MECH_MATLORI_PROJ_NONE = PRO_VALUE_UNUSED, PRO_MECH_MATLORI_PROJ_XYZ = 1, PRO_MECH_MATLORI_PROJ_POINTS = 2 } ProMechMaterialOrientProjType; typedef struct pro_matlorient_data* ProMechMaterialOrientData; typedef struct pro_matlorient_csys* ProMechMaterialOrientCsys; typedef struct pro_matlorient_proj* ProMechMaterialOrientProj; typedef double ProMechMaterialOrientRotation[3]; typedef enum { PRO_MECH_MATLORI_CSYS_AXIS_X = 0, PRO_MECH_MATLORI_CSYS_AXIS_Y = 1, PRO_MECH_MATLORI_CSYS_AXIS_Z = 2 } ProMechMaterialOrientCsysAxis; extern ProError ProMechmaterialorientDescriptionGet (ProMechItem* item, ProComment description); /* Purpose: Obtains the description of the material orientation object. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The material orientation. 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 was encountered. */ extern ProError ProMechmaterialorientObjecttypeGet (ProMechItem* item, ProMechMaterialOrientObjType* type); /* Purpose: Obtains the type of object for the material orientation object. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The material orientation. Output Arguments: type - The object 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 was encountered. */ extern ProError ProMechmaterialorientDataGet (ProMechItem* item, ProMechMaterialOrientData* data); /* Purpose: Obtains the data for the material orientation object. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The material orientation. Output Arguments: data - The data. Free this using ProMechmaterialorientdataFree(). 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 was encountered. PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the operation. */ extern ProError ProMechmaterialorientdataTypeGet (ProMechMaterialOrientData data, ProMechMaterialOrientType* type); /* Purpose: Obtains the type of material orientation. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation data. Output Arguments: type - The material orientation 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 ProMechmaterialorientdataCsysdataGet (ProMechMaterialOrientData data, ProMechMaterialOrientCsys* csys_data); /* Purpose: Obtains the coordinate system orientation data for the material orientation data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation data. Output Arguments: csys_data - The csys data. Free this using ProMechmaterialorientcsysFree(). 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_TYPE - The data does not contain this type of material orientation. PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the operation. See Also: ProMechmaterialorientdataTypeGet() */ extern ProError ProMechmaterialorientdataProjectiondataGet (ProMechMaterialOrientData data, ProMechMaterialOrientProj* proj_data); /* Purpose: Obtains the projection orientation data for the material orientation data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation data. Output Arguments: proj_data - The projection data. Free this using ProMechmaterialorientprojFree(). 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_TYPE - The data does not contain this type of material orientation. PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the operation. See Also: ProMechmaterialorientdataTypeGet() */ extern ProError ProMechmaterialorientdataRotationGet (ProMechMaterialOrientData data, ProMechMaterialOrientRotation rotation); /* Purpose: Obtains the rotation angles for the material orientation of type PRO_MECH_MATLORI_MODEL. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation data. Output Arguments: rotation - The angles. 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 - The material orientation data does not contain a rotation. PRO_TK_INVALID_TYPE - The material orientation data type is not PRO_MECH_MATLORI_MODEL. */ extern ProError ProMechmaterialorientdataFree (ProMechMaterialOrientData data); /* Purpose: Frees the memory for a Creo Simulate material orientation 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 ProMechmaterialorientcsysCsysGet (ProMechMaterialOrientCsys data, ProMechGeomref* csys); /* Purpose: Obtains the coordinate system used in the material orientation csys data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation csys data. Output Arguments: csys - The coordinate system. Free this using ProMechgeomrefFree(). 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 ProMechmaterialorientcsysXaxisGet (ProMechMaterialOrientCsys data, ProMechMaterialOrientCsysAxis* x_axis); /* Purpose: Obtains the coordinate system axis mapped to the the X-axis of the material orientation. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation csys data. Output Arguments: x_axis - The X-axis. 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 ProMechmaterialorientcsysYaxisGet (ProMechMaterialOrientCsys data, ProMechMaterialOrientCsysAxis* y_axis); /* Purpose: Obtains the coordinate system axis mapped to the the Y-axis of the material orientation. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation csys data. Output Arguments: y_axis - The Y-axis. 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 ProMechmaterialorientcsysZaxisGet (ProMechMaterialOrientCsys data, ProMechMaterialOrientCsysAxis* z_axis); /* Purpose: Obtains the coordinate system axis mapped to the the Z-axis of the material orientation. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation csys data. Output Arguments: z_axis - The Z-axis. 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 ProMechmaterialorientcsysProjectiontypeGet (ProMechMaterialOrientCsys data, ProMechMaterialOrientCsysProjType* type); /* Purpose: Obtains the projection type for the csys material orientation data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation csys data. Output Arguments: type - The projection 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 ProMechmaterialorientcsysFree (ProMechMaterialOrientCsys data); /* Purpose: Frees the memory for a Creo Simulate material orientation 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 ProMechmaterialorientprojTypeGet (ProMechMaterialOrientProj data, ProMechMaterialOrientProjType* type); /* Purpose: Obtains the type of projection assigned to the material orientation. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation projection data. Output Arguments: type - The projection 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 ProMechmaterialorientprojXyzvectorGet (ProMechMaterialOrientProj data, ProVector vector); /* Purpose: Obtains the vector used for projection of the material orientation data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation projection data. Output Arguments: vector - The vector. 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_TYPE - The data does not contain this type of projection. */ extern ProError ProMechmaterialorientprojPointsGet (ProMechMaterialOrientProj data, ProMechGeomref** points); /* Purpose: Obtains the two points used for projection in this material orientation data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation projection data. Output Arguments: points - ProArray of points used for projection. 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_TYPE - The data does not contain this type of projection. PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the operation. PRO_TK_GENERAL_ERROR - A general error was encountered. */ extern ProError ProMechmaterialorientprojFree (ProMechMaterialOrientProj data); /* Purpose: Frees the memory for a Creo Simulate material orientation 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 ProMechmaterialorientdataObjecttypeGet (ProMechMaterialOrientData data, ProMechMaterialOrientObjType* type); /* Purpose: Obtains the type of object for the material orientation object. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation data. Output Arguments: type - The object 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.tion. */ extern ProError ProMechmaterialorientdataSurfacerotationGet (ProMechMaterialOrientData data, double *rotation); /* Purpose: Obtains the rotation angle for the material orientation if the orientation type is PRO_MECH_MATLORI_SURFACE. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation data. Output Arguments: rotation - The rotation angle. 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_TYPE - The material orientation data type is not PRO_MECH_MATLORI_SURFACE. PRO_TK_E_NOT_FOUND - The material orientation data does not contain a rotation. */ extern ProError ProMechmaterialorientDescriptionSet (ProMechItem* item, ProComment description); /* Purpose: Sets the description of the material orientation object. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The material orientation. 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_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 was encountered. PRO_TK_CANT_ACCESS - Cannot access the object in the current mode. PRO_TK_CANT_MODIFY - Cannot modify the item. */ extern ProError ProMechmaterialorientDataSet (ProMechItem* item, ProMechMaterialOrientData data); /* Purpose: Sets the data for the material orientation object. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The material orientation. 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_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 was encountered. PRO_TK_CANT_ACCESS - Cannot access the object in the current mode. PRO_TK_CANT_MODIFY - Cannot modify the item. */ extern ProError ProMechmaterialorientdataCsysdataSet (ProMechMaterialOrientData data, ProMechMaterialOrientCsys csys_data); /* Purpose: Sets the coordinate system orientation data for the material orientation data. In FEM mode, this data should be compulsorily set and ProMechMaterialOrientCsysProjType should be set to PRO_MECH_MATLORI_CSYS_PROJ_X. In Native mode, if ProMechMaterialOrientObjType is PRO_MECH_MATLORI_MODEL, then, this data should be compulsorily set and ProMechMaterialOrientCsysProjType should be set to PRO_MECH_MATLORI_CSYS_PROJ_CLOSEST. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation data. csys_data - The csys 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_BAD_CONTEXT - The Creo Simulate session is not initialized. */ extern ProError ProMechmaterialorientdataProjectiondataSet (ProMechMaterialOrientData data, ProMechMaterialOrientProj proj_data); /* Purpose: Sets the projection orientation data for the material orientation data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation data. proj_data - The projection 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_BAD_CONTEXT - The Creo Simulate session is not initialized. */ extern ProError ProMechmaterialorientdataFirstdirectionSet (ProMechMaterialOrientData data); /* Purpose: Sets the material orient data to use first direction as its orientation type. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation 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_BAD_CONTEXT - The Creo Simulate session is not initialized. */ extern ProError ProMechmaterialorientdataSeconddirectionSet (ProMechMaterialOrientData data); /* Purpose: Sets the material orient data to use second direction as its orientation type. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation 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_BAD_CONTEXT - The Creo Simulate session is not initialized. */ extern ProError ProMechmaterialorientdataRotationSet (ProMechMaterialOrientData data, ProMechMaterialOrientRotation rotation); /* Purpose: Sets the rotation angles for the material orientation of type PRO_MECH_MATLORI_MODEL. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation data. rotation - The angles. 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 - Subtype cannot be changed. */ extern ProError ProMechmaterialorientdataAlloc (ProMechMaterialOrientData* data); /* Purpose: Allocates the memory for a Creo Simulate material orientation 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 ProMechmaterialorientcsysCsysSet (ProMechMaterialOrientCsys data, ProMechGeomref csys); /* Purpose: Sets the coordinate system used in the material orientation csys data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation csys data. csys - The coordinate system. 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 ProMechmaterialorientcsysXaxisSet (ProMechMaterialOrientCsys data, ProMechMaterialOrientCsysAxis x_axis); /* Purpose: Sets the coordinate system axis mapped to the the X-axis of the material orientation. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation csys data. x_axis - The Xaxis. 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 ProMechmaterialorientcsysYaxisSet (ProMechMaterialOrientCsys data, ProMechMaterialOrientCsysAxis y_axis); /* Purpose: Sets the coordinate system axis mapped to the the Y-axis of the material orientation. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation csys data. y_axis - The Yaxis. 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 ProMechmaterialorientcsysZaxisSet (ProMechMaterialOrientCsys data, ProMechMaterialOrientCsysAxis z_axis); /* Purpose: Sets the coordinate system axis mapped to the the Z-axis of the material orientation. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation csys data. z_axis - The Zaxis. 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 ProMechmaterialorientcsysProjectiontypeSet (ProMechMaterialOrientCsys data, ProMechMaterialOrientCsysProjType type); /* Purpose: Sets the projection type for the csys material orientation data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation csys data. type - The projection 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 ProMechmaterialorientcsysAlloc (ProMechMaterialOrientCsys* data); /* Purpose: Allocates the memory for a Creo Simulate material orientation 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 ProMechmaterialorientprojXyzvectorSet (ProMechMaterialOrientProj data, ProVector vector); /* Purpose: Sets the vector used for projection of the material orientation data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation projection data. vector - The 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. */ extern ProError ProMechmaterialorientprojPointsSet (ProMechMaterialOrientProj data, ProMechGeomref* points); /* Purpose: Sets the two points used for projection in this material orientation data. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation projection data. points - ProArray of points used for projection. (NOTE: Only PRO_MECH_POINT_SINGLE, PRO_MECH_VERTEX_EDGE_START and PRO_MECH_VERTEX_EDGE_END type points are allowed) 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 ProMechmaterialorientprojAlloc (ProMechMaterialOrientProj* data); /* Purpose: Allocates the memory for a Creo Simulate material orientation 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 ProMechmaterialorientdataObjecttypeSet (ProMechMaterialOrientData data, ProMechMaterialOrientObjType type); /* Purpose: Sets the type of object for the material orientation object. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation data. type - The object 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 ProMechmaterialorientdataSurfacerotationSet (ProMechMaterialOrientData data, double rotation); /* Purpose: Assigns the rotation angle for the material orientation if the orientation type is PRO_MECH_MATLORI_SURFACE. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation data. rotation - The rotation angle. 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 - Subtype cannot be changed. */ extern ProError ProMechmaterialorientdataSurfacerotationUnset (ProMechMaterialOrientData data); /* Purpose: Removes the rotation angle for the material orientation if the orientation type is PRO_MECH_MATLORI_SURFACE. Licensing Requirement: UNRECOGNIZED Input Arguments: data - The material orientation 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_BAD_CONTEXT - The Creo Simulate session is not initialized. PRO_TK_CANT_WRITE - Subtype cannot be changed. */ PRO_END_C_DECLS #endif /* PROMECHMATERIALORIENT_H */