GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  SOCAMERA (3)

NAME

SoCamera — abstract base class for camera nodes

CONTENTS

Inherits From
Synopsis
Description
Fields
Methods
File Format/defaults
See Also

INHERITS FROM

SoBase > SoFieldContainer > SoNode > SoCamera

SYNOPSIS

#include <Inventor/nodes/SoCamera.h>

#define SO_ASPECT_SQUARE 1.00
#define SO_ASPECT_VIDEO 1.333333333
#define SO_ASPECT_35mm_ACADEMY 1.371
#define SO_ASPECT_16mm 1.369
#define SO_ASPECT_35mm_FULL 1.33333
#define SO_ASPECT_70mm 2.287
#define SO_ASPECT_CINEMASCOPE 2.35
#define SO_ASPECT_HDTV 1.777777777
#define SO_ASPECT_PANAVISION 2.361
#define SO_ASPECT_35mm 1.5
#define SO_ASPECT_VISTAVISION 2.301

enum ViewportMapping {     SoCamera::CROP_VIEWPORT_FILL_FRAME    
                          SoCamera::CROP_VIEWPORT_FILL_FRAME Crops the viewport within the current window, so that the aspect ratio matches that of the camera. As the window size changes, the aspect ratio remains unchanged. The cropped region is drawn as a filled gray area.    
SoCamera::CROP_VIEWPORT_LINE_FRAME    
                          SoCamera::CROP_VIEWPORT_LINE_FRAME Crops the viewport, but draws a thin frame around the viewport    
SoCamera::CROP_VIEWPORT_NO_FRAME    
                          SoCamera::CROP_VIEWPORT_NO_FRAME Crops the viewport, but gives no visual feedback as to the viewport dimensions within the window    
SoCamera::ADJUST_CAMERA    
                          SoCamera::ADJUST_CAMERA   Adjusts the camera aspect ratio and height to make it fit within the given window. (The camera’s fields are not affected, just the values sent to the graphics library.)    
SoCamera::LEAVE_ALONE    
                          SoCamera::LEAVE_ALONE     Do nothing. Camera image may become stretched out of proportion
}

Fields from class SoCamera:

    SoSFEnum    
                    
SoSFEnum             viewportMapping    
SoSFVec3f    
                    
SoSFVec3f            position    
SoSFRotation    
                    
SoSFRotation         orientation    
SoSFFloat    
                    
SoSFFloat            aspectRatio    
SoSFFloat    
                    
SoSFFloat            nearDistance    
SoSFFloat    
                    
SoSFFloat            farDistance    
SoSFFloat    
                    
SoSFFloat            focalDistance

Methods from class SoCamera:

    void    
                      
void                   pointAt(const SbVec3f &targetPoint)    
virtual void    
                      
virtual void           scaleHeight(float scaleFactor)    
virtual SbViewVolume    
                      
virtual SbViewVolume   getViewVolume(float useAspectRatio = 0.0) const    
void    
                      
void                   viewAll(SoNode *sceneRoot, const SbViewportRegion &vpRegion, float slack = 1.0)    
void    
                      
void                   viewAll(SoPath *path, const SbViewportRegion &vpRegion, float slack = 1.0)    
SbViewportRegion    
                      
SbViewportRegion       getViewportBounds(const SbViewportRegion ®ion) const    
static SoType    
                      
static SoType          getClassTypeId()

Methods from class SoNode:

    void    
                    
void                 setOverride(SbBool state)    
SbBool    
                    
SbBool               isOverride() const    
SoNode *    
                    
SoNode *             copy(SbBool copyConnections = FALSE) const    
virtual SbBool    
                    
virtual SbBool       affectsState() const    
static SoNode *    
                    
static SoNode *      getByName(const SbName &name)    
static int    
                    
static int           getByName(const SbName &name, SoNodeList &list)

Methods from class SoFieldContainer:

    void    
                    
void                 setToDefaults()    
SbBool    
                    
