The SEDRIS Data Representation Model
APPENDIX A - Classes
Camera Point

Class Name: Camera Point

Superclass - <SEDRIS Abstract Base>

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.

The location of the camera is specified by the <Location 3D> component. The direction at which the camera is pointed is specified by the <Reference Vector> component that has a vector_type field value of SE_REFVEC_CAMERA_FORWARD_AXIS. The up axis of the camera is specified by the <Reference Vector> component that has a vector_type field value of SE_REFVEC_CAMERA_UP_AXIS. The up axis specifies the rotational orientation of the camera around the forward axis. These provide the necessary information to position the camera in the currently applicable SRF, orient the camera with respect to its up axis, and identify the direction in which the camera is pointing. This orientation defines the coordinate space of the camera, where the camera is at (0, 0, 0) and is oriented to look down the +V axis (defined by the SE_REFVEC_CAMERA_FORWARD_AXIS vector). The UV plane defines the horizontal plane and the right-hand rule applies. The SE_REFVEC_CAMERA_UP_AXIS vector defines the +W axis.

The viewing frustum of a given <Camera Point> instance is defined based on two parallel planes, the near clipping plane and the far clipping plane. The near clipping plane is the plane perpendicular to the SE_REFVEC_CAMERA_FORWARD_AXIS vector and located camera_near metres from the origin. The far clipping plane is located camera_far metres from the origin.

The projection type is specified by the projection field, and may specify either an orthographic or a perspective projection. The projection type also specifies the fundamental shape of the viewing frustum. For an orthographic projection, the viewing frustum is a parallelepiped. For a perspective projection, the viewing frustum is a truncated pyramid.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

Example

  1. A <Camera Point> instance may represent a perspective viewing point defined at the beginning of a runway, oriented to look down the runway.

  2. A <Camera Point> instance may represent an orthographic viewing point defined high above the transmittal, in the centre of the transmittal, to give a "bird'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> instances.

Constraints

Associated to (one-way)

Composed of (two-way)

Component of (two-way)

Inherited Field Elements

This class has no inherited field elements.

Field Elements

SE_Camera_Projection_Type projection; 2
SE_Long_Float camera_near; 3
SE_Long_Float camera_far; 4
SE_Boolean use_left_bottom_right_top; 5
SE_Long_Float left; 6
SE_Long_Float bottom; 7
SE_Long_Float right; 8
SE_Long_Float top; 9
SE_Long_Float horizontal_field_of_view; 10
SE_Long_Float aspect_ratio; 11

Notes

Associated to Notes


Image

The semantic meaning of this relationship is that the given <Image> instance represents a picture taken from the location of the <Camera Point> instance with the given aspect ratio, camera projection, and camera axes as specified by the <Reference Vector> instances.

The <Image> instance should be of the data described under the <Aggregate Geometry> instance of which the <Camera Point> instance is a component.

Fields Notes

projection

The projection field specifies the type of projection. If projection = SE_CAM_ORTHOGRAPHIC, the viewing frustum 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 projection = SE_CAM_PERSPECTIVE, the viewing frustum can be described in one of two ways. In the first method, the perspective viewing frustum can be defined as the volume starting at the near clipping plane and expanding to the far clipping plane where the projection lines intersect the corners of the rectangle specified on the near clipping plane by (left, bottom) as the lower left corner and (right, top) as the upper right corner. In the second method, the perspective viewing volume can be described by a horizontal field of view, an aspect ratio that is the width of the viewing frustum divided by its height, and the distance to the near and far clipping planes.

camera_near

The camera_near field specifies the distance from camera position to near clipping plane, in metres.

camera_far

The camera_far field specifies the distance from camera position to far clipping plane, in metres.

use_left_bottom_right_top

If the value of the use_left_bottom_right_top field is SE_TRUE, use the parameters from the left, bottom, right, 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

The left field specifies the U coordinate of the lower left corner of the rectangle in the near clipping plane.

bottom

The bottom field specifies the V coordinate of the lower left corner of the rectangle in the near clipping plane.

right

The right field specifies the U coordinate of the upper right corner of the rectangle in the near clipping plane.

top

The top field specifies the V coordinate of the upper right corner of the rectangle in the near clipping plane.

horizontal_field_of_view

The horizontal_field_of_view field specifies the angle, in radians, of the horizontal field of view. This value is used for perspective viewing if the use_left_bottom_right_top flag is SE_FALSE.

aspect_ratio

The aspect_ratio field specifies the width of the frustum divided by its height. This value is used for perspective viewing if the use_left_bottom_right_top flag is SE_FALSE.


Prev: Browse Media. Next: CC 3D Location. Up:Index.

Last updated: July 26, 2006 Copyright © 2006 SEDRIS