#ifndef PROMODFEATH
#define PROMODFEATH
#include <ProToolkit.h>
PRO_BEGIN_C_DECLS
/*****************************************************************************\
1. Feature elements table
--------------------------------------------------------------------------------------------
Element Id Element Name Data Type Valid Values
--------------------------------------------------------------------------------------------
PRO_E_FEATURE_TYPE Feature Type PRO_VALUE_TYPE_INT PRO_FEAT_PROTRUSION,
PRO_FEAT_FIRST_FEAT,
PRO_FEAT_CUT,
PRO_FEAT_SLOT
PRO_E_FEATURE_FORM Feature Form PRO_VALUE_TYPE_INT PRO_EXTRUDE, PRO_REVOLVE
PRO_E_ATTRIBUTES Attributes Compound
PRO_E_STD_SIDES ExtruAttr, PRO_VALUE_TYPE_INT ProSides
PRO_E_ATTR_SRF_END_COND EndCond PRO_VALUE_TYPE_INT ProSrfEndCond
PRO_E_STD_SECTION Section Compound
PRO_E_STD_MATRLSIDE Mat Side PRO_VALUE_TYPE_INT ProStdMatSide
PRO_E_STD_DIRECTION Direction PRO_VALUE_TYPE_INT ProStdDir
--------------------------------------------------------------------------------------------
Note 1. If the feature is first feature, feature type should be PRO_FEAT_FIRST_FEAT
even though it is a protrusion; PRO_FEAT_FIRST_FEAT must have 2d section.
Note 2. PRO_FEAT_SLOT does not use Mat Side.
\*****************************************************************************/
/* 1. PRO_E_STD_SIDES */
typedef enum pro_sides
{
PRO_SIDES_ONE_SIDE = (1 << 12),
PRO_SIDES_BOTH_SIDES = 0
} ProSides;
/* 2. PRO_E_STD_SECTION */
/* PRO_E_STD_SECTION element tree and constants are in ProStdSection.h */
/* 3. PRO_E_STD_MATRLSIDE */
typedef enum pro_std_mat_side
{
PRO_MAT_SIDE_ONE = 1,
PRO_MAT_SIDE_TWO = -1
} ProStdMatSide;
/* 4. PRO_E_STD_DIRECTION */
typedef enum pro_std_dir
{
PRO_STD_DIR_SIDE_ONE = 1,
PRO_STD_DIR_SIDE_TWO = -1
} ProStdDir;
typedef enum pro_end_cond
{
PRO_SRF_OPEN = -1,
PRO_SRF_CAPPED = 14
} ProSrfEndCond;
PRO_END_C_DECLS
#endif