SbBool               hasDefaultValues() const    
SbBool    
                    
SbBool               fieldsAreEqual(const SoFieldContainer *fc) const    
void    
                    
void                 copyFieldValues(const SoFieldContainer *fc, SbBool copyConnections = FALSE)    
SbBool    
                    
SbBool               set(const char *fieldDataString)    
void    
                    
void                 get(SbString &fieldDataString)    
virtual int    
                    
virtual int          getFields(SoFieldList &resultList) const    
virtual SoField *    
                    
virtual SoField *    getField(const SbName &fieldName) const    
SbBool    
                    
SbBool               getFieldName(const SoField *field, SbName &fieldName) const    
SbBool    
                    
SbBool               isNotifyEnabled() const    
SbBool    
                    
SbBool               enableNotify(SbBool flag)

Methods from class SoBase:

    void    
                    
void                 ref()    
void    
                    
void                 unref() const    
void    
                    
void                 unrefNoDelete() const    
void    
                    
void                 touch()    
virtual SoType    
                    
virtual SoType       getTypeId() const    
SbBool    
                    
SbBool               isOfType(SoType type) const    
virtual void    
                    
virtual void         setName(const SbName &name)    
virtual SbName    
                    
virtual SbName       getName() const

DESCRIPTION

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 SoCameraKit.

FIELDS

    SoSFEnum    
                    
SoSFEnum             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.

    SoSFVec3f    
                    
SoSFVec3f            position
The location of the camera viewpoint.

    SoSFRotation    
                    
SoSFRotation         orientation
The orientation of the camera viewpoint, defined as a rotation of the viewing direction from its default (0,0,-1) vector.

    SoSFFloat    
                    
SoSFFloat            aspectRatio
The ratio of camera viewing width to height. This value must be greater than 0.0. There are several standard camera aspect ratios defined in SoCamera.h.

    SoSFFloat    
                    
SoSFFloat            nearDistance    
SoSFFloat    
                    
SoSFFloat            farDistance
The distance from the camera viewpoint to the near and far clipping planes.

    SoSFFloat    
                    
SoSFFloat            focalDistance
The distance from the viewpoint to the point of focus. This is typically ignored during rendering, but may be used by some viewers to define a point of interest.

METHODS

    void    
                      
void                   pointAt(const SbVec3f &targetPoint)
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. If this is not possible, it uses the positive z-axis as "up."

    virtual void    
                      
virtual void           scaleHeight(float scaleFactor)
Scales the height of the camera. Perspective cameras scale their heightAngle fields, and orthographic cameras scale their height fields.

    virtual SbViewVolume    
                      
virtual SbViewVolume   getViewVolume(float useAspectRatio = 0.0) const
Returns a view volume structure, based on the camera’s viewing parameters. If the useAspectRatio argument is not 0.0 (the default), the camera uses that ratio instead of the one it has.

    void    
                      
void                   viewAll(SoNode *sceneRoot, const SbViewportRegion &vpRegion, float slack = 1.0)    
void    
                      
void                   viewAll(SoPath *path, const SbViewportRegion &vpRegion, float slack = 1.0)
Sets the camera to view the scene rooted by the given node or defined by the given path. The near and far clipping planes will be positioned slack bounding sphere radii away from the bounding box’s center. A value of 1.0 will make the clipping planes the tightest around the bounding sphere.

    SbViewportRegion    
                      
SbViewportRegion       getViewportBounds(const SbViewportRegion ®ion) const
Returns the viewport region this camera would use to render into the given viewport region, accounting for cropping.

    static SoType    
                      
static SoType          getClassTypeId()
Returns type identifier for this class.

FILE FORMAT/DEFAULTS

This is an abstract class. See the reference page of a derived class for the format and default values.

SEE ALSO

SoOrthographicCamera, SoPerspectiveCamera, SoCameraKit

Search for    or go to Top of page |  Section 3 |  Main Index


SOCAMERA(3IV) (-->)

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.