Class ViewportInfo

Hierarchy (view full)

Constructors

Properties

camera35mmLensLength: number

This property assumes the camera is horizontal and crop the film rather than the image when the aspect of the frustum is not 36/24. (35mm film is 36mm wide and 24mm high.) Setting preserves camera location, changes the frustum, but maintains the frustum's aspect.

cameraAngle: number

Gets or sets the 1/2 smallest angle. See for more information.

cameraDirection: number[]

Gets the direction that the camera faces.

cameraLocation: number[]

Gets the camera location (position) point.

cameraUp: number[]

Gets the camera up vector.

cameraX: number[]

Gets the unit "to the right" vector.

cameraY: number[]

Gets the unit "up" vector.

cameraZ: number[]

Gets the unit vector in -CameraDirection.

id: string

Sets the viewport's id to the value used to uniquely identify this viewport. There is no approved way to change the viewport id once it is set in order to maintain consistency across multiple viewports and those routines that manage them.

isParallelProjection: boolean

Get or set whether this projection is parallel.

isPerspectiveProjection: boolean

Get or set whether this projection is perspective.

isTwoPointPerspectiveProjection: boolean

Gets a value that indicates whether this projection is a two-point perspective.

isValid: boolean

Tests an object to see if it is valid.

isValidCamera: boolean

Gets a value that indicates whether the camera is valid.

isValidCameraFrame: boolean
isValidFrustum: boolean

Gets a value that indicates whether the frustum is valid.

isValidWithLog: [boolean, string]

...

screenPort: number[]

Get or set the screen port. and

screenPortAspect: number

Gets the screen aspect ratio. This is width / height.

targetPoint: number[]

The current value of the target point. This point does not play a role in the view projection calculations. It can be used as a fixed point when changing the camera so the visible regions of the before and after frustums both contain the region of interest. The default constructor sets this point on ON_3dPoint::UnsetPoint. You must explicitly call one SetTargetPoint() functions to set the target point.

userStringCount: number

Gets the amount of user strings.

