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 &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. 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 πŸŽ€

  • SoSFFloat heightAngle β€” 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 πŸ¦‹

  • SbViewVolume
  • SoOrthographicCamera

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 πŸŽ€πŸ’–βœ¨