SoCamera Class |
Abstract base class for camera nodes.
Namespace: OIV.Inventor.Nodes
The SoCamera type exposes the following members.
Name | Description | |
---|---|---|
![]() | AffectsState | Returns true if a node has an effect on the state during traversal. |
![]() | AllowStereo | Obsolete. Allows the camera to render in stereo. |
![]() | Callback | (Overrides SoNodeCallback(SoCallbackAction).) |
![]() | Copy | Calls Copy(false). (Inherited from SoNode.) |
![]() | Copy(Boolean) | Creates and returns an exact copy of the node. |
![]() | CopyFieldValues(SoFieldContainer) | Calls CopyFieldValues(fc, false). (Inherited from SoFieldContainer.) |
![]() | CopyFieldValues(SoFieldContainer, Boolean) | Copies the contents of fc's fields into this object's fields. |
![]() | Dispose |
Releases all resources used by SoDisposable.
(Inherited from SoDisposable.) |
![]() | Distribute | (Inherited from SoNode.) |
![]() | DoAction | (Overrides SoNodeDoAction(SoAction).) |
![]() | EnableNotify | Notification at this Field Container is enabled (if flag == true) or disabled (if flag == false). |
![]() | Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
![]() | FieldsAreEqual | Returns true if this object's fields are exactly equal to fc's fields. |
![]() | Get | Returns the values of the fields of this object in the Open Inventor ASCII file format in the given string. |
![]() | GetAllFields | Returns a list of fields, including the eventIn's and eventOut's. |
![]() | GetAlternateRep | This method is called by actions to allow the node to provide an "alternate representation" when appropriate (typically depending on the action type). |
![]() | GetBalanceAdjustment | Obsolete. Queries the parallax balance. |
![]() | GetBoundingBox | (Overrides SoNodeGetBoundingBox(SoGetBoundingBoxAction).) |
![]() | GetEventIn | Returns a the eventIn with the given name. |
![]() | GetEventOut | Returns the eventOut with the given name. |
![]() | GetField | Returns a the field of this object whose name is fieldName. |
![]() | GetFieldName | Returns the name of the given field in the fieldName argument. |
![]() | GetFields | Appends references to all of this object's fields to resultList, and returns the number of fields appended. |
![]() | GetHashCode |
Overrides GetHashCode().
(Inherited from SoNetBase.) |
![]() | GetMatrix | (Inherited from SoNode.) |
![]() | GetName | Returns the name of an instance. |
![]() | GetPrimitiveCount | (Overrides SoNodeGetPrimitiveCount(SoGetPrimitiveCountAction).) |
![]() | GetRenderEngineMode | Returns the supported Render engine mode. |
![]() | GetRenderUnitID | (Inherited from SoNode.) |
![]() | GetStereoAbsoluteAdjustment | Obsolete. Queries the stereo absolute adjustment state. |
![]() | GetStereoAdjustment | Obsolete. Queries the stereo offset. |
![]() | GetStereoMode | Queries the stereo mode. |
![]() | GetStringName | (Inherited from SoBase.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | GetViewportBounds | Returns the viewport region this camera would use to render into the given viewport region, accounting for cropping. |
![]() | GetViewVolume | Calls GetViewVolume(0.0). |
![]() | GetViewVolume(Single) | Returns a view volume object, based on the camera's viewing parameters. |
![]() | GetViewVolume(Single, Single, Single, SbVec3f, SbRotation) | Computes a view volume from the given parameters. |
![]() | GLRender | (Overrides SoNodeGLRender(SoGLRenderAction).) |
![]() | GLRenderBelowPath | (Inherited from SoNode.) |
![]() | GLRenderInPath | (Inherited from SoNode.) |
![]() | GLRenderOffPath | (Inherited from SoNode.) |
![]() | GrabEventsCleanup | (Inherited from SoNode.) |
![]() | GrabEventsSetup | (Inherited from SoNode.) |
![]() | HandleEvent | (Overrides SoNodeHandleEvent(SoHandleEventAction).) |
![]() | HasDefaultValues | Returns true if all of the object's fields have their default values. |
![]() | IsBalanceAdjustmentNearFrac | Obsolete. Returns true if the stereo balance adjustement is defined as a fraction of the camera near distance. |
![]() | IsBoundingBoxIgnoring | This method is used by getBoundingBox action traversal to know if the current node must be traversed or not, ie the bounding should be ignored. |
![]() | IsNotifyEnabled | Notification is the process of telling interested objects that this object has changed. |
![]() | IsOverride | Returns the state of the override flag. |
![]() | IsSynchronizable | Gets the ScaleViz synchronizable state of this object. |
![]() | Pick | (Inherited from SoNode.) |
![]() | PointAt | Sets the orientation of the camera so that it points toward the given target point while keeping the "up" direction of the camera parallel to the positive y-axis. |
![]() | RayPick | (Overrides SoNodeRayPick(SoRayPickAction).) |
![]() | ScaleHeight | Scales the height of the camera. |
![]() | Search | (Inherited from SoNode.) |
![]() | Set | Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format. |
![]() | SetBalanceAdjustment(Single) | Obsolete. Calls SetBalanceAdjustment(adjustment, false). |
![]() | SetBalanceAdjustment(Single, Boolean) | Obsolete. Sets the stereo balance (the position of the zero parallax plane) and specifies whether the balance value is defined as a fraction of the camera near distance. |
![]() | SetName | (Inherited from SoBase.) |
![]() | SetOverride | Turns the override flag on or off. |
![]() | SetStereoAbsoluteAdjustments | Obsolete. Specifies if stereo adjustments are absolute. |
![]() | SetStereoAdjustment | Obsolete. Sets the stereo offset (the distance of each eye from the camera position). |
![]() | SetStereoMode | Sets the stereo mode. |
![]() | SetSynchronizable | Sets this to be a ScaleViz synchronizable object. |
![]() | SetToDefaults | Sets all fields in this object to their default values. |
![]() | ToString |
Converts this SoBase structure to a human readable string.
(Inherited from SoBase.) |
![]() | Touch | Marks an instance as modified, simulating a change to it. |
![]() | ViewAll(SbBox3f, SbViewportRegion) | Sets the camera to view the region defined by the given bounding box. |
![]() | ViewAll(SoNode, SbViewportRegion) | Calls ViewAll(sceneRoot, vpRegion, 1.0). |
![]() | ViewAll(SoPath, SbViewportRegion) | Calls ViewAll(path, vpRegion, 1.0). |
![]() | ViewAll(SoNode, SbViewportRegion, Single) | Sets the camera to view the scene rooted by the given node. |
![]() | ViewAll(SoPath, SbViewportRegion, Single) | Sets the camera to view the scene defined by the given path. |
![]() | Write | (Inherited from SoNode.) |
Name | Description | |
---|---|---|
![]() | aspectRatio | The ratio of camera viewing width to height. |
![]() | farDistance | The distance from the camera viewpoint to the far clipping plane. |
![]() | focalDistance | The distance from the viewpoint to the point of focus. |
![]() | IsDisposable | ISafeDisposable interface implementation.
(Inherited from SoDisposable.) |
![]() | nearDistance | The distance from the camera viewpoint to the near clipping plane. |
![]() | orientation | The orientation of the camera viewpoint, defined as a rotation of the viewing direction from its default (0,0,-1) vector. |
![]() | position | The location of the camera viewpoint. |
![]() | UserData |
Gets or sets the user data to be contained by the field container.
(Inherited from SoFieldContainer.) |
![]() | viewportMapping | Defines how to map the rendered image into the current viewport, when the aspect ratio of the camera differs from that of the viewport. |
This is the abstract base class for all camera nodes. It defines the common methods and fields that all cameras have. Cameras are used to view a scene. When a camera is encountered during rendering, it sets the projection and viewing matrices and viewport appropriately; it does not draw geometry. Cameras should be placed before any shape nodes or light nodes in a scene graph; otherwise, those shapes or lights cannot be rendered properly. Cameras are affected by the current transformation, so you can position a camera by placing a transformation node before it in the scene graph. The default position and orientation of a camera is at (0,0,1) looking along the negative z-axis.
You can also use a node kit to create a camera; see the reference page for OIV.Inventor.Nodekits.SoCameraKit.
Useful algorithms for manipulating a camera are provided in the OIV.Inventor.ViewerComponents.SoCameraInteractor class.
Compute the current view vector or up vector.
SoCamera camera . . . SbRotation orientation = camera.orientation.Value; SbVec3f upVec; orientation.MultVec( new SbVec3f(0,1,0), out upVec ); SbVec3f vwVec; orientation.MultVec( new SbVec3f(0,0,-1), out vwVec );
SbMatrix mx; mx.SetRotate(camera.orientation.Value); SbVec3f upVec = new SbVec3f( mx[1,0], mx[1,1], mx[1,2] ); SbVec3f vwVec = new SbVec3f(-mx[2,0], -mx[2,1], -mx[2,2]); Compute the current focal point. \par \code SbMatrix mx; mx.SetRotate(camera.orientation.Value); SbVec3f vwVec = new SbVec3f(-mx[2,0], -mx[2,1], -mx[2,2]); SbVec3f focalPt = camera.position.Value + camera.focalDistance.Value * vwVec;