Table 6.27 — DRM_Camera_Point

Property

Description

Class

  • <DRM Camera Point>

Superclass

Subclass

  • None.

Definition

An instance of this DRM class specifies an eye point to view from, specifying a location, an orientation, and either an orthographic or perspective viewing volume.

A viewing volume is defined, oriented along the axis defined to start at the camera <DRM 3D Location> and oriented as specified by the components of the <DRM Camera Point>. This orientation defines the coordinate space of the camera, where the camera is at (0,0,0) and is oriented to look down the +Y axis (assuming the XY plane defines the horizontal plane and the right-hand rule applies).

The viewing volume of a given <DRM Camera Point> instance is defined based on two planes specified by two parallel rectangles in space, the near clipping plane and the far clipping plane. The near clipping plane is the plane perpendicular to the camera axis and located camera_near metres from the <DRM Location> of the <DRM Camera Point>. The far clipping plane is parallel to the near clipping plane, but is located camera_far metres from the <DRM Location> of the <DRM Camera Point>.

If projection = ORTHOGRAPHIC, then the viewing volume is the parallelepiped volume between the two clipping planes, bounded by the rectangle specified by (left, bottom) as its lower left corner and (right, top) as its upper right corner.

If the camera defines a perspective view point, then the viewing volume is a frustum that can be described by in one of two ways. The perspective viewing volume can be defined as the volume starting at the near clipping plane rectangle and expanding to the far clipping plane. Alternatively, the perspective viewing volume can be described by a field-of-view angle, an aspect ratio that is the width of the frustum divided by its height, and the distance to the near and far clipping planes.

Class diagram

Figure 6.26 — DRM_Camera_Point

Inherited field elements

Field name

Range

Field data type

None

   

Field elements

Field name

Range

Field data type

ID1

 

ID

projection

 

Camera_Projection_Type

camera_near2

 

Long_Float

camera_far3

 

Long_Float

use_left_right_bottom_top4

 

Boolean

left5

 

Long_Float

bottom6

 

Long_Float

top7

 

Long_Float

right8

 

Long_Float

horizontal_fov9

 

Long_Float

aspect_ratio10

 

Long_Float

Associated to (one-way) (inherited)

  • None.

Associated to (one-way)

  • None.

Associated by (one-way) (inherited)

  • None.

Associated by (one-way)

  • None.

Associated with (two-way) (inherited)

  • None.

Associated with (two-way)

  • None.

Composed of (two-way) (inherited)

  • None.

Composed of (two-way)

Composed of (two-way metadata) (inherited)

  • None.

Composed of (two-way metadata)

  • None.

Component of (two-way) (inherited)

  • None.

Component of (two-way)

Constraints

Clarifications

1 This is required to be unique from all other <DRM Camera Point> instances' IDs.

2 This is the distance from camera position to near clipping plane, in metres.

3 This is the distance from camera position to far clipping plane, in metres.

4 If this value is TRUE, use the parameters from the left, right, bottom, and top fields. These fields are always used for orthographic viewing, but perspective viewing can either use these fields or the field-of-view and aspect ratio fields.

5 This is the X coordinate of the lower left corner of the rectangle in the near clipping plane.

6 This is the Y coordinate of the lower left corner of the rectangle in the near clipping plane.

7 This is the Y coordinate of the upper right corner of the rectangle in the far clipping plane.

8 This is the X coordinate of the upper right corner of the rectangle in the far clipping plane.

9 This is the angle, in degrees, of the horizontal field of view. This value is used for perspective viewing if the use_left_right_bottom_top flag is FALSE. This assumes a on-axis symmetric viewing volume. Off axis viewing volumes are not supported.

10 This is the width of the frustum divided by its height. This value is used for perspective viewing if the use_left_right_bottom_top flag is FALSE.

Example(s)

  • A perspective viewing point defined at the beginning of a runway, oriented to look down the runway.

  • An orthographic viewing point defined high above the transmittal, in the centre of the transmittal, to give a “God's eye view” of the entire transmittal.