The SEDRIS Data Representation Model
APPENDIX B - Constraints
Model Spatial Reference Frame

Definition

1. Consider a <Model> M defined in a spatial reference frame other than Local Space Rectangular.
 
1.1 M shall be instanced only by <Geometry Model Instance> and / or <Feature Model Instance> instances specified in a matching spatial reference frame, and
1.2 M's has_moving_parts field shall be set to SE_FALSE.
2. Consider a <Model> M defined in a Local Space Rectangular spatial reference frame.
 
2.1 If M's has_units field is set to SE_FALSE, then M shall not be referenced by any <Geometry Model Instance> or <Feature Model Instance>.
2.2 If M is to be instanced into a non-LSR reference frame by any <Geometry Model Instance> or <Feature Model Instance>, then each such <Geometry Model Instance> and <Feature Model Instance> shall specify a <World Transformation> component.
2.3 M cannot be instanced into another Local Space Rectangular reference frame unless the target spatial reference frame has identical parameters to that of M.
2.4 If the component hierarchy of M contains any <LSR Transformation> instances that have <Control Link> instances, and if M provides controlling <Variables> to those <Control Link> instances such that they allow motion, then M's has_moving_parts field shall be set to SE_TRUE; otherwise, M's has_moving_parts field shall be set to SE_FALSE.
2.5 M shall not contain any <Reference Surface> instances.
3. All <Location> instances under a <Model> instance shall be expressed in the spatial reference frame defined by that <Model> instance.

Rationale

  1. A <Location> instance is not fully defined unless it falls within the scope of an object specifying its spatial reference frame parameters (such as a <Model>). A <Location> in another spatial reference frame (such as geomagnetic (GM) when the reference frame is geodetic (GD)) is therefore undefined.

  2. <Transformation> instances are required when a model instancing operation requires actual coordinate transformation or conversion.

  3. A <Model> with moving parts is a <Model> containing parts that are attached by <LSR Transformation> instances with appropriate <Variable>-controlled <Control Links>, because that is how rotation, translation, and scaling are controlled dynamically. Consequently, such a <Model> is always defined in an LSR spatial reference frame, because <LSR Transformation> instances only appear in LSR.

  4. The intent of the constraint on LSR <Model> instances and <Reference Surface> instances is to limit the level of complexity for a transmittal consumer. If and when the SEDRIS API directly supports elevation resolution for <Location 2D> instances, this constraint may be modified.

Example

  1. A <Model> instance defined in a geodetic spatial reference frame may only be instanced within an <Environment Root> instance with matching geodetic spatial reference frame parameters.

  2. A <Geometry Model Instance> instance in a geodetic reference frame shall have a <World Transformation> component in order to instance a <Model> instance specified in a Local Space Rectangular reference frame.

  3. If a <Model> instance's spatial reference frame is LSR (2D or 3D), all <Location> instances under that <Model> instance shall be LSR (2D or 3D).

  4. Consider a <Model> instance defined in a 3D LSR spatial reference frame, such that it references a <Geometry Model Instance> instance via an <LSR Transformation> instance.

FAQs

Are model <Location> instances restricted to LSR and the spatial reference frames found in a transmittal's <Environment Root> instances?

No. A <Model Library> instance might be designed to be part of a multi-transmittal environment with <Geometry Model Instance> or <Feature Model Instance> instances occurring in other transmittals, so that the transmittal containing the <Model Library> instance itself might not have any <Environment Root> instances at all.

Why aren't model instance objects required to have <Transformation> components in all cases?

If no coordinate conversion or transformation is required between spatial reference frames, and if (for LSR) the model instance is not being rotated or translated within the target spatial reference frame, then a <Transformation> is unnecessary.

How is the elevation resolved for an <LSR 2D Location> instance in an LSR <Model> instance?

As explained in <Reference Surface>'s FAQ list, when an <LSR 2D Location> is instanced, it is converted to a <Location 2D> in the scoping 3D SRF. Its elevation can then be determined in the 3D SRF.


Prev: Model Reference Type Constraints. Next: Nested Primitive Geometry. Up:Index.

Last updated: July 16, 2004 Copyright © 2004 SEDRIS