The SEDRIS Data Representation Model
Representing models within an environment |
---|
Within this document, a local SRF is an SRF derived from one of the following SRFTs:
An SRF derived from any other SRF is termed a world SRF.
A <Model> instance can be defined in any SRF. A <Model> instance may be instantiated into another <Model> instance or into a <Environment Root> instance. If a <Model> instance is defined in a world SRF, it can only be instantiated in the DRM object hierarchy of a <Environment Root> instance if there exists a transformation from the model SRF to the target SRF subject to the constraints specified in <<Model SRF>>. 10 SRF operations of ISO/IEC 18026 specifies available transformations.
A <Model> instance defined with a local SRF can be instantiated in the DRM object hierarchy of a <Environment Root> with any SRF defined. In this case, an instance of <World Transformation> is used to specify a transformation from the local SRF of the <Model> instance to the target SRF of the <Environment Root> instance.
A <Transformation> instance
allows a <Model> instance to be defined in a local SRF and then instantiated in
another SRF, either a world SRF or another local SRF. A <Model>
instance can be translated, scaled, and/or rotated as part of the instantiation
process. If the model SRF and the target SRF of the other model or environment
root are both derived from a LOCAL_SPACE_RECTANGULAR SRFT, the translation,
scale, and/or rotation may be specified by a
<LSR Transformation>.
Otherwise, the
<World 3x3> component of the
<World Transformation>
instance specifies the rotation and/or scaling data while the <Location> component of the
<World Transformation>
specifies the translation. If necessary, a local tangent frame shall be
constructed in which to apply the transformation specified by a
<World Transformation>
instance (see 4.7.5 Direction of ISO/IEC 18023-1).
A <World Transformation> instance is used only to instantiate a <Feature Model Instance> or <Geometry Model Instance> instance into a world SRF or into another local SRF. A local transformation, such as a <LSR Transformation> instance, is used by <Feature Model Instance> or <Geometry Model Instance> instances. A local transformation may be used by <Aggregate Geometry> to construct a composite geometry representation where portions of the geometry representation need to be oriented and positioned to other portions of the geometry representation. A local transformation may be also be used by <Property Grid Hook Point> instances to position and orient <Property Grid> instances with respect to other parts of a geometry representation. In a <LSR Transformation> instance, the steps used in transforming are found in the subclasses of <LSR Transformation Step>. The rotation, scaling, and translation are specified with instances of <Rotation>, <Scale>, and <Translation>, respectively.
When an <Feature Model Instance> instance or <Geometry Model Instance> instance is evaluated, the steps for applying a <World Transformation> component are as follows.
Let MI be a <Feature Model Instance> instance or <Geometry Model Instance> instance.
Let W be the <World Transformation> component of MI.
Let Sm = SRF of local model.
Let Sltf = local tangent frame LCE SRF with origin at the <Location> component of W.
Let Sw = world SRF.Steps:
- If Sm is LOCAL_SPACE_AZIMUTHAL_2D, LOCAL_SPACE_POLAR_2D, or
LOCAL_SPACE_RECTANGULAR_2D, use SRM operations (see 10 SRF Operations of ISO/IEC 18026) to convert all locations and reference vectors to LOCAL_SPACE_RECTANGULAR_3D.- Left multiply all resulting model LSR_3D locations and reference vectors by the 3x3 matrix specified by the <World 3x3> component of W. Renormalize unit vectors, if necessary.
- Identify each location and reference vector in Sm with its corresponding location and reference vector equivalent in Sltf.
- Use SRM operations (see 10 SRF Operations of ISO/IEC 18026) to convert each location in Sltf to a location in Sw.
|