@twinfinity/core
    Preparing search index...

    Interface TwinfinityCameraExtensions

    Includes methods and properties for querying and manipulating a Camera instance.

    interface TwinfinityCameraExtensions {
        hasMovedInCurrentFrame: boolean;
        perspectiveDistanceFromOrtho: number;
        get viewer(): undefined | TwinfinityViewer;
        clearHasMovedInCurrentFrame(): void;
        computeOrthographicZoomSpeed(distance: number): number;
        createPickingRayToRef(dst: Ray, o: CanvasPosition): Ray;
        getFrustumToRef(dst: FrustumPlanes): FrustumPlanes;
        getOrthoFrustumSizeToRef(dst: Vertex2): Vertex2;
        pick(o: PickOption): PickResult;
        setOrtho(o: { distance: number } | { height: number }): void;
        stateSnapshot(): TwinfinityCameraStateSnapshot;
    }

    Hierarchy (View Summary)

    Index

    Properties

    hasMovedInCurrentFrame: boolean

    true if the camera has somehow moved during this frame. Otherwise false. Will automatically be reset to false after each frame has rendered (if camera is used by TwinfinityViewer).

    perspectiveDistanceFromOrtho: number

    Gets the distance that the camera has to be positioned at (perpendicular to pivot plane) when in perspective mode to get approximately the same view. The objects in the center of the frustum will appear to have almost the same size.

    Accessors

    Methods

    • Internal

      Is used by orthographic camera when calculating zoom speed.

      Parameters

      • distance: number

        Distance to change the orthographic frustum size with. Only for internal use.

      Returns number

      speed.

    • Creates a ray from the camera through the screen coordinate defined by o. This ray is useful for pick operations.

      Parameters

      • dst: Ray

        Ray is written here.

      • o: CanvasPosition

        Optional. If not specified then the center of the canvas is used.

      Returns Ray

    • Sets the orthographic frustum based on either distance or height

      Parameters

      • o: { distance: number } | { height: number }

        Sets orthographic frustum based on either distance or height. If height then Camera.orthoBottom = -height / 2 and Camera.orthoTop is set to height / 2. Camera.orthoLeft and Camera.orthoRight is then calculated using the aspect ratio.- If distance then frustum is sized optimally so a object in center of camera at distance will get approx the same size as it would with the perspective camera.

      Returns void