/*
 * ENUM: SE_FEATURE_TOPOLOGY_LEVEL_ENUM
 *
 *   Used to indicate, if a <Feature Hierarchy> is present, the level of
 *   feature topology that is present.
 *
 *   Note that there is no N/A entry, because if <Features> are present,
 *   then feature topology is present.
 *
 *   Objects and relationships required to exist at each topology level
 *   ------------------------------------------------------------------
 *   level 0 -- unless the data consists solely of isolated (i.e., entity)
 *              <Feature Nodes>, the following objects (and the relationships
 *              among them) are all required to exist:
 *              - <Feature Edge>
 *              - <Feature Edge Starting Node>
 *              - <Feature Edge Ending Node>
 *              - <Feature Node>
 *              - <Connected Feature Edge>
 *
 *              Other types of feature topology objects and relationships MAY
 *              exist at level 0, but the requirements of level 1 are NOT met.
 *
 *   level 1 -- no additional objects or relationships are required. However,
 *              each <Feature Node> must have unique <Location> coordinates
 *              (i.e., two or more <Feature Nodes> cannot be colocated).
 *
 *   level 2 -- no additional objects or relationships are required. However,
 *              <Feature Edges> may not intersect or overlap one another,
 *              except where they meet at a common <Feature Node>.
 *
 *   level 3 -- The following objects and relationships are required to exist:
 *              - <Feature Face> (Regular and Universal)
 *              - <Feature Face Ring> (External and Internal)
 *              - <Bordered Feature Face>
 *              - <Contained Feature Node>
 *              - <Contained Within Feature Face>
 *
 *              a. The set of <Feature Faces> must be exclusive and exhaustive,
 *                 forming a complete surface (i.e., <Feature Faces> may not
 *                 intersect or overlap one another, except where they meet at
 *                 a common <Feature Edge>.
 *              b. Exactly 2 <Feature Faces> border each <Feature Edge>.
 *                 Consequently, all <Feature Edges> must have a <Bordered
 *                 Feature Face> component.
 *              c. Each <Feature Face> must have a <Contained Feature Node> for
 *                 every <Feature Node> within its boundaries, and each
 *                 <Feature Node> must have a <Contained Within Feature Face>
 *                 for every <Feature Face> that contains it.
 *
 *   level 4 -- <Location 3Ds> are required, and there must be at least one
 *              case where more than 2 <Feature Faces> meet at a single
 *              <Feature Edge>.
 *
 *              <Feature Edges> are no longer required to bound <Feature
 *              Faces>. If a <Feature Edge> does bound a <Feature Face>, the
 *              <Feature Edge> must have a <Bordered Feature Face> component.
 */
typedef enum
{
SE_LEVEL_0_FEATURE_TOPOLOGY,
SE_LEVEL_1_FEATURE_TOPOLOGY,
SE_LEVEL_2_FEATURE_TOPOLOGY,
SE_LEVEL_3_FEATURE_TOPOLOGY,
SE_LEVEL_4_FEATURE_TOPOLOGY,
SE_NO_FEATURE_HIERARCHY_PRESENT
} SE_FEATURE_TOPOLOGY_LEVEL_ENUM;
Prev: SE_ENUM_STRUCTURE. Next: SE_FIELD_MODIFIER_ENUM. Up:Index