#ifndef PROMECHGEOMREF_H #define PROMECHGEOMREF_H #include <ProToolkit.h> #include <ProObjects.h> typedef enum { PRO_MECH_GEOMREF_UNUSED = PRO_VALUE_UNUSED, PRO_MECH_POINT = 0, PRO_MECH_EDGE = 1, PRO_MECH_SURFACE = 2, PRO_MECH_VERTEX = 3, PRO_MECH_QUILT = 4, PRO_MECH_BOUNDARY = 5, /* All Surfaces */ PRO_MECH_CURVE = 6, PRO_MECH_MODEL = 7, /* Whole Part / Assembly */ PRO_MECH_AXIS = 8, PRO_MECH_COORD_SYSTEM = 9, PRO_MECH_LAYER = 10, PRO_MECH_VOLUME = 11, PRO_MECH_INT_PNT = 12, PRO_MECH_INT_CURVE = 13, PRO_MECH_INT_EDGE = 14, PRO_MECH_INT_SURFACE = 15, PRO_MECH_FEAT = 16, PRO_MECH_COSMETIC = 17, PRO_MECH_BODY = 18 } ProMechGeomrefType; typedef enum { PRO_MECH_GEOMREF_SUBTYPE_UNUSED = PRO_VALUE_UNUSED, /* Point sub-types */ PRO_MECH_POINT_SINGLE = 0, PRO_MECH_POINT_FEATURE = 1, PRO_MECH_POINT_PATTERN = 2, PRO_MECH_POINT_LATT_SINGLE = 3, /* Reserved for internal use */ PRO_MECH_POINT_LATT_SET = 4, /* Reserved for internal use */ /* Vertex sub-types */ PRO_MECH_VERTEX_EDGE_START = 10, PRO_MECH_VERTEX_EDGE_END = 11, /* Coordinate System sub-types */ PRO_MECH_CSYS_CARTESIAN = 20, PRO_MECH_CSYS_CYLINDRICAL = 21, PRO_MECH_CSYS_SPHERICAL = 22, /* Surfaces sub-types */ PRO_MECH_SURFACE_NORMAL = PRO_MECH_GEOMREF_SUBTYPE_UNUSED, PRO_MECH_SURFACE_REVERSED = 31, /* Edge/Curve sub-types */ PRO_MECH_CURVE_NORMAL = PRO_MECH_GEOMREF_SUBTYPE_UNUSED, PRO_MECH_CURVE_REVERSED = 41, /* Edge sub-types */ PRO_MECH_EDGE_SURF_0 = 50, PRO_MECH_EDGE_SURF_1 = 51, /* Simplified lattices sub-types */ PRO_MECH_FEAT_3D_LATT = 61, PRO_MECH_FEAT_2P5D_LATT = 62 } ProMechGeomrefSubType; #define PRO_MECH_WCS (-2) /* use it as Csys "id" for referencing WCS */ typedef struct pro_sim_entity* ProMechGeomref; PRO_BEGIN_C_DECLS extern ProError ProMechgeomrefTypeGet (ProMechGeomref entity, ProMechGeomrefType* type); /* Purpose: Obtains the entity type. Licensing Requirement: UNRECOGNIZED Input Arguments: entity - The entity. Output Arguments: type - The type. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session was not initialized. PRO_TK_NO_LICENSE - No license was available to enable this function. */ extern ProError ProMechgeomrefTypeSet (ProMechGeomref entity, ProMechGeomrefType type); /* Purpose: Sets the entity type. Licensing Requirement: UNRECOGNIZED Input Arguments: entity - The entity. type - The type. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session was not initialized. PRO_TK_NO_LICENSE - No license was available to enable this function. */ extern ProError ProMechgeomrefSubtypeGet (ProMechGeomref entity, ProMechGeomrefSubType* sub_type); /* Purpose: Obtains the entity subtype. Licensing Requirement: UNRECOGNIZED Input Arguments: entity - The entity. Output Arguments: sub_type - The subtype. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session was not initialized. PRO_TK_NO_LICENSE - No license was available to enable this function. */ extern ProError ProMechgeomrefSubtypeSet (ProMechGeomref entity, ProMechGeomrefSubType sub_type); /* Purpose: Sets the entity subtype. Licensing Requirement: UNRECOGNIZED Input Arguments: entity - The entity. sub_type - The subtype. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session was not initialized. PRO_TK_NO_LICENSE - No license was available to enable this function. */ extern ProError ProMechgeomrefIdGet (ProMechGeomref entity, int* id); /* Purpose: Obtains the entity id. Licensing Requirement: UNRECOGNIZED Input Arguments: entity - The entity. Output Arguments: id - The entity id. Creo Simulate uses PRO_MECH_WCS as the id of the default world coordinate system. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session was not initialized. PRO_TK_NO_LICENSE - No license was available to enable this function. */ extern ProError ProMechgeomrefIdSet (ProMechGeomref entity, int id); /* Purpose: Sets the entity id. Licensing Requirement: UNRECOGNIZED Input Arguments: entity - The entity. id - The entity id. Creo Simulate uses PRO_MECH_WCS as the id of the default world coordinate system. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session was not initialized. PRO_TK_NO_LICENSE - No license was available to enable this function. */ extern ProError ProMechgeomrefPathGet (ProMechGeomref entity, ProAsmcomppath* path); /* Purpose: Obtains the component path to the entity. Licensing Requirement: UNRECOGNIZED Input Arguments: entity - The entity. Output Arguments: path - The component path. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session was not initialized. PRO_TK_NO_LICENSE - No license was available to enable this function. */ extern ProError ProMechgeomrefPathSet (ProMechGeomref entity, ProAsmcomppath* path); /* Purpose: Sets the component path to the entity. Licensing Requirement: UNRECOGNIZED Input Arguments: entity - The entity. path - The component path. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session was not initialized. PRO_TK_NO_LICENSE - No license was available to enable this function. */ extern ProError ProMechgeomrefAlloc (ProMechGeomref* entity); /* Purpose: Allocates the memory for a Creo Simulate geometric entity. Licensing Requirement: UNRECOGNIZED Input Arguments: none Output Arguments: entity - The handle. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session was not initialized. PRO_TK_NO_LICENSE - No license was available to enable this function. */ extern ProError ProMechgeomrefFree (ProMechGeomref entity); /* Purpose: Frees the memory for a Creo Simulate geometric entity. Licensing Requirement: UNRECOGNIZED Input Arguments: entity - The handle. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session was not initialized. PRO_TK_NO_LICENSE - No license was available to enable this function. */ extern ProError ProMechgeomrefProarrayFree (ProMechGeomref* entity); /* Purpose: Frees the memory for a ProArray of Creo Simulate geometric entities. Licensing Requirement: UNRECOGNIZED Input Arguments: entity - The array. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The Creo Simulate session was not initialized. PRO_TK_NO_LICENSE - No license was available to enable this function. */ PRO_END_C_DECLS #endif /* PROMECHGEOMREF_H */