#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