#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 */