The SEDRIS Data Representation Model
APPENDIX A - Classes
Camera Point

Class Name: Camera Point

Superclass - <Point Geometry>

Subclasses

This DRM class is concrete and has no subclasses.

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 <Location 3D> and oriented as specified by the components of the <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 <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 <Location> of the <Camera Point>. The far clipping plane is parallel to the near clipping plane, but is located camera_far metres from the <Location> of the <Camera Point>.

If projection = SE_CAM_PROJ_TYP_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.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

This class appears on only one page of the DRM class diagram.

Example

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

  2. 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.

FAQs

What are <Camera Point> instances used for?

Typically, <Camera Point> instances are used for pre-set views into a transmittal. They can also be used for eye point attachments for own-ship <Model>s.

Constraints

Associated with (two-way)(inherited)

Composed of (two-way)(inherited)

Composed of (two-way)

Composed of (two-way metadata)(inherited)

Component of (two-way)(inherited)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

SE_ID ID; (notes)
SE_Camera_Projection_Type projection;
SE_Long_Float camera_near; (notes)
SE_Long_Float camera_far; (notes)
SE_Boolean use_left_right_bottom_top; (notes)
SE_Long_Float left; (notes)
SE_Long_Float bottom; (notes)
SE_Long_Float top; (notes)
SE_Long_Float right; (notes)
SE_Long_Float horizontal_fov; (notes)
SE_Long_Float aspect_ratio; (notes)

Notes

Associated with Notes


Geometry_Node

 A <Geometry Node> associated with a <Point Geometry> instance
 represents the topology of that <Point Geometry>.

Composed of Notes


Union_Of_Primitive_Geometry

 A <Primitive Geometry> contains a <Union Of Primitive Geometry>
 instance as a component only when that <Primitive Geometry>
 can be decomposed into nested <Primitive Geometry>, as (for
 example) a <Polygon> can be decomposed into subfaces.

Rotation

 If present, these are used to determine the orientation of the
 given <Camera Point> instance.

World_3x3

 If present, this used to determine the orientation of the
 given <Camera Point> instance. Either a <World 3x3> or a set
 of ordered <Rotation> components may be present, but not both.

Fields Notes


ID

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

camera_near

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

camera_far

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

use_left_right_bottom_top

 If this value is SE_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.

left

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

bottom

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

top

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

right

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

horizontal_fov

 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 SE_FALSE.
 This assumes a on-axis symmetric viewing volume.  Off axis viewing
 volumes are not supported.

aspect_ratio

 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 SE_FALSE.

Prev: Browse Media. Next: Centre Of Buoyancy. Up:Index.

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