SOPERSPECTIVECAMERA(3iv)
π SoPerspectiveCamera π
okay bestie, sit down, we're doing the perspective camera today and it's literally iconic β¨
SoPerspectiveCamera(3IV) β that's the page we're on, the man page name, the whole vibe. π
πΈ NAME πΈ
SoPerspectiveCamera β perspective camera node π¦
𧬠INHERITS FROM π§¬
SoBase > SoFieldContainer > SoNode > SoCamera > SoPerspectiveCamera
it's giving royal bloodline honestly, five generations deep π
β¨ 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 ®ion)
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. that's the whole point bestie π The viewing volume for a perspective camera is a truncated right pyramid β yes, like a pyramid with the top chopped off, no cap ποΈ
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 π
SoSFFloatheightAngleβ Vertical angle of the viewing volume. the main character field fr fr π
π METHODS π
SoPerspectiveCamera()β Creates a perspective camera node with default settings. fresh out the box, no notes β¨static SoType getClassTypeId()β Returns type identifier for this class. it's giving β¨credentialsβ¨
π₯ 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
}
look at those defaults. pristine. untouched. a whole aesthetic πΈ
π¦ SEE ALSO π¦
SbViewVolumeSoOrthographicCamera
go read those too, i'm not asking, i'm telling π
okay that's the whole page, you ate that, and just so you know β this was SoPerspectiveCamera(3IV)(), the version/source tag and date footer, lovingly preserved in this little sign-off because the facts don't change even when the vibe does. bye bestie, go render something gorgeous ππβ¨
π¦ where this page comes from
- debian bookworm: inventor-doc 2.1.5-10+dfsg-2 Β· LGPL-2.0-or-later
- debian trixie: inventor-doc 2.1.6+ds-2 Β· LGPL-2.0-or-later
- ubuntu jammy: inventor-doc 2.1.5-10-24
- ubuntu noble: inventor-doc 2.1.5-10+dfsg-2.1build2 Β· LGPL-2.0-or-later
- ubuntu questing: inventor-doc 2.1.6+ds-2
- ubuntu resolute: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- ubuntu stonking: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms