#ifndef PROFLEXTANPROPOPTS_H
#define PROFLEXTANPROPOPTS_H
#include <ProToolkit.h>
PRO_BEGIN_C_DECLS
/*=========================================================================
Generic Flexible Modeling Tangency Propagation options branch.
The branch exists in: PRO_FEAT_FLEXMOVE
PRO_FEAT_FLX_OGF
PRO_FEAT_ANALYT_GEOM
===========================================================================*/
/*=========================================================================
=================================================================================================
(1) Element tree
PRO_E_FLXSLV_PROP_CONSTRS
|
|-- PRO_E_FLXSLV_CONSTR
|
|-- PRO_E_FLXSLV_CONSTR_REFS
|
|-- PRO_E_FLXSLV_CONSTR_TYPE
=================================================================================================
(2) Elements table
-------------------------------------------------------------------------------------------------
Element Id Element Name Data Type Valid Values
-------------------------------------------------------------------------------------------------
PRO_E_FLXSLV_PROP_CONSTRS FLX-MDL Propagation Array Note-1
conditions
PRO_E_FLXSLV_CONSTR Condition Compound Note-2
PRO_E_FLXSLV_CONSTR_REFS Reference PRO_VALUE_TYPE_SELECTION Note-3
PRO_E_FLXSLV_CONSTR_TYPE Condition Type PRO_VALUE_TYPE_INTEGER note-4
=================================================================================================
(3) Notes
Note-1 : Optional.
It is required to control the tangency propagation.
It can conatin zero or more number of conditions.
Note-2 : Mandatory.
It constitutues a single condition element, which
conatins a condition type and a reference.
Note-3 : Mandatory.
It contains the reference, that will be used in the condition.
Note-4 : Mandatory.
This represents the type of the condition.
This uses one of the enumerated ProFlxmdlPropOptFlag type.
===========================================================================*/
typedef enum pro_flxmdl_prop_opt_flag
{
PRO_FLXSLV_CONSTR_TYPE_UNDEFINED = -1 ,
PRO_FLXSLV_CONSTR_TYPE_FIXED = 0 ,
PRO_FLXSLV_CONSTR_TYPE_FIX_AXIS = 13,
PRO_FLXSLV_CONSTR_TYPE_FIX_CNTR = 14,
PRO_FLXSLV_CONSTR_TYPE_FIX_NORM = 15,
PRO_FLXSLV_CONSTR_TYPE_CONST_R1 = 16,
PRO_FLXSLV_CONSTR_TYPE_CONST_R2 = 17,
PRO_FLXSLV_CONSTR_TYPE_CONST_ANG = 18,
PRO_FLXSLV_CONSTR_TYPE_FIX_POLE = 19,
PRO_FLXSLV_CONSTR_TYPE_PRPG_THRU = 21,
PRO_FLXSLV_CONSTR_TYPE_FIX_RNDEDG_PNT = 23,
PRO_FLXSLV_CONSTR_FIX_WITH_TNGCY = 25,
PRO_FLXSLV_CONSTR_TYPE_CONST_R = 26,
PRO_FLXSLV_CONSTR_TYPE_KEEP_SPHERICAL = 27
}ProFlxmdlPropOptFlag;
PRO_END_C_DECLS
#endif