#ifndef PROFEATINTR_H
#define PROFEATINTR_H
#include <ProToolkit.h>
PRO_BEGIN_C_DECLS
/*****************************************************************************\
Feature element tree
PRO_E_FEATURE_TREE
|
|--PRO_E_FEATURE_TYPE
|
|
|
|
|
|
|
|
|--PRO_E_INT_PARTS
|--PRO_E_FEATURE_INTERSECTION
|--PRO_E_FEATURE_INTERSECT_PART
|--PRO_E_FEATURE_INTERSECT_LEVEL
3. Feature elements table
--------------------------------------------------------------------------------------------
Element Id Element Name Data Type Valid Values
-----------------------------------------------------------------------------------------
PRO_E_INT_PARTS Intersections Array
PRO_E_FEATURE_INTERSECTION Intersections Compound
PRO_E_FEATURE_INTERSECT_PART Intersect Part PRO_VALUE_TYPE_SELECTION See Note 1
PRO_E_FEATURE_INTERSECT_LEVEL Visib level PRO_VALUE_TYPE_INT See Note 2
\*****************************************************************************/
/*===========================================================================*/
/* Note 1. Intersect Part Values */
/* The selection should be to the part which is to be intersected by
* the assembly feature. The selection must include the path from the
* owner assembly to the intersected part. The actual selection can be to any
* item in the part or to the entire part itself.
*
* Special Values:::
*
* If the Selection refers to the top level assembly (any object in the
* top level assembly is acceptable) or if the value is NULL, then
* intersected parts will be selected automatically based on the value
* of Visib level. If the visibility level is 0, then parts will be
* automaticaly selected and the intersection will be visible in the
* top level assembly only. If the visibility level is -1, then the
* intersections will be visible in the parts themselves. Any other
* value for visiblity level with this special selection is invalid.
*/
/*===========================================================================*/
/*===========================================================================*/
/* Note 2. Visib Level Values */
/* This integer value sets where the assembly feature is visible. If the
* value is 0, then the feature is only visible in the top level assembly.
* That is, if you retrieve the part or any sub-assembly containing that part
* the intersection is not visible. If the value is the same as the depth to
* the part (1 if part is directly assembled, 2 if it is contained in a
* sub-assembly of the top level assembly, etc.) the intersection is visible
* in the part itself. Any other value will make the intersection visible in
* the corresponding sub-assembly and above.
*
* Special Values:::
*
* If the value of Visib level is -1 and the intersect part references
* a part which is currently intersected by the feature, then the
* intersection with this part is removed (this works for ProFeatureWithoptionsRedefine
* only). If the Intersect Part is either NULL or refers to the top level
* assembly, then the value of -1 indicates that parts should be
* automatically selected with the intersection visible in the part. Any
* other values for Intersect Part selection are invalid when visibility
* level is -1.
*/
/*===========================================================================*/
PRO_END_C_DECLS
#endif /* PROFEATINTR_H */