SOCAMERAKIT(3iv)

πŸ’– SoCameraKit(3IV) β€” the manual page, bestie edition πŸ’–

okay so this is the manual page for SoCameraKit from section 3IV of the manual. it's giving "camera nodekit class" and honestly? iconic. let's get into it πŸŽ€


✨ NAME ✨

SoCameraKit β€” camera nodekit class πŸŽ₯


🌸 INHERITS FROM 🌸

SoBase > SoFieldContainer > SoNode > SoBaseKit > SoCameraKit

the whole ancestry, fr fr. it's a whole family tree and SoCameraKit is the main character at the bottom πŸ‘‘


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <Inventor/nodekits/SoCameraKit.h>

Parts from class SoCameraKit:

(SoTransform)       transform
(SoCamera)          camera

Parts from class SoBaseKit:

(SoNodeKitListPart)  callbackList

Methods from class SoCameraKit:

                     SoCameraKit()
static const SoNodekitCatalog *
                     getClassNodekitCatalog() const
static SoType       getClassTypeId()

Methods from class SoBaseKit:

virtual const SoNodekitCatalog *
                          getNodekitCatalog() const
virtual SoNode *         getPart(const SbName &partName, SbBool
                               makeIfNeeded)
SbString                 getPartString(const SoBase *part)
virtual SoNodeKitPath *  createPathToPart(const SbName &partName, SbBool
                               makeIfNeeded, const SoPath *pathToExtend =
                               NULL)
virtual SbBool           setPart(const SbName &partName, SoNode *newPart)
SbBool                   set(char *partName, char *parameters)
SbBool                   set(char *nameValuePairs)
static SbBool            isSearchingChildren()
static void              setSearchingChildren(SbBool newVal)

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)
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

Macros from class SoBaseKit:

SO_GET_PART(kit, partName, partClass)
SO_CHECK_PART(kit, partName, partClass)

that's a LOT of methods and every single one of them stays, no cap. we do not skip. πŸ’…


🌈 DESCRIPTION 🌈

this nodekit class is used to create camera nodes that have a local transformation. SoCameraKit adds two public parts to the basic nodekit: transform and camera. ✨

the camera part is created by default as an SoPerspectiveCamera node, but may later be changed to any subclass of SoCamera. glow up potential? infinite. πŸ¦‹

you can move the camera relative to the rest of the scene by creating and editing the transform part. πŸŽ€

SoCameraKit also adds a private part, transformGroup, which is of type SoTransformSeparator. the kit uses this part to contain the effect of transform to move only the camera, while allowing the camera to affect the rest of the scene. like, the transform stays in its lane, respectfully. πŸ™ˆ

SoCameraKit is derived from SoBaseKit and thus also includes a callbackList part for adding callback nodes. πŸ’–


πŸŽ€ PARTS πŸŽ€

  • (SoTransform) transform β€” a transform that positions and orients the camera relative to the rest of the scene. private parts keep the effect of the transform part localized. this part is NULL by default, but may be set to any subclass of SoTransform. lowkey flexible, highkey iconic.
  • (SoCamera) camera β€” the camera node for this nodekit. the camera part is created by default as an SoPerspectiveCamera node, but may later be changed to any subclass of SoCamera. (e.g., SoPerspectiveCamera, SoOrthographicCamera). it's giving range. πŸ’…

⭐ METHODS ⭐

  • SoCameraKit() β€” constructor. the birth of a legend 🫢
  • static const SoNodekitCatalog * getClassNodekitCatalog() const β€” returns an SoNodekitCatalog for the class SoCameraKit.
  • static SoType getClassTypeId() β€” returns type identifier for this class.

πŸ‘‘ CATALOG PARTS πŸ‘‘

all parts, bestie

  • callbackList β€” part type NodeKitListPart, default type --, NULL by default: yes
  • transform β€” part type Transform, default type --, NULL by default: yes
  • camera β€” part type Camera, default type PerspectiveCamera, NULL by default: no

extra information for list parts from above table

  • callbackList β€” container type Separator, permissible types: Callback, EventCallback

🧚 FILE FORMAT/DEFAULTS 🧚

CameraKit {
   callbackList  NULL
   transform     NULL
   camera        PerspectiveCamera {
   }

}

that's the whole vibe in a code block, periodt. πŸ”₯


πŸ’œ SEE ALSO πŸ’œ

SoAppearanceKit, SoBaseKit, SoLightKit, SoNodeKit, SoNodeKitDetail, SoNodeKitListPart, SoNodeKitPath, SoNodekitCatalog, SoSceneKit, SoSeparatorKit, SoShapeKit, SoWrapperKit

the whole friend group, go read them too 🫢


okay that's the whole page, bestie! this was SoCameraKit(3IV)() β€” that's the source/version and date info from the footer, folded into a cute little sign-off instead of a boring footer line. mwah πŸ’‹ go build something slay with it ✨🌸