#ifndef PROMECHBEAMORIENT_H
#define PROMECHBEAMORIENT_H
#include <ProToolkit.h>
#include <ProObjects.h>
#include <ProMechItem.h>
#include <ProMechVector.h>
PRO_BEGIN_C_DECLS
typedef struct pro_beam_orient_data_int* ProMechBeamOrientData;
typedef enum
{
PRO_MECH_BEAM_ORIENT_OFFSET_TYPE = 0, /* ProMechBeamOrientType (int) */
PRO_MECH_BEAM_ORIENT_ANGLE = 1, /* ProMechExpression */
PRO_MECH_BEAM_ORIENT_OFFSET = 2 /* ProMechVector (3)
[ Dx Dy Dz ]
*/
}
ProMechBeamorientPropertyType;
typedef enum
{
PRO_MECH_BEAM_ORIENT_OFFSET_SHAPE_ORIGIN = 0,
PRO_MECH_BEAM_ORIENT_OFFSET_CENTROID = PRO_MECH_BEAM_ORIENT_OFFSET_SHAPE_ORIGIN,
PRO_MECH_BEAM_ORIENT_OFFSET_SHEAR_CENTER = 1
}
ProMechBeamOrientType;
extern ProError ProMechbeamorientDescriptionGet (ProMechItem* item,
ProComment description);
/*
Purpose: Obtains the beam orientation description.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam 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_OUT_OF_MEMORY - There is not enough memory to perform the
operation.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechbeamorientDataGet (ProMechItem* item,
ProMechBeamOrientData* value);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechBeamorientVectorGet(), ProMechBeamorientExpressionGet()
instead.
<p> Obtains the beam orientation data from a beam orientation
item.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam orientation.
Output Arguments:
value - The beam orientation data. Free this using
ProMechbeamorientdataFree()
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 ProMechbeamorientdataTypeGet (ProMechBeamOrientData data,
ProMechBeamOrientType* type);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechBeamorientIntegerGet() instead.
<p> Obtains the type of orientation used in the beam orientation
data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam orientation data.
Output Arguments:
type - The 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 ProMechbeamorientdataVectorGet (ProMechBeamOrientData data,
ProVector vector);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechBeamorientVectorGet() instead.
<p> Obtains the direction of the beam orientation.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam orientation data.
Output Arguments:
vector - The orientation 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.
*/
extern ProError ProMechbeamorientdataAngleGet (ProMechBeamOrientData data,
double* angle);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechBeamorientExpressionGet() instead.
<p> Obtains the angle of the beam orientation.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam orientation data.
Output Arguments:
angle - The angle in degrees.
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 ProMechbeamorientdataFree (ProMechBeamOrientData data);
/*
Purpose: <B>Note</B>: This function is deprecated.
<p> Frees the memory for a Creo Simulate beam 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 ProMechbeamorientDescriptionSet (ProMechItem* item, ProComment description);
/*
Purpose: Sets the beam orientation description.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam 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 is encountered.
PRO_TK_CANT_MODIFY - Cannot modify the item.
PRO_TK_CANT_ACCESS - Cannot access the object in the current mode.
*/
extern ProError ProMechbeamorientDataSet (ProMechItem* item, ProMechBeamOrientData value);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechBeamorientVectorSet(), ProMechBeamorientExpressionSet()
instead.
<p> Sets the beam orientation data from a beam orientation item.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam orientation.
value - The beam 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_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_GENERAL_ERROR - A general error is encountered.
PRO_TK_CANT_MODIFY - Cannot modify the item.
PRO_TK_CANT_ACCESS - Cannot access the object in the current mode.
*/
extern ProError ProMechbeamorientdataTypeSet (ProMechBeamOrientData data, ProMechBeamOrientType type);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechBeamorientIntegerSet() instead.
<p> Sets the type of orientation used in the beam orientation
data.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam orientation data.
type - The orientation 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 ProMechbeamorientdataVectorSet (ProMechBeamOrientData data, ProVector vector);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechBeamorientVectorSet() instead.
<p> Sets the direction of the beam orientation.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam orientation data.
vector - The orientation 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 ProMechbeamorientdataAngleSet (ProMechBeamOrientData data, double angle);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechBeamorientExpressionSet() instead.
<p> Sets the angle of the beam orientation.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
data - The beam orientation data.
angle - The angle in degrees.
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 ProMechbeamorientdataAlloc (ProMechBeamOrientData* data);
/*
Purpose: <B>Note</B>: This function is deprecated.
<p> Allocates the memory for a Creo Simulate beam 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 ProMechBeamorientIntegerSet (ProMechItem * item,
ProMechBeamorientPropertyType type,
int data);
/*
Purpose: Sets the integer value corresponding to 'type' of the beam
orientation.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam orientation.
type - The property type. (Allowed property types:
PRO_MECH_BEAM_ORIENT_OFFSET_TYPE)
data - The property value.
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_ACCESS - Cannot modify the item.
PRO_TK_NO_LICENSE - No license was available to enable this function.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechBeamorientIntegerGet (ProMechItem * item,
ProMechBeamorientPropertyType type,
int * data);
/*
Purpose: Obtains the integer value corresponding to 'type' of the beam
orientation.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam orientation.
type - The property type. (Allowed property types:
PRO_MECH_BEAM_ORIENT_OFFSET_TYPE)
Output Arguments:
data - The property value.
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_NO_LICENSE - No license was available to enable this function.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechBeamorientExpressionSet (
ProMechItem * item,
ProMechBeamorientPropertyType type,
ProMechExpression expr);
/*
Purpose: Obtains the value corresponding to 'type' of the beam orientation.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam orientation.
type - The beam orientation property type. (Allowed property types:
PRO_MECH_BEAM_ORIENT_ANGLE)
expr - The expression.
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_MODIFY - Cannot modify the item.
PRO_TK_NO_LICENSE - No license was available to enable this function.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechBeamorientExpressionGet (
ProMechItem * item,
ProMechBeamorientPropertyType type,
ProMechExpression expr);
/*
Purpose: Obtains the value corresponding to 'type' of the beam orientation.
Use ProMathExpressionEvaluate() to evaluate it.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam orientation.
type - The beam orientation property type. (Allowed property types:
PRO_MECH_BEAM_ORIENT_ANGLE)
Output Arguments:
expr - The expression.
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_NO_LICENSE - No license was available to enable this function.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechBeamorientVectorSet (ProMechItem * item,
ProMechBeamorientPropertyType type,
ProMechVector vector);
/*
Purpose: Sets the Vector corresponding to 'type' of the beam orientation.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam orientation.
type - The beam orientation property type. (Allowed property types:
PRO_MECH_BEAM_ORIENT_OFFSET)
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.
PRO_TK_CANT_MODIFY - Cannot modify the item.
PRO_TK_NO_LICENSE - No license was available to enable this function.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechBeamorientVectorGet (
ProMechItem * item,
ProMechBeamorientPropertyType type,
ProMechVector * vector);
/*
Purpose: Obtains the vector corresponding to 'type' of the beam orientation
object. Use ProMathExpressionEvaluate() to evaluate each moment.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The beam orientation.
type - The beam orientation property type. (Allowed property types:
PRO_MECH_BEAM_ORIENT_OFFSET)
Output Arguments:
vector - The vector. The function allocates memory for this argument.
Use ProMechVectorFree() to free it.
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_TK_NO_LICENSE - No license was available to enable this function.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
PRO_END_C_DECLS
#endif /* PROMECHBEAMORIENT_H */