- /// Type of a selector: on this type depends what is stored in this label and how to
- /// restore it on update.
- enum Selector_Type {
- SELTYPE_CONTAINER, ///< just a container of sub-elements, keeps the shape type of container
- SELTYPE_INTERSECT, ///< sub-shape is intersection of higher level objects
- SELTYPE_PRIMITIVE, ///< sub-shape found as a primitive on some label
- SELTYPE_MODIFICATION, ///< modification of base shapes to the final label
- SELTYPE_FILTER_BY_NEIGHBOR, ///< identification by neighbor shapes in context
- SELTYPE_WEAK_NAMING, ///< pure weak naming by weak index in context
- };
-
- Selector_Type myType; ///< Type of this selector.
- TopAbs_ShapeEnum myShapeType; ///< type of this shape: in container, intersection or neighbors
- std::list<Selector_Selector> mySubSelList; ///< list of sub-selectors if needed
- TDF_Label myFinal; ///< final label of the primitive or generation, where the value is
- TDF_LabelList myBases; ///< initial labels that contain shapes that produce the modification
- int myWeakIndex; ///< index of the shape among commons for the modification type (-1 - not set)
-
- std::list<int> myNBLevel; ///< list of integers corresponding to mySubSelList neighborhood level
-