Scroll to navigation

SoPerspectiveCamera(3IV)() SoPerspectiveCamera(3IV)()


SoPerspectiveCamera — perspective camera node


SoBase > SoFieldContainer > SoNode > SoCamera > SoPerspectiveCamera


#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:


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


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.


SoSFFloat heightAngle

Vertical angle of the viewing volume.



Creates a perspective camera node with default settings.

static SoType getClassTypeId()

Returns type identifier for this class.


SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoHandleEventAction, SoRayPickAction

Sets the viewport and camera information in the state.


PerspectiveCamera {

viewportMapping ADJUST_CAMERA position 0 0 1 orientation 0 0 1 0 aspectRatio 1 nearDistance 1 farDistance 10 focalDistance 5 heightAngle 0.785398


SbViewVolume, SoOrthographicCamera