#ifndef PROMECHMASSPROPS_H
#define PROMECHMASSPROPS_H
#include <ProToolkit.h>
#include <ProObjects.h>
#include <ProMechItem.h>
#include <ProMechMatrix.h>
PRO_BEGIN_C_DECLS
typedef enum
{
PRO_MECH_MASSPROPS_MASS = 0, /* ProMechExpression */
PRO_MECH_MASSPROPS_MOMENTS = 1 /* ProMechMatrix (3x3, symmetrical)
[ Ixx Ixy Ixz ]
[ Iyy Iyz ]
[ Izz ]
*/
}
ProMechMasspropsPropertyType;
typedef double ProMechMassMoments[6]; /* deprecated */
extern ProError ProMechmasspropsDescriptionGet (ProMechItem* item,
ProComment description);
/*
Purpose: Obtains the description of the mass property object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The mass property.
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 is encountered.
*/
extern ProError ProMechmasspropsMassGet (ProMechItem* item,
double* mass);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechMasspropsExpressionGet() instead.
<p> Obtains the mass value of the mass property object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The mass property.
Output Arguments:
mass - The mass.
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.
*/
extern ProError ProMechmasspropsMomentsGet (ProMechItem* item,
ProMechMassMoments moments);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechMasspropsMatrixGet() instead.
<p> Obtains the moments of intertia of the mass property object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The mass property.
Output Arguments:
moments - "The moments of intertia (Ixx, Ixy, Ixz, Iyy, Iyz, Izz)."
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.
*/
extern ProError ProMechmasspropsDescriptionSet (ProMechItem* item, ProComment description);
/*
Purpose: Sets the description of the mass property object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The mass property.
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_CANT_ACCESS - Cannot access the object in the current mode.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_CANT_MODIFY - Cannot modify the item.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechmasspropsMassSet (ProMechItem* item, double mass);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechMasspropsExpressionSet() instead.
<p> Sets the mass value of the mass property object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The mass property.
mass - The mass.
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_CANT_ACCESS - Cannot access the object in the current mode.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_CANT_MODIFY - Cannot modify the item.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechmasspropsMomentsSet (ProMechItem* item, ProMechMassMoments moments);
/*
Purpose: <B>Note</B>: This function is deprecated. Use
ProMechMasspropsMatrixSet() instead.
<p> Sets the moments of intertia of the mass property object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The mass property.
moments - "The moments of intertia (Ixx, Ixy, Ixz, Iyy, Iyz, Izz)."
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_CANT_ACCESS - Cannot access the object in the current mode.
PRO_TK_BAD_CONTEXT - The Creo Simulate session is not initialized.
PRO_TK_INVALID_PTR - The Input ProMechItem Solid pointer is invalid.
PRO_TK_CANT_MODIFY - Cannot modify the item.
PRO_TK_GENERAL_ERROR - A general error is encountered.
*/
extern ProError ProMechMasspropsExpressionGet (ProMechItem* item,
ProMechMasspropsPropertyType type,
ProMechExpression expr);
/*
Purpose: Obtains the value corresponding to 'type' of the mass property
object. Use ProMathExpressionEvaluate() to evaluate the value.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The mass property.
type - The mass property type.
Output Arguments:
expr - The property value (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 ProMechMasspropsExpressionSet (ProMechItem* item,
ProMechMasspropsPropertyType type,
ProMechExpression expr);
/*
Purpose: Sets the value corresponding to 'type' of the mass property
object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The mass property.
type - The mass property type.
expr - The property value (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 ProMechMasspropsMatrixGet (ProMechItem * item,
ProMechMasspropsPropertyType type,
ProMechMatrix * matrix);
/*
Purpose: Obtains the matrix corresponding to 'type' of the mass property
object. Use ProMathExpressionEvaluate() to evaluate each
component.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The mass property.
type - The mass property type.
Output Arguments:
matrix - The property value (matrix). The function allocates memory for
this argument. Use ProMechMatrixFree() 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.
*/
extern ProError ProMechMasspropsMatrixSet (ProMechItem * item,
ProMechMasspropsPropertyType type,
ProMechMatrix matrix);
/*
Purpose: Sets the matrix corresponding to 'type' of the mass property
object.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
item - The mass property.
type - The mass property type.
matrix - The property value (martix).
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.
*/
PRO_END_C_DECLS
#endif /* PROMECHMASSPROPS_H */