Click or drag to resize
ViewportInfo Methods

The ViewportInfo type exposes the following members.

Methods
  NameDescription
Public methodChangeToParallelProjection
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.
Public methodChangeToPerspectiveProjection
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.
Public methodChangeToSymmetricFrustum
If needed, adjusts the current frustum so it has the specified symmetries and adjust the camera location so the target plane remains visible.
Public methodChangeToTwoPointPerspectiveProjection
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.
Public methodDispose
Actively reclaims unmanaged resources that this instance uses.
Public methodDollyCamera
DollyCamera() does not update the frustum's clipping planes. To update the frustum's clipping planes call DollyFrustum(d) with d = dollyVector o cameraFrameZ. To convert screen locations into a dolly vector, use GetDollyCameraVector(). Does not update frustum. To update frustum use DollyFrustum(d) with d = dollyVector o cameraFrameZ.
Public methodDollyExtents(BoundingBox, Double)
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.
Public methodDollyExtents(IEnumerableGeometryBase, Double)
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.
Public methodDollyFrustum
Moves the frustum clipping planes.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodExtents(Double, BoundingBox)
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 frustrum. The view angle is used to determine the position of the camera.

Public methodExtents(Double, Sphere)
Extends this viewport view to include a sphere.

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

Public methodFrustumCenterPoint
Return a point on the central axis of the view frustum. This point is a good choice for a general purpose target point.
Public methodGetBoundingBoxDepth
Gets near and far clipping distances of a bounding box. This function ignores the current value of the viewport's near and far settings. If the viewport is a perspective projection, the it intersects the semi infinite frustum volume with the bounding box and returns the near and far distances of the intersection. If the viewport is a parallel projection, it instersects the infinte view region with the bounding box and returns the near and far distances of the projection.
Public methodGetCameraAngles
Gets the field of view angles.
Public methodGetCameraFrame
Gets location and vectors of this camera.
Public methodGetDollyCameraVector(Point, Point, Double)
Gets a world coordinate dolly vector that can be passed to DollyCamera().
Public methodGetDollyCameraVector(Int32, Int32, Int32, Int32, Double)
Gets a world coordinate dolly vector that can be passed to DollyCamera().
Public methodGetFarPlaneCorners
Gets the corners of far clipping plane rectangle. 4 points are returned in the order of bottom left, bottom right, top left, top right.
Public methodGetFrustum
Gets the view frustum.
Public methodGetFrustumLine(Point)
Gets the world coordinate line in the view frustum that projects to a point on the screen.
Public methodGetFrustumLine(PointF)
Gets the world coordinate line in the view frustum that projects to a point on the screen.
Public methodGetFrustumLine(Double, Double)
Gets the world coordinate line in the view frustum that projects to a point on the screen.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetNearPlaneCorners
Gets the corners of near clipping plane rectangle. 4 points are returned in the order of bottom left, bottom right, top left, top right.
Public methodGetObjectData
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
Public methodGetPointDepth
Gets the clipping distance of a point. This function ignores the current value of the viewport's near and far settings. If the viewport is a perspective projection, then it intersects the semi infinite frustum volume with the bounding box and returns the near and far distances of the intersection. If the viewport is a parallel projection, it instersects the infinte view region with the bounding box and returns the near and far distances of the projection.
Public methodGetScreenPort
Gets the location of viewport in pixels. See documentation for SetScreenPort.
Public methodGetScreenPort(Int32, Int32)
Gets the location of viewport in pixels.

See value meanings in SetScreenPort.

Public methodGetSphereDepth
Gets near and far clipping distances of a bounding sphere.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetWorldToScreenScale
Gets the scale factor from point in frustum to screen scale.
Public methodGetXform
Computes a transform from a coordinate system to another.
Public methodSetCameraDirection
Sets the direction that the camera faces.
Public methodSetCameraLocation
Sets the camera location (position) point.
Public methodSetCameraUp
Sets the camera up vector.
Public methodSetFrustum
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.
Public methodSetFrustumNearFar(BoundingBox)
Sets the frustum near and far using a bounding box.
Public methodSetFrustumNearFar(Double, Double)
Sets the frustum near and far distances using two values.
Public methodSetFrustumNearFar(Point3d, Double)
Sets the frustum near and far using a center point and radius.
Public methodSetFrustumNearFar(Double, Double, Double, Double, Double)
Sets near and far clipping distance subject to constraints.
Public methodSetScreenPort(Rectangle)
Gets the location of viewport in pixels.

See value meanings in SetScreenPort.

Public methodSetScreenPort(Rectangle, Int32, Int32)
Gets the location of viewport in pixels.

See value meanings in SetScreenPort.

Public methodSetScreenPort(Int32, Int32, Int32, Int32, Int32, Int32)
Location of viewport in pixels. These are provided so you can set the port you are using and get the appropriate transformations to and from screen space. // For a Windows window / int width = width of window client area in pixels; / int height = height of window client area in pixels; / port_left = 0; / port_right = width; / port_top = 0; / port_bottom = height; / port_near = 0; / port_far = 1; / SetScreenPort( port_left, port_right, / port_bottom, port_top, / port_near, port_far );
Public methodTargetDistance
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.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodUnlockCamera
Unlocks the camera vectors and location.
Public methodUnlockFrustumSymmetry
Unlocks frustum horizontal and vertical symmetries.
Public methodZoomToScreenRect(Rectangle)
Zooms to a screen zone.

View changing from screen input points. Handy for using a mouse to manipulate a view. ZoomToScreenRect() may change camera and frustum settings.

Public methodZoomToScreenRect(Int32, Int32, Int32, Int32)
Zooms to a screen zone.

View changing from screen input points. Handy for using a mouse to manipulate a view. ZoomToScreenRect() may change camera and frustum settings.

Top
See Also