#ifndef PROMECHYDIRECTION_H #define PROMECHYDIRECTION_H #include <ProToolkit.h> #include <ProObjects.h> #include <ProMechGeomref.h> #include <ProObjects.h> PRO_BEGIN_C_DECLS typedef struct pro_y_direction* ProMechYDirection; typedef enum { PRO_MECH_YDIR_VECTOR = 0, PRO_MECH_YDIR_REF = 1, PRO_MECH_YDIR_CSYS = 2, PRO_MECH_XDIR_ALONG_REF = 3 /* Only for 2D models */ } ProMechYDirectionType; extern ProError ProMechydirectionTypeGet (ProMechYDirection handle, ProMechYDirectionType* type); /* Purpose: Obtains the type of y-direction. Licensing Requirement: UNRECOGNIZED Input Arguments: handle - The y-direction handle. Output Arguments: type - The 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 ProMechydirectionCsysGet (ProMechYDirection handle, ProMechGeomref* csys); /* Purpose: Obtains the coordinate system of the y-direction, used for 'csys' types. Licensing Requirement: UNRECOGNIZED Input Arguments: handle - The y-direction. 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_INVALID_TYPE - This type of y-direction does not use a coordinate system. PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the operation. See Also: ProMechydirectionTypeGet() */ extern ProError ProMechydirectionVectorGet (ProMechYDirection handle, ProVector vector); /* Purpose: Obtains the vector, if the y-direction type is 'vector'. Licensing Requirement: UNRECOGNIZED Input Arguments: handle - The y-direction. 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 - This type of y-direction does not use a vector. See Also: ProMechydirectionTypeGet() */ extern ProError ProMechydirectionReferenceGet (ProMechYDirection handle, ProMechGeomref* reference); /* Purpose: Obtains the reference entity, if the type is 'reference'. Licensing Requirement: UNRECOGNIZED Input Arguments: handle - The y-direction. Output Arguments: reference - The reference entity. 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_INVALID_TYPE - This type of y-direction does not use a reference entity. PRO_TK_OUT_OF_MEMORY - There is not enough memory to perform the operation. See Also: ProMechydirectionTypeGet() */ extern ProError ProMechydirectionFree (ProMechYDirection handle); /* Purpose: Frees the memory for a Creo Simulate y-direction handle. Licensing Requirement: UNRECOGNIZED Input Arguments: handle - 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 ProMechydirectionCsysSet (ProMechYDirection handle, ProMechGeomref csys); /* Purpose: Sets the coordinate system of the y-direction, used for 'csys' types Licensing Requirement: UNRECOGNIZED Input Arguments: handle - The ydirection. 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 ProMechydirectionVectorSet (ProMechYDirection handle, ProVector vector); /* Purpose: Sets the vector, if the y-direction type is 'vector'. Licensing Requirement: UNRECOGNIZED Input Arguments: handle - The ydirection. 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 ProMechydirectionReferenceSet (ProMechYDirection handle, ProMechGeomref reference); /* Purpose: Sets the reference entity, if the type is 'reference'. Licensing Requirement: UNRECOGNIZED Input Arguments: handle - The ydirection. reference - The reference entity. 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 ProMechydirectionAlloc (ProMechYDirection* handle); /* Purpose: Allocates the memory for a Creo Simulate y-direction handle. Licensing Requirement: UNRECOGNIZED Input Arguments: none Output Arguments: handle - 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 /* PROMECHYDIRECTION_H */