/*
 * STRUCT: SE_HIERARCHY_SELECT_PARAMETERS
 *
 *   These parameters are used to determine which 'branches' or 'switches'
 *   to traverse from an <Aggregate Feature> object or <Aggregate Geometry>
 *   object encountered by a Component Iterator. They determine which branch
 *   will be followed based on the field values of the link object attached
 *   to that branch.
 *
 *   If a certain type of aggregate object is not given any selection
 *   controls, then all of the components of that type of aggregate
 *   object will be traversed whenever an aggregate object of that type
 *   is encountered.
 *
 *   GENERAL HIERARCHY MASK:
 *
 *     A set of values, one for each 'type' of aggregate hierarchy object,
 *     to indicate whether *any* of the branches from that type of object
 *     should be traversed, and if so, whether *all* of the branches will
 *     be traversed, or whether the selection parameters for that 'type'
 *     will be evaluated. See SE_GENERAL_HIERARCHY_SELECT for more details.
 *
 *   PERIMETER RELATED GEOMETRY:
 *
 *     No parameters are specified for dealing with a <Perimeter Related
 *     Geometry> object.  By default, all components of a <Perimeter Related
 *     Geometry> object will be traversed (unless Perimeter Related is 'masked
 *     out' by an SE_FALSE value in the general_hierarchy_mask struct, in which
 *     case, none of the components of a <Perimeter Related Geometry> will be
 *     searched).  In order to selectively limit the components traversed from
 *     a <Perimeter Related Geometry> object, define and use a Spatial
 *     Search Boundary when initializing the Component Iterator.
 *
 *   UNION:
 *
 *     All components of a Union object are always traversed (unless that
 *     type of Union is masked out by an SE_FALSE value in the
 *     general_hierarchy_mask struct, in which case none of the components
 *     for that type of Union are traversed).
 *
 *   For all other types of <Aggregate Feature> and <Aggregate Geometry>,
 *   see the definitions for the appropriate _PARAMETERS types used in
 *   the following structure.
 */
typedef struct
{
SE_GENERAL_HIERARCHY_SELECT general_hierarchy_mask;
SE_ALT_HIERARCHY_PARAMETERS alt_hier_branches;
SE_ANIMATION_SELECT_PARAMETERS animation_branches;
SE_CLASSIFICATION_PARAMETERS classification_branches;
SE_CONTINUOUS_LOD_SELECT_PARAMETERS clod_branches;
SE_LOD_SELECT_PARAMETERS lod_branches;
SE_OCT_TREE_SELECT_PARAMETERS oct_tree_branches;
SE_QUAD_TREE_SELECT_PARAMETERS quad_tree_branches;
SE_SEPARATING_PLANE_SELECT_PARAMETERS sep_plane_branches;
SE_SPATIAL_INDEX_PARAMETERS spatial_index_branches;
SE_STATE_SELECT_PARAMETERS state_branches;
SE_TIME_SELECT_PARAMETERS time_branches;
} SE_HIERARCHY_SELECT_PARAMETERS;
Prev: SE_HIERARCHY_ORDER_PARAMETERS. Next: SE_ID_IMPLEMENTATION_LEVEL_ENUM. Up:Index