/*
 * STRUCT: SE_GENERAL_HIERARCHY_SELECT
 *
 *   Used to build up the SE_HIERARCHY_SELECT_PARAMETERS struct.
 *
 *   Indicates at a 'high level' whether any components of the given
 *   <Aggregate Geometry> and <Aggregate Feature> objects should be traversed.
 *
 *   For 'types' (i.e., DRM classes) of <Aggregate Feature>/<Aggregate
 *   Geometry> (referred to as "hierarchies" in these comments) for which
 *   inclusion rules can be specified:
 *
 *     If a 'type' of hierarchy object has an SE_EXCLUDE_ALL value in this
 *     struct, then the rules within the SE_HIERARCHY_SELECT_PARAMETERS values
 *     for that type of hierarchy object are not evaluated.  Objects of that
 *     hierarchy type and the components of those hierarchy objects are always
 *     excluded from the search space of the iterator.
 *
 *     If a 'type' of hierarchy object has an SE_INCLUDE_ALL value in this
 *     struct, then the rules within the SE_HIERARCHY_SELECT_PARAMETERS values
 *     for that type of hierarchy object are not evaluated.  Objects of that
 *     hierarchy type and the components of those hierarchy objects are always
 *     included in the search space of the iterator.
 *
 *     If a 'type' of hierarchy object has an SE_EVALUATE_RULES value in this
 *     struct, then the rules within the SE_HIERARCHY_SELECT_PARAMETERS values
 *     for that type of hierarchy object are evaluated for each hierarchy
 *     component attached to the hierarchy object.  Only hierarchy components
 *     whose link attached data pass the rules are included in the
 *     search space of the iterator.
 *
 *   For types of hierarchies for which inclusion rules cannot be specified:
 *
 *     If a 'type' of hierarchy object has a value of SE_FALSE then all
 *     objects of that hierarchy type and the components of those hierarchy
 *     objects are always excluded from the search space of the iterator.
 *
 *     If a 'type' of hierarchy object has a value of SE_TRUE then all
 *     objects of that hierarchy type and the components of those hierarchy
 *     objects are always included in the search space of the iterator.
 */
typedef struct
{
/*
* Hierarchy classes for which inclusion rules can be specified.
*/
SE_HIERARCHY_INCLUSION_ENUM alternate_hierarchy;
SE_HIERARCHY_INCLUSION_ENUM animation_related;
SE_HIERARCHY_INCLUSION_ENUM classification_related;
SE_HIERARCHY_INCLUSION_ENUM continuous_level_of_detail_related;
SE_HIERARCHY_INCLUSION_ENUM oct_tree_related;
SE_HIERARCHY_INCLUSION_ENUM quad_tree_related;
SE_HIERARCHY_INCLUSION_ENUM separating_plane;
SE_HIERARCHY_INCLUSION_ENUM spatial_index_related;
SE_HIERARCHY_INCLUSION_ENUM state_related;
/*
* Hierarchy types for which inclusion rules can be specified
* for various "sub-types" of the hierarchies.
*/
SE_BOOLEAN level_of_detail_related; (notes)
SE_HIERARCHY_INCLUSION_ENUM level_of_detail_distance_related;
SE_HIERARCHY_INCLUSION_ENUM level_of_detail_index_related;
SE_HIERARCHY_INCLUSION_ENUM level_of_detail_map_scale_related;
SE_HIERARCHY_INCLUSION_ENUM level_of_detail_volume_related;
SE_HIERARCHY_INCLUSION_ENUM level_of_detail_spatial_resolution_related;
SE_BOOLEAN time_related; (notes)
SE_HIERARCHY_INCLUSION_ENUM time_related_by_month;
SE_HIERARCHY_INCLUSION_ENUM time_related_by_season;
SE_HIERARCHY_INCLUSION_ENUM time_related_by_time_interval;
SE_HIERARCHY_INCLUSION_ENUM time_related_by_time_of_day;
SE_HIERARCHY_INCLUSION_ENUM time_related_by_time_point;
/*
* Hierarchy types for which inclusion rules cannot be specified,
* so the entire set of hierarchy objects for a given type must all
* be included (SE_TRUE) or excluded (SE_FALSE).
*/
SE_BOOLEAN perimeter_related;
SE_BOOLEAN union_of_features;
SE_BOOLEAN union_of_geometry_hierarchies;
SE_BOOLEAN union_of_geometry_primitives;
} SE_GENERAL_HIERARCHY_SELECT;


Field Notes

level_of_detail_related

 if false, ignore next 5 fields -- i.e., behave as if each of
 the following 5 fields were set to the value of SE_EXCLUDE_ALL

time_related

 if false, ignore next 5 fields -- i.e., behave as if each of
 the following 5 fields were set to the value of SE_EXCLUDE_ALL
Prev: SE_GENERAL_HIERARCHY_ORDER. Next: SE_GENERAL_TRAVERSAL_ENUM. Up:Index