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;