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 |