SoPerspectiveCamera(3IV)

NAME
SoPerspectiveCamera — perspective camera node

INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoCamera > SoPerspectiveCamera

SYNOPSIS
#include <Inventor/nodes/SoPerspectiveCamera.h>

Fields from class SoPerspectiveCamera:

SoSFFloat
heightAngle

Fields from class SoCamera:

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

Methods from class SoPerspectiveCamera:

SoPerspectiveCamera()
static SoType
getClassTypeId()

Methods from class SoCamera:

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

Methods from class SoNode:

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

Methods from class SoFieldContainer:

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

Methods from class SoBase:

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

DESCRIPTION
A perspective camera defines a perspective projection from a viewpoint. The viewing volume for a perspective camera is a truncated right pyramid.

By default, the camera is located at (0,0,1) and looks along the negative z-axis; the position and orientation fields can be used to change these values. The heightAngle field defines the total vertical angle of the viewing volume; this and the aspectRatio field determine the horizontal angle.

FIELDS
SoSFFloat
heightAngle
Vertical angle of the viewing volume.

METHODS

SoPerspectiveCamera()
Creates a perspective camera node with default settings.

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

ACTION BEHAVIOR
SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoHandleEventAction, SoRayPickAction
Sets the viewport and camera information in the state.

FILE FORMAT/DEFAULTS
PerspectiveCamera {
viewportMapping	ADJUST_CAMERA
position	0 0 1
orientation	0 0 1  0
aspectRatio	1
nearDistance	1
farDistance	10
focalDistance	5
heightAngle	0.785398
}

SEE ALSO
SbViewVolume, SoOrthographicCamera