The SEDRIS Data Representation Model
APPENDIX B - Constraints Model SRF |
---|
Consider a <Model> instance M defined in an SRF other than LSR.
M shall be instantiated only by <Geometry Model Instance> instances and/or <Feature Model Instance> instances specified in a matching SRF.
The has_moving_parts field of M shall be set to SE_FALSE.
Consider a <Model> instance M defined in an LSR SRF.
If the has_units field of M is set to SE_FALSE, M shall not be referenced by any <Geometry Model Instance> instance or <Feature Model Instance> instance.
If M is to be instantiated into a non-LSR SRF by any <Geometry Model Instance> instance or <Feature Model Instance> instance, each such <Geometry Model Instance> instance and <Feature Model Instance> instance shall specify a <World Transformation> component.
M cannot be instantiated into another LSR SRF unless the target SRF has identical SRF parameters to the SRF parameters of M or the <Geometry Model Instance> instance or <Feature Model Instance> instance that references M has a <Transformation> component that maps the SRF of M into the target SRF.
If the component hierarchy of M contains any <LSR Transformation> instances that have <Control Link> components, and if M provides controlling <Variable> instances to those <Control Link> components such that they allow motion, the has_moving_parts field of M shall be set to SE_TRUE; otherwise, the has_moving_parts field of M shall be set to SE_FALSE.
M shall not contain any <Reference Surface> instances.
All <Location> instances under a <Model> instance shall be expressed in the SRF specified by that <Model> instance.
A <Location> instance is not fully specified unless it falls within the scope of a DRM object specifying its SRF information.
<Transformation> instances are required when a model instancing operation requires actual coordinate transformation or conversion.
Consider a <Model> instance M with moving parts. A moving part is a portion of the component tree of M that is attached to that component tree by way of an <LSR Transformation> instance T specifying at least one rotation, translation, or scale operation subject to dynamic control by an appropriate <Control Link> instance. Consequently, M shall be specified in an LSR SRF, because <LSR Transformation> instances only occur in LSR SRFs.
The intent of the constraint on <Model> instances specified in LSR SRFs and <Reference Surface> instances is to limit the level of complexity for a transmittal consumer. If and when the API directly supports elevation resolution for <Location 2D> instances, this constraint may be modified.
A <Model> instance defined in a geodetic SRF may only be instanced within an <Environment Root> instance with matching geodetic SRF parameters.
A <Geometry Model Instance> instance in a geodetic SRF shall have a <World Transformation> component in order to instance a <Model> instance specified in a Local Space Rectangular SRF.
If the SRF of a <Model> instance is LSR (2D or 3D), all <Location> instances under that <Model> instance shall be LSR (2D or 3D).
Consider a <Model> instance defined in a 3D LSR SRF, such that it references a <Geometry Model Instance> instance via an <LSR Transformation> instance.
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.
If no coordinate conversion or transformation is required between SRFs, and if (for LSR) the model instance is not being rotated or translated within the target SRF, a <Transformation> is unnecessary.
See the <Reference Surface> class.
|