SEDRIS Reference Manual
APPENDIX A - Transmittal Access Level 0 API
Types
SE_Hierarchy_Order_Parameters
/*
 * STRUCT: SE_Hierarchy_Order_Parameters
 *
 *   Determines the traversal order of the "branches" or "switches" from an
 *   <Aggregate Feature> or <Aggregate Geometry> instance encountered
 *   by a Component Iterator. If an <Aggregate Feature> or <Aggregate Geometry>
 *   instance contains unordered branches, then the traversal order of these
 *   branches is random by default. By using traversal order parameters, the
 *   user can control the order in which the branches will be traversed.
 *
 *   If a given class of aggregate instance is not given any traversal order
 *   controls, then the components of that class of aggregate instance will
 *   be traversed in a random order, unless the aggregate class itself is
 *   defined with an ordering of branches in the DRM.
 *
 *   ANIMATION RELATED GEOMETRY:
 *
 *     No order parameters are provided for an <Animation Related Geometry>,
 *     because the traversal order of an <Animation Related Geometry> is
 *     already defined by the DRM.  The frames of an animation are
 *     ordered, and that ordering is the order in which the frames will
 *     be traversed.
 *
 *   LEVEL OF DETAIL RELATED GEOMETRY & FEATURES:
 *
 *     Note that Ascending and Descending refer to the level of detail of
 *     the branches, thus, for distance level of detail, a smaller distance
 *     provides a higher level of detail.
 *
 *     Ascending Order:
 *         Distance - branches with higher minimum_ranges will be first
 *         Index - branches with lower indices will be first
 *         Map Scale - branches with lower map_scales will be first
 *         Spatial Resolution - branches with lower resolutions will be first
 *         Volume - volumes that occupy less volume will be first
 *
 *     Descending Order:
 *         Distance - branches with lower minimum_ranges will be first
 *         Index - branches with higher indices will be first
 *         Map Scale - branches with higher map_scales will be first
 *         Spatial Resolution - branches with higher resolutions will be first
 *         Volume - volumes that occupy more volume will be first
 *
 *     Order does not matter:
 *         A random traversal order will be taken
 *
 *   OCTANT AND QUADRANT RELATED GEOMETRY & FEATURES:
 *
 *     Ascending Order:
 *        from SE_QUADRANT_SOUTHWEST     to SE_QUADRANT_SOUTHEAST for Quad,
 *             SE_OCTANT_UPPER_SOUTHWEST to SE_OCTANT_LOWER_NORTHEAST for Oct
 *
 *     Descending Order:
 *        from SE_QUADRANT_SOUTHEAST     to SE_QUADRANT_SOUTHWEST for Quad,
 *             SE_OCTANT_LOWER_NORTHEAST to SE_OCTANT_UPPER_SOUTHWEST for Oct
 *
 *     Order does not matter: A random traversal order will be taken
 *
 *   SEPARATING PLANE RELATED GEOMETRY:
 *
 *     Ascending Order: False branches will be traversed first
 *
 *     Descending Order: True branches will be traversed first
 *
 *     Order does not matter: A random traversal order will be taken
 *
 *   SPATIAL INDEX RELATED:
 *
 *     The ordering for spatial index related is always row order, from
 *     left to right for ASCENDING and right to left for DESCENDING.
 *
 *   TIME RELATED GEOMETRY & FEATURES:
 *
 *     Ascending Order:
 *         <Time Interval> - branches with earlier start_times will be first
 *         <Time Point> - branches with earlier times will be first
 *             (by definition, all Exercise relative times will be considered
 *             earlier than all GMT and Reference Relative times.  All GMT and
 *             Relative Reference times will be compared appropriately to
 *             each other.)
 *         <Season> - order based on the SE_Season enum
 *         <Time Of Day> - order based on the SE_Time_Of_Day enum
 *
 *     Descending Order:
 *         <Time Interval> - branches with later start_times will be first
 *         <Time Point> - branches with later times will be first
 *         <Season> - order based on the SE_Season enum
 *         <Time Of Day> - order based on the SE_Time_Of_Day enum
 *
 *     Order does not matter:
 *         A random traversal order will be taken
 *
 *   PERIMETER RELATED GEOMETRY:
 *
 *     No parameters are specified for dealing with a <Perimeter Related
 *     Geometry> instance.  If the order of traversal is important to the
 *     user then making multiple iterators, each with a different Spatial
 *     Search Boundary, is recommended.
 *
 *   CONTINUOUS LEVEL OF DETAIL GEOMETRY:
 *
 *     No ordering is allowable - the order of traversal doesn't matter
 *     to the user.
 *
 *   UNION:
 *
 *     All of the components of a Union instance are already ordered by the
 *     DRM, so no ordering parameters are required.
 *
 *   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_Order general_hierarchy_mask;
SE_Alternate_Hierarchy_Parameters alternate_hierarchy_traversal_order;
SE_Classification_Parameters classification_traversal_order;
SE_Sibling_Traversal_Order lod_traversal_order;
SE_Sibling_Traversal_Order octant_traversal_order;
SE_Sibling_Traversal_Order quadrant_traversal_order;
SE_Sibling_Traversal_Order separating_plane_traversal_order;
SE_Sibling_Traversal_Order spatial_index_general_traversal_order;
SE_State_Data_Fields state_traversal_order;
SE_Sibling_Traversal_Order time_traversal_order;
} SE_Hierarchy_Order_Parameters;



Prev: SE_Hierarchy_Inclusion. Next: SE_Hierarchy_Select_Parameters.


Return to: Top of this Page, Type Index