The SEDRIS Data Representation Model
APPENDIX A - Classes
Reference Vector

Class Name: Reference Vector

Superclass - <Base Reference Vector>

Subclasses

This DRM class is concrete and has no subclasses.

Definition

An instance of this DRM class specifies a unit vector that is used to specify a direction, normal, or axis in the manner specified by the vector_type field. It serves as a unit vector in those spatial reference frames with compatible vector space structure. In GD, GM, GEI, GSE, GSM, and SM coordinate systems, it is a vector in the canonical LTP at the location of the <Reference Vector> <Location> component.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

Example

  1. A <Reference Vector> contained by a <Polygon>, representing its geometric normal vector. This would have a vector_type of SE_REF_VEC_TYP_FACE_NORMAL.

  2. A <Reference Vector> contained by a <Polygon>, representing a normal vector that is used for rendering purposes, i.e. to calculate colour and shading when rendering the <Polygon>. This <Reference Vector> would have a vector_type of SE_REF_VEC_TYP_RENDERING_NORMAL.

  3. A fence modeled as a polygon has radar cross sections that are dependent on aspect angles (azimuth and elevation). These aspect angles are defined with respect to the polygon's normal and its azimuth <Reference Vector>. This <Polygon> (fence) has two <Reference Vectors> (a geometric-normal and an azimuth-reference). The geometric normal is the unit vector perpendicular to the <Polygon> pointing away from it on its outside face and the azimuth reference vector points straight up and is in the plane of the <Polygon>.

  4. A segment of the road has a reflector (actually, a retro-reflector) on it and is modeled as a <Line>. The <Line> has a normal vector that is perpendicular to it and an azimuth reference parallel to it. This is sufficient to describe radar cross sections of the road as a function of aspect angles. However, the normal vector for the infrared bands depends on the orientation of the retro-reflector, not the road. This because radars see the road but IR (or more obviously, car lights) see the retro- reflector. In this example, the <Line> has four <Reference Vectors> (radar-normal, radar-azimuth, ir-normal, and ir-azimuth).

  5. A normal vector used for reflectivity/emissivity calculations. This would have a vector_type of SE_REFLECTIVITY_EMISSIVITY_NORMAL.

  6. A vector specifying the direction an <Infinite Light> illuminates. This would have a vector_type of SE_REF_VEC_TYP_LIGHT_DIRECTION.

FAQs

Why does SE_Reference_Vector_Type have so many entries? Aren't all or many of these the same unit vector with different names?

These vectors coincide with each other in many cases, but generally, each each can be unique. For a flat large window, as an example, the geometric normal will coincide with the radar-normal and also the ir-normal, but for complex objects such as an aircraft, geometric-normal is not applicable and radar- and ir-normal do not coincide.

Why can a <Base Vertex> have only one <Reference Vector> when a <Polygon>, <Point>, or <Line> can have more than one?

A <Base Vertex> will not require more than one <Reference Vector>, but a <Polygon> may need more than one to represent a combination of geometric and/or sensor-related vectors at the same time. In other words, a side of the building represented as a <Polygon>, a ship as a <Point>, or a bridge as a <Line> require at least two <Reference Vectors> defined, normal and azimuth, to fully describe aspect dependent characteristics of the physical object represented. Vertices, on the other hand, do not represent these types of physical objects and therefore do not require multiple <Reference Vectors>. A vertex can have one rendering-normal as used for smooth shading, but has no use for aggregating any other type of <Reference Vector>.

Why does <Reference Vector> have an optional <Location> component?

To support the ability of the SEDRIS API to automatically convert <Reference Vectors> between spatial reference frames, including non-vector space coordinates, such as Geodetic.

If a <Location> component is required for some conversions, why is it an optional component?

In most cases, a <Reference Vector> will inherit an appropriate <Location> component. In those cases where an appropriate <Location> cannot be inherited, a <Location> component is required by constraints.

See <<Required Reference Vector Location>>.

Constraints

Composed of (two-way)(inherited)

Component of (two-way)

Inherited Field Elements

SRM_Vector_3D unit_vector;
SE_Reference_Vector_Type vector_type;

Prev: Reference Surface. Next: Reference Vector Control Link. Up:Index.

Last updated: May 15, 2003 Copyright © 2003 SEDRIS™