Click or drag to resize

CameraBase Class

Represents the camera. Classes derived from here are meant to be immutable.
Inheritance Hierarchy

Namespace: Altaxo.Graph.Graph3D.Camera
Assembly: AltaxoBase (in AltaxoBase.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public abstract class CameraBase : IImmutable

The CameraBase type exposes the following members.

Constructors
 NameDescription
Protected methodCameraBaseInitializes a new instance of the CameraBase class
Top
Properties
 NameDescription
Public propertyDistance Gets the distance of the camera from the target position.
Public propertyEyePosition Gets the camera position, the so-called eye position.
Public propertyInverseLookAtRHMatrix Gets the inverse LookAtRH matrix. This matrix transforms a point from the camera coordinate system to the world coordinate system, i.e. the point (0,0,0) is transformed to (CameraPosition.X, CameraPosition.Y, CameraPosition.Z).
Public propertyLookAtRHMatrix Returns the same matrix that the Direct3D function LookAtRH would provide.
Public propertyRightVectorPerpendicularToEyeVectorNormalized Gets the normalized right vector, that is made perpendicular to the eye vector.
Public propertyScreenOffset Gets the screen offset. The screen offset has to be used only in extraordinary situation, e.g. for shifting to simulate multisampling; or for shifting to center the exported bitmap. It is not serialized either.
Public propertyTargetPosition Gets the position the camera is looking at.
Public propertyTargetToEyeVector Gets the eye vector, i.e. the vector pointing from target to the camera eye.
Public propertyTargetToEyeVectorNormalized Gets the normalized eye vector, i.e. the vector pointing from target to the camera eye.
Public propertyUpVector Gets the camera up vector.
Public propertyUpVectorPerpendicularToEyeVectorNormalized Gets the normalized up vector, that is made perpendicular to the eye vector.
Public propertyWidthAtTargetDistance Gets the width of the view field at target distance.
Public propertyWidthAtZNear Gets the width of the view field at ZNear distance.
Public propertyZFar Gets the maximum distance the camera is 'seeing' something. Objects farther away than this distance (from the camera) will not be visible.
Public propertyZNear Gets the minimum distance the camera is 'seeing' something. Objects closer than this distance (from the camera) will not be visible.
Top
Methods
 NameDescription
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetHitRayMatrix Gets a matrix for a hit point on the screen. The hit point is given in relative coordinates (X and Y component). The screen's aspect ratio is given in the Z component. The result is a matrix which transforms world coordinates in that way that the hit ray in world coordinates is transformed to x=0 and y=0 and z being the distance to the camera.
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodGetViewProjectionMatrix Gets the result of LookAtRH matrix multiplied with the ViewRH matrix (ViewRH is either OrthoRH or PerspectiveRH, depending on the camera type).
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Public methodWithDistanceByChangingEyePosition Gets a new camera with the distance between eye and target as provided in the argument distance. The new distance is set by changing the eye position of the camera.
Public methodWithEyeTarget Creates a new camera with provided eyePosition and targetPosition;
Public methodWithLookAtRHMatrix(Matrix4x3) Creates a new camera which has the LookAtRH matrix as provided in the argument. Up and eye vector as well as eye position are calculated from the provided matrix, the target position is in such a way calculated that the distance is kept constant.
Public methodWithLookAtRHMatrix(Matrix4x3, Double) Creates a new camera which has the LookAtRH matrix as provided in the argument. Up and eye vector as well as eye position are calculated from the provided matrix, the target position is calculated from the eye vector and the provided newDistance value.
Public methodWithScreenOffset Gets a new instance with ScreenOffset set to the provided value. The screen offset has to be used only in extraordinary situation, e.g. for shifting to simulate multisampling; or for shifting to center the exported bitmap. It is not serialized either.
Public methodWithUpEye Creates a new camera with provided upVector and eyePosition.
Public methodWithUpEyeTarget Creates a new camera with provided upVector, eyePosition, targetPosition.
Public methodWithUpEyeTargetZNearZFar Creates a new camera with provided upVector, eyePosition, targetPosition, znear and zfar distance..
Public methodWithWidthAtZNear Gets a new instance of this camera, with WidthAtZNear set to the provided argument.
Public methodWithZNearZFarWithoutChangingViewAngle Gets a new instance of the camera with ZNear and ZFar set to the provided values. The WidthAtTargetDistance is adjusted so that the view angle of the camera is not changed.
Top
Fields
 NameDescription
Protected field_eyePosition 
Protected field_screenOffset Gets or sets the screen offset. The screen offset has to be used only in extraordinary situation, e.g. for shifting to simulate multisampling; or for shifting to center the exported bitmap. This is a relative value - relative to the dimensions of the screen. It is not serialized either.
Protected field_targetPosition 
Protected field_upVector 
Protected field_widthAtZNear 
Protected field_zFar 
Protected field_zNear 
Top
See Also