Methods

  • Parameters

    • symmetricFrustum: boolean

      true if you want the resulting frustum to be symmetric.

    Returns boolean

    true if the operation succeeded; otherwise, false.

    Description

    Use this function to change projections of valid viewports from parallel to perspective. It will make common additional adjustments to the frustum and camera location so the resulting views are similar. The camera direction and target point are not be changed. If the current projection is parallel and symmetricFrustum, FrustumIsLeftRightSymmetric() and FrustumIsTopBottomSymmetric() are all equal, then no changes are made and true is returned.

  • Parameters

    • targetDistance: number

      If RhinoMath.UnsetValue this parameter is ignored. Otherwise it must be > 0 and indicates which plane in the current view frustum should be preserved.

    • symmetricFrustum: boolean

      true if you want the resulting frustum to be symmetric.

    • lensLength: number

      (pass 50.0 when in doubt) 35 mm lens length to use when changing from parallel to perspective projections. If the current projection is perspective or lens_length is <= 0.0, then this parameter is ignored.

    Returns boolean

    true if the operation succeeded; otherwise, false.

    Description

    Use this function to change projections of valid viewports from parallel to perspective. It will make common additional adjustments to the frustum and camera location so the resulting views are similar. The camera direction and target point are not changed. If the current projection is perspective and symmetricFrustum, IsFrustumIsLeftRightSymmetric, and IsFrustumIsTopBottomSymmetric are all equal, then no changes are made and true is returned.

  • Parameters

    • targetDistance: number

      If RhinoMath.UnsetValue this parameter is ignored. Otherwise it must be > 0 and indicates which plane in the current view frustum should be preserved.

    • up: number[]

      The locked up direction. Pass Vector3d.Zero if you want to use the world axis direction that is closest to the current up direction. Pass CameraY() if you want to preserve the current up direction.

    • lensLength: number

      (pass 50.0 when in doubt) 35 mm lens length to use when changing from parallel to perspective projections. If the current projection is perspective or lens_length is <= 0.0, then this parameter is ignored.

    Returns boolean

    true if the operation succeeded; otherwise, false.

    Description

    Changes projections of valid viewports to a two point perspective. It will make common additional adjustments to the frustum and camera location and direction so the resulting views are similar. If the current projection is perspective and IsFrustumIsLeftRightSymmetric is true and IsFrustumIsTopBottomSymmetric is false, then no changes are made and true is returned.

  • Parameters

    • border: number

      If border > 1.0, then the frustum in enlarged by this factor to provide a border around the view. 1.1 works well for parallel projections; 0.0 is suggested for perspective projections.

    Returns boolean

    True if successful.

    Description

    Dolly the camera location and so that the view frustum contains all of the document objects that can be seen in view. If the projection is perspective, the camera angle is not changed.

  • Parameters

    • halfViewAngleRadians: number

      1/2 smallest subtended view angle in radians.

    • bbox: BoundingBox

      A bounding box in 3d world coordinates.

    Returns boolean

    true if the operation succeeded; otherwise, false.

    Description

    Extends this viewport view to include a bounding box. Use Extents() as a quick way to set a viewport to so that bounding volume is inside of a viewports frustum. The view angle is used to determine the position of the camera.

  • Parameters

    • targetDistance: number

      If targetDistance > 0.0, then the distance from the returned point to the camera plane will be targetDistance. Note that if the frustum is not symmetric, the distance from the returned point to the camera location will be larger than targetDistance. If targetDistance == ON_UNSET_VALUE and the frustum is valid with near > 0.0, then 0.5*(near + far) will be used as the targetDistance.

    Returns number[]

    A point on the frustum's central axis. If the viewport or input is not valid, then ON_3dPoint::UnsetPoint is returned.

    Description

    Return a point on the central axis of the view frustum. This point is a good choice for a general purpose target point.

  • Returns object

    [boolean, number, number, number, number, number, number] (boolean) true if operation succeeded; otherwise, false. (number) A left value that will be filled during the call. (number) A right value that will be filled during the call. (number) A bottom value that will be filled during the call. (number) A top value that will be filled during the call. (number) A near distance value that will be filled during the call. (number) A far distance value that will be filled during the call.

    Description

    Gets the view frustum.

  • Parameters

    • key: string

      id used to retrieve the string.

    Returns string

    string associated with the key if successful. null if no key was found.

    Description

    Gets user string from this geometry.

  • Parameters

    Returns Transform

    The 4x4 transformation matrix (acts on the left).

    Description

    Computes a transform from a coordinate system to another.

  • Parameters

    • direction: number[]

      A new direction.

    Returns boolean

    true if the direction was set; otherwise false.

    Description

    Sets the direction that the camera faces.

  • Parameters

    • point: number[]

    Returns boolean

    true if the operation succeeded; otherwise, false.

    Description

    Sets the camera location (position) point.

  • Parameters

    • up: number[]

      A new direction.

    Returns boolean

    true if the direction was set; otherwise false.

    Description

    Sets the camera up vector.

  • Parameters

    • left: number

      A new left value.

    • right: number

      A new right value.

    • bottom: number

      A new bottom value.

    • top: number

      A new top value.

    • nearDistance: number

      A new near distance value.

    • farDistance: number

      A new far distance value.

    Returns boolean

    true if operation succeeded; otherwise, false.

    Description

    Sets the view frustum. If FrustumSymmetryIsLocked() is true and left != -right or bottom != -top, then they will be adjusted so the resulting frustum is symmetric.

  • Parameters

    • key: string

      id used to retrieve this string.

    • value: string

      string associated with key.

    Returns boolean

    true if successful, false if not.

    Description

    Attach a user string (key,value combination) to this geometry.

  • Parameters

    • useFrustumCenterFallback: boolean

      If bUseFrustumCenterFallback is false and the target point is not valid, then ON_UNSET_VALUE is returned. If bUseFrustumCenterFallback is true and the frustum is valid and current target point is not valid or is behind the camera, then 0.5*(near + far) is returned.

    Returns number

    Shortest signed distance from camera plane to target point. If the target point is on the visible side of the camera, a positive value is returned. ON_UNSET_VALUE is returned when the input of view is not valid.

    Description

    Gets the distance from the target point to the camera plane. Note that if the frustum is not symmetric, then this distance is shorter than the distance from the target to the camera location.

  • Parameters

    • json: object

      A json formatted object in the following format (values are orientative):

      {
      version: 10000,
      archive3dm: 60,
      opennurbs: -1877964208,
      data: 'encoded 3dm object data'
      }

    Returns CommonObject

    Description

    Decodes a Rhino Object

Generated using TypeDoc