| 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. | |
| blur | Amount of blur to apply to out of focus areas. | |
| exposureCompensation | Adjusts the exposure of the rendering. | |
| exposureMode | Defines how to map the color values in the framebuffer to fit them in the [0 - 1] range. | |
| 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. It also controls additional camera parameters such as exposure compensation and exposure mode. You should place cameras before any shape nodes or light nodes in a scene graph; otherwise, those shapes or lights will not render correctly.
The current transformation affects cameras, this allows you to 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.
The OIV.Inventor.ViewerComponents.SoCameraInteractor class provides useful algorithms for manipulating a camera.
Note: Exposure parameters impact OIV.Inventor.Nodes.SoGradientBackground in an undesirable way. Exposure parameters do not impact the OIV.Inventor.Nodes.SoAnnotation scene graph.
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;