Click or drag to resize

Camera Class

Implemented by the scene camera. Contains operations to manipulate the camera position, view direction and orientation in the scene.
Inheritance Hierarchy
SystemObject
  AGI.Foundation.GraphicsCamera

Namespace:  AGI.Foundation.Graphics
Assembly:  AGI.Foundation.Graphics (in AGI.Foundation.Graphics.dll) Version: 24.3.420.0 (24.3.420.0)
Syntax
public sealed class Camera : IDisposable

The Camera type exposes the following members.

Properties
  NameDescription
Public propertyAllowRotationOverConstrainedUpAxis
Gets or sets whether the camera can rotate over the constrained up axis. For example, if true the camera would be able to flip over the North Pole and view the globe upside down.
Public propertyAxes
Gets or sets camera's axes of rotation.
Public propertyConstrainedUpAxis
Gets or sets the axis to constrain the up vector to.
Public propertyDirection
Gets or sets the direction of the camera in Axes.
Public propertyDistance
Gets or sets the distance the camera position is from the reference point.
Public propertyDistancePerRadius
Returns the distance that the Camera's Position should be from the ReferencePoint in order to ensure that a sphere with a 1 meter radius centered at the ReferencePoint fits entirely in the view frustum.
Public propertyFarNearPlaneRatio
Gets or sets the value that is used to compute subdivisions of the viewing frustum. A large value will be faster but lose z-value precision. A small value will have better precision but perform slower. The default value of 1000 achieves a good balance between speed and accuracy.
Public propertyFarPlane
Gets or sets the distance in meters from the camera to the far plane.
Public propertyFieldOfView
Gets or sets field of view in radians. The field of view is applied to the larger of the window dimensions. For example, if the window width was 640 and the height was 480, the field of view applies to the horizontal. Use HorizontalFieldOfView and VerticalFieldOfView to get the horizontal and vertical field of views. Wide fields of views generally show more objects but can look distorted as compared to narrower ones.
Public propertyHorizontalFieldOfView
Gets the horizontal field of view in radians.
Public propertyLockViewDirection
Gets or sets whether the camera's direction is locked.
Public propertyNearPlane
Gets or sets the distance in meters from the camera to the near plane.
Public propertyPixelSizePerDistance
Gets the approximate number of meters covered by a pixel that is 1 meter away from the camera. This is commonly multiplied by the distance from the camera to an object to compute the approximate number of meters covered by a pixel of the object.
Public propertyPosition
Gets or sets the position of the camera.
Public propertyPositionReferenceFrame
Gets the ReferenceFrame that the Position is returned in. This ReferenceFrame is composed of the camera's from Point and the Axes.
Public propertyReferencePoint
Gets or sets the reference point of the camera.
Public propertyReferencePointReferenceFrame
Gets the ReferenceFrame that the ReferencePoint is returned in. This ReferenceFrame is composed of the camera's to Point and the Axes.
Public propertySnapshot
Gets the camera snapshot settings.
Public propertyUpVector
Gets or sets the up direction of the camera in Axes.
Public propertyVerticalFieldOfView
Gets the vertical field of view in radians.
Public propertyVideoRecording
Gets the camera video recorder.
Top
Methods
  NameDescription
Public methodCartographicToWindow
Converts a Cartographic position to a pixel coordinate relative to the Insight3D control. This method can throw an exception.
Public methodDispose
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodRefreshEvaluators
Refreshes all evaluators for the axes, points, or vectors that are used in the current camera view. This should be called if the axes, points, or vectors are changed. If you find yourself calling this frequently, consider using the Position and Direction properties instead of methods taking axes, points, and vectors. For more information on evaluators, see the overview topic on Evaluators and Evaluator Groups topic.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodTryCartographicToWindow
Converts a Cartographic position to a pixel coordinate relative to the Insight3D control. This method does not throw an exception.
Public methodTryWindowToCartographic
Converts a pixel coordinate relative to the Insight3D control to a Cartographic position. For speed, terrain is not considered. This method does not throw an exception.
Public methodView(Axes, Point, Point)
Views from a point to a point. Sets the camera's position and the reference point the camera is looking at.
Public methodView(Axes, Point, Point, UnitCartesian)
Views from a point to a point. Sets the camera's position and the reference point the camera is looking at.
Public methodViewCentralBody
Zoom to a central body and use the specified axes for rotation. The reference point is set to the center of the central body and the camera's position is set so the entire central body is visible.
Public methodViewDirection(Axes, Point, Vector)
Views from a point to a direction. Sets the camera's position and the direction vector indicating where the camera is looking.
Public methodViewDirection(Axes, Point, Vector, UnitCartesian)
Views from a point to a direction. Sets the camera's position and the direction vector indicating where the camera is looking.
Public methodViewExtent(CentralBody, CartographicExtent)
Zooms to a CartographicExtent on the centralBody. The camera will be looking straight down at the extent, with the up vector pointing toward local north. The Axes is set to an east-north-up axes at the center of extent.
Public methodViewExtent(CentralBody, Double, Double, Double, Double)
Zooms to a rectangular extent composed of west, south, east, north on the centralBody. The camera will be looking straight down at the extent, with the up vector pointing toward local north. The Axes is set to an east-north-up axes at the center of the extent.
Public methodViewOffset(Axes, Point, Cartesian)
Sets the camera's reference point - the point the camera is looking at. The camera's position is the reference point translated by the offset.
Public methodViewOffset(Axes, Point, Cartesian, UnitCartesian)
Sets the camera's reference point - the point the camera is looking at. The camera's position is the reference point translated by the offset.
Public methodViewOffsetDirection(Axes, Point, Vector)
Sets the camera's reference point - the point the camera is looking at. The camera's position is the reference point translated by the direction vector.
Public methodViewOffsetDirection(Axes, Point, Vector, UnitCartesian)
Sets the camera's reference point - the point the camera is looking at. The camera's position is the reference point translated by the direction vector.
Public methodVisibilityTest
Gets the visibility of a sphere against the view frustum and any occluding central bodies.
Public methodWindowToCartographic
Converts a pixel coordinate relative to the Insight3D control to a Cartographic position. For speed, terrain is not considered; if the pixel coordinate does not intersect the ellipsoid, an exception is thrown.
Top
See Also