Interface ICameraController
Defines the interface to a Camera in the SciChartSurface3D scene
Namespace:
Assembly: .dll
Syntax
public interface ICameraController extends IAttachable, IServiceProvider, ISuspendable, IUpdatable3D, IInvalidatableElement
Methods
animate(Vector3 position, Vector3 target, long duration)
Animates camera to specified position
and target
position with specified duration
Declaration
public abstract void animate(Vector3 position, Vector3 target, long duration)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | position | The final position of camera |
Vector3 | target | The final target of camera |
long | duration | The animation duration |
animateZoomToFit(Vector3 resetPosition, long duration)
Zooms camera to fit bounding box of parent surface inside the viewport using current camera position as reset position
Declaration
public abstract void animateZoomToFit(Vector3 resetPosition, long duration)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | resetPosition | The reset position to use |
long | duration | The duration of animation when zooming to fit bounding box |
animateZoomToFit(long duration)
Zooms camera to fit bounding box of parent surface inside the viewport using current camera position as reset position
Declaration
public abstract void animateZoomToFit(long duration)
Parameters
Type | Name | Description |
---|---|---|
long | duration | The duration of animation when zooming to fit bounding box |
calculateRadiusAndTargetToFit(Vector3 targetToFit)
Calculates a Camera target and radius that will fit the bounding box completely inside the viewport.
Declaration
public abstract float calculateRadiusAndTargetToFit(Vector3 targetToFit)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | targetToFit | The camera target to fit the bounding box completely inside the viewport. |
Returns
Type | Description |
---|---|
float | The radius to fit the bounding box completely inside the viewport. |
getAspectRatio()
Gets the Aspect Ratio of the viewport, e.g. 1.333f suggests width is 1.333 * height
Declaration
public abstract float getAspectRatio()
Returns
Type | Description |
---|---|
float | The current aspect ration |
getFarClip()
Gets the Far Clipping distance of the camera. Objects farther than this distance will be invisible to the camera
Declaration
public abstract float getFarClip()
Returns
Type | Description |
---|---|
float | Current far clip value |
getFieldOfView()
Gets the Field of View Angle of the Camera in Degrees
Declaration
public abstract float getFieldOfView()
Returns
Type | Description |
---|---|
float | Current field of view value |
getForward()
Calculated Property: Gets the Normalized Forward (direction) Vector of the Camera as an XYZ Vector3 in World Coordinates
Declaration
public abstract Vector3 getForward()
Returns
Type | Description |
---|---|
Vector3 | Current forward vector |
getNearClip()
Gets the Near Clipping distance of the camera. Objects closer than this distance will be invisible to the camera
Declaration
public abstract float getNearClip()
Returns
Type | Description |
---|---|
float | Current near clip value |
getOrbitalPitch()
Gets the Pitch angle of the camera position relative to the target in DEGREES. This property may be manipulated to change the camera position
Declaration
public abstract float getOrbitalPitch()
Returns
Type | Description |
---|---|
float | The current pitch of camera |
getOrbitalYaw()
Gets the Yaw angle of the camera position relative to the target in DEGREES. This property may be manipulated to change the camera position
Declaration
public abstract float getOrbitalYaw()
Returns
Type | Description |
---|---|
float | The current yaw of camera |
getOrthoHeight()
Gets the Camera Orthogonal Viewport height, used when ProjectionMode is Orthogonal
Declaration
public abstract float getOrthoHeight()
Returns
Type | Description |
---|---|
float | The current ortho height |
getOrthoWidth()
Gets the Camera Orthogonal Viewport width, used when ProjectionMode is Orthogonal
Declaration
public abstract float getOrthoWidth()
Returns
Type | Description |
---|---|
float | The current ortho width |
getPosition()
Gets the Position of the Camera as an XYZ Vector3 in World Coordinates
Declaration
public abstract Vector3 getPosition()
Returns
Type | Description |
---|---|
Vector3 | Current position vector |
getProjectionMode()
Gets the Camera projection mode, e.g. perspective or orthogonal
Declaration
public abstract CameraProjectionMode getProjectionMode()
Returns
Type | Description |
---|---|
CameraProjectionMode | The current projection mode |
getRadius()
Calculated Property: Gets the Radius distance of the camera to target in World Units. This property may be manipulated to change the camera position
Declaration
public abstract float getRadius()
Returns
Type | Description |
---|---|
float | The current radius value |
getSide()
Calculated Property: Gets the Normalized Side Vector of the Camera as an XYZ Vector3 in World Coordinates
Declaration
public abstract Vector3 getSide()
Returns
Type | Description |
---|---|
Vector3 | Current side vector |
getTarget()
Gets or sets the Target of the Camera as an XYZ Vector3 in World Coordinates
Declaration
public abstract Vector3 getTarget()
Returns
Type | Description |
---|---|
Vector3 | Current target vector |
getUp()
Calculated Property: Gets the Normalized Up Vector of the Camera as an XYZ Vector3 in World Coordinates
Declaration
public abstract Vector3 getUp()
Returns
Type | Description |
---|---|
Vector3 | Current up vector |
getZoomToFitOnAttach()
Gets whether or not the Camera should be zoomed to fit the parent scene bounds when it's attached
Declaration
public abstract boolean getZoomToFitOnAttach()
Returns
Type | Description |
---|---|
boolean | The current zoom to fit on attach value |
getZoomToFitScaleFactor()
Gets the scale factor which is applied during calculation when Camera should be zoomed to fit the parent scene bounds
Declaration
public abstract float getZoomToFitScaleFactor()
Returns
Type | Description |
---|---|
float | The current scale factor |
setAspectRatio(float aspectRatio)
Sets the Aspect Ratio of the viewport, e.g. 1.333f suggests width is 1.333 * height
Declaration
public abstract void setAspectRatio(float aspectRatio)
Parameters
Type | Name | Description |
---|---|---|
float | aspectRatio | The new aspect ration |
setCameraUpdateListener(ICameraUpdateListener cameraUpdateListener)
Sets the ICameraUpdateListener which is called when this ICameraController is updated
Declaration
public abstract void setCameraUpdateListener(ICameraUpdateListener cameraUpdateListener)
Parameters
Type | Name | Description |
---|---|---|
ICameraUpdateListener | cameraUpdateListener | The listener to set |
setFarClip(float farClip)
Sets the Far Clipping distance of the camera. Objects farther than this distance will be invisible to the camera
Declaration
public abstract void setFarClip(float farClip)
Parameters
Type | Name | Description |
---|---|---|
float | farClip | The new far clip value |
setFieldOfView(float fieldOfView)
Sets the Field of View Angle of the Camera in Degrees
Declaration
public abstract void setFieldOfView(float fieldOfView)
Parameters
Type | Name | Description |
---|---|---|
float | fieldOfView | The new field of view value |
setNearClip(float nearClip)
Sets the Near Clipping distance of the camera. Objects closer than this distance will be invisible to the camera
Declaration
public abstract void setNearClip(float nearClip)
Parameters
Type | Name | Description |
---|---|---|
float | nearClip | The new near clip value |
setOrbitalPitch(float orbitalPitch)
Sets the Pitch angle of the camera position relative to the target in DEGREES. This property may be manipulated to change the camera position
Declaration
public abstract void setOrbitalPitch(float orbitalPitch)
Parameters
Type | Name | Description |
---|---|---|
float | orbitalPitch | The new pitch value |
setOrbitalYaw(float orbitalYaw)
Sets the Yaw angle of the camera position relative to the target in DEGREES. This property may be manipulated to change the camera position
Declaration
public abstract void setOrbitalYaw(float orbitalYaw)
Parameters
Type | Name | Description |
---|---|---|
float | orbitalYaw | The new yaw value |
setOrthoHeight(float orthoHeight)
Sets the Camera Orthogonal Viewport height, used when ProjectionMode is Orthogonal
Declaration
public abstract void setOrthoHeight(float orthoHeight)
Parameters
Type | Name | Description |
---|---|---|
float | orthoHeight | The new ortho height |
setOrthoWidth(float orthoWidth)
Sets the Camera Orthogonal Viewport width, used when ProjectionMode is Orthogonal
Declaration
public abstract void setOrthoWidth(float orthoWidth)
Parameters
Type | Name | Description |
---|---|---|
float | orthoWidth | The new ortho width |
setPosition(Vector3 position)
Sets the Position of the Camera as an XYZ Vector3 in World Coordinates
Declaration
public abstract void setPosition(Vector3 position)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | position | The new position vector |
setPositionAndTarget(Vector3 position, Vector3 target)
Sets the Position and the Target of the Camera as XYZ Vector3 in World Coordinates and
Declaration
public abstract void setPositionAndTarget(Vector3 position, Vector3 target)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | position | The new position |
Vector3 | target | The new target |
setProjectionMode(CameraProjectionMode projectionMode)
Sets the Camera projection mode, e.g. perspective or orthogonal
Declaration
public abstract void setProjectionMode(CameraProjectionMode projectionMode)
Parameters
Type | Name | Description |
---|---|---|
CameraProjectionMode | projectionMode | The new projection mode |
setRadius(float radius)
Calculated Property: Sets the Radius distance of the camera to target in World Units. This property may be manipulated to change the camera position
Declaration
public abstract void setRadius(float radius)
Parameters
Type | Name | Description |
---|---|---|
float | radius | The new radius value |
setTarget(Vector3 target)
Sets the Target of the Camera as an XYZ Vector3 in World Coordinates
Declaration
public abstract void setTarget(Vector3 target)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | target | The new target vector |
setZoomToFitOnAttach(boolean zoomToFitOnAttach)
Sets whether or not the Camera should be zoomed to fit the parent scene bounds when it's attached
Declaration
public abstract void setZoomToFitOnAttach(boolean zoomToFitOnAttach)
Parameters
Type | Name | Description |
---|---|---|
boolean | zoomToFitOnAttach | The new |
setZoomToFitScaleFactor(float zoomToFitScaleFactor)
Sets the scale factor which is applied during calculation when Camera should be zoomed to fit the parent scene bounds
Declaration
public abstract void setZoomToFitScaleFactor(float zoomToFitScaleFactor)
Parameters
Type | Name | Description |
---|---|---|
float | zoomToFitScaleFactor | The new scale factor |
toOrthogonal()
Switches the camera to Orthogonal mode
Declaration
public abstract void toOrthogonal()
toPerspective()
Switches the camera to Perspective mode
Declaration
public abstract void toPerspective()
zoomToFit()
Zooms camera to fit bounding box of parent surface inside the viewport using current camera position as reset position
Declaration
public abstract void zoomToFit()
zoomToFit(Vector3 resetPosition)
Zooms camera to fit bounding box of parent surface inside the viewport using specified reset position
Declaration
public abstract void zoomToFit(Vector3 resetPosition)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | resetPosition | The reset position to use |