#ifndef PROMOVEH
#define PROMOVEH
#include <ProToolkit.h>
#include <ProDirection.h>
#include <ProFeature.h>
PRO_BEGIN_C_DECLS
/*****************************************************************************\
Feature element tree
PRO_E_FEATURE_TREE
|
|--PRO_E_FEATURE_TYPE
|
|--PRO_E_SRF_TRANS_TYPE
|
|--PRO_E_STD_FEATURE_NAME
|
|--PRO_E_SRF_TR_SURF_SELECTION
|
|--PRO_E_MOVE_WITH_COPY
|
|--PRO_E_MOVE_GEOM_TRF_ARR
|
|--PRO_E_MOVE_GEOM_TRF
|
|--PRO_E_SRF_TR_MOVE_TYPE
|--PRO_E_DIRECTION_COMPOUND
|--PRO_E_SRF_TR_VAL_ELEM
Feature elements table
------------------------------------------------------------------------------------------------
Element Id Element Name Data Type
------------------------------------------------------------------------------------------------
PRO_E_FEATURE_TYPE Feature Type PRO_VALUE_TYPE_INT
PRO_E_SRF_TRANS_TYPE Transform Type PRO_VALUE_TYPE_INT
PRO_E_STD_FEATURE_NAME Feature Name PRO_VALUE_TYPE_WSTRING
PRO_E_SRF_TR_SURF_SELECTION Surface Selection PRO_VALUE_TYPE_SELECTION
( Multivalued Element )
PRO_E_MOVE_WITH_COPY move with copy PRO_VALUE_TYPE_INT
PRO_E_MOVE_GEOM_TRF_ARR Sets Array
PRO_E_MOVE_GEOM_TRF Set Compound
PRO_E_SRF_TR_MOVE_TYPE move type PRO_VALUE_TYPE_INT
PRO_E_DIRECTION_COMPOUND Direction Compound
PRO_E_SRF_TR_VAL_ELEM offset_or_angle PRO_VALUE_TYPE_DOUBLE
-------------------------------------------------------------------------
Table Move:1 : Common element for all type of Move and it's value
-------------------------------------------------------------------------
| Element Id | Value |
-------------------------------------------------------------------------
| | |
| PRO_E_FEATURE_TYPE | = PRO_FEAT_SRF_MDL |
| | |
-------------------------------------------------------------------------
| | |
| PRO_E_SRF_TRANS_TYPE | = PRO_SURF_TRANS_TYPE_MOVE |
| | |
-------------------------------------------------------------------------
| | |
| PRO_E_SRF_TR_SURF_SELECTION | PRO_CURVE, PRO_COMP_CRV, PRO_AXIS, |
| | PRO_QUILT, PRO_DATUM_PLANE, |
| | PRO_POINT, PRO_CSYS |
| | (Refer Note#1) |
-------------------------------------------------------------------------
| | |
| PRO_E_MOVE_WITH_COPY | = PRO_MOVE_KEEP_ORIGINAL |
| | = PRO_MOVE_HIDE_ORIGINAL |
| | |
-------------------------------------------------------------------------
| | |
| PRO_E_MOVE_GEOM_TRF_ARR | Array element |
| | |
-------------------------------------------------------------------------
| | |
| PRO_E_MOVE_GEOM_TRF | Compound element |
| | One element per set present in |
| | PRO_E_MOVE_GEOM_TRF_ARR |
| | |
-------------------------------------------------------------------------
| | |
| PRO_E_SRF_TR_MOVE_TYPE | = PRO_MOVE_TYPE_TRANS |
| | for Translate |
| | = PRO_MOVE_TYPE_ROT |
| | for Rotate |
| | |
-------------------------------------------------------------------------
| | |
| PRO_E_DIRECTION_COMPOUND | For more details refer ProDirection.h |
| | |
-------------------------------------------------------------------------
| | |
| PRO_E_SRF_TR_VAL_ELEM | Double Value |
| | |
-------------------------------------------------------------------------
Table Move:2 Elements required for Move
-------------------------------------------------------------------------
| | Element Id | Comment |
-------------------------------------------------------------------------
| Move : PRO_E_FEATURE_TYPE : Mandatory |
| : PRO_E_SRF_TRANS_TYPE : Mandatory |
| : PRO_E_STD_FEATURE_NAME : Optional |
| : PRO_E_SRF_TR_SURF_SELECTION : Mandatory |
| : PRO_E_MOVE_WITH_COPY : Mandatory |
| : PRO_E_SRF_TR_MOVE_TYPE : Mandatory |
| : PRO_E_DIRECTION_COMPOUND : Mandatory |
| : PRO_E_SRF_TR_VAL_ELEM : Mandatory |
|-----------------------------------------------------------------------|
Note 1 : In Pro/ENGINEER Wildfire 2.0, the PRO_E_SRF_TR_SURF_SELECTION of
PRO_FEATURE type are not supported.
\*****************************************************************************/
typedef enum pro_move_type
{
PRO_MOVE_TYPE_TRANS = 0,
PRO_MOVE_TYPE_ROT = 1
} ProMoveType;
typedef enum pro_move_no_copy
{
PRO_MOVE_NO_COPY = 0,
PRO_MOVE_MAKE_COPY = 1
} ProMoveNoCopy;
typedef enum pro_move_with_copy
{
PRO_MOVE_KEEP_ORIGINAL = 0,
PRO_MOVE_HIDE_ORIGINAL = 1
} ProMoveWithCopy;
PRO_END_C_DECLS
#endif