SoComputeBoundingBox(3)

πŸ“¦
version 4.0.10 Β· 4 versions
, in fedora 43, fedora 44

okay bestie sit DOWN, we're reading SoComputeBoundingBox(3) from the Coin manual and honestly it's giving "tiny class, gigantic inheritance tree" πŸ’€ this page comes in 2 parts, so hydrate and stay with me πŸŽ€

✨ NAME ✨

SoComputeBoundingBox β€” the class that is used to calculate a bounding box. that's the whole assignment. no cap πŸ’…

🌸 SYNOPSIS 🌸

#include <Inventor/engines/SoComputeBoundingBox.h>

It inherits SoEngine 🧚 (iykyk, engines are the little scene-graph helpers that compute stuff for you).

πŸ’– Public Member Functions πŸ’–

  • virtual SoType getTypeId (void) const
  • virtual const SoFieldData * getFieldData (void) const
  • virtual const SoEngineOutputData * getOutputData (void) const
  • SoComputeBoundingBox (void)
  • void setViewportRegion (const SbViewportRegion &vpr)
  • const SbViewportRegion & getViewportRegion (void) const

πŸ¦‹ Public Member Functions inherited from SoEngine πŸ¦‹

  • void evaluateWrapper (void)
  • virtual int getOutputs (SoEngineOutputList &l) const
  • SoEngineOutput * getOutput (const SbName &outputname) const
  • SbBool getOutputName (const SoEngineOutput *output, SbName &outputname) const
  • SbBool isNotifying (void) const
  • virtual void notify (SoNotList *nl)
  • SoEngine * copy (void) const
  • virtual SoFieldContainer * copyThroughConnection (void) const
  • SbBool shouldCopy (void) const
  • virtual void writeInstance (SoOutput *out)

🫢 Public Member Functions inherited from SoFieldContainer 🫢

  • void setToDefaults (void)
  • SbBool hasDefaultValues (void) const
  • SbBool fieldsAreEqual (const SoFieldContainer *container) const
  • void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE)
  • SbBool set (const char *const fielddata)
  • void get (SbString &fielddata)
  • virtual int getFields (SoFieldList &l) const
  • virtual int getAllFields (SoFieldList &l) const
  • virtual SoField * getField (const SbName &name) const
  • virtual SoField * getEventIn (const SbName &name) const
  • virtual SoField * getEventOut (const SbName &name) const
  • SbBool getFieldName (const SoField *const field, SbName &name) const
  • SbBool enableNotify (const SbBool flag)
  • SbBool isNotifyEnabled (void) const
  • SbBool set (const char *fielddata, SoInput *input)
  • void get (SbString &fielddata, SoOutput *out)
  • virtual SbBool validateNewFieldValue (SoField *field, void *newval)
  • virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE)
  • SbBool getIsBuiltIn (void) const
  • virtual void copyContents (const SoFieldContainer *from, SbBool copyconnections)
  • virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) const
  • void setUserData (void *userdata) const
  • void * getUserData (void) const

πŸ‘‘ Public Member Functions inherited from SoBase πŸ‘‘

  • void ref (void) const
  • void unref (void) const
  • void unrefNoDelete (void) const
  • int32_t getRefCount (void) const
  • void touch (void)
  • SbBool isOfType (SoType type) const β€” returns TRUE if the type of this object is either of the same type or inherited from type.
  • virtual SbName getName (void) const
  • virtual void setName (const SbName &newname)
  • virtual void startNotify (void)
  • void addAuditor (void *const auditor, const SoNotRec::Type type)
  • void removeAuditor (void *const auditor, const SoNotRec::Type type)
  • const SoAuditorList & getAuditors (void) const
  • SbBool shouldWrite (void)
  • void assertAlive (void) const

🌟 Static Public Member Functions 🌟

  • static SoType getClassTypeId (void)
  • static void * createInstance (void)
  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. ✨

🌈 Static Public Member Functions inherited from SoEngine 🌈

  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. ✨
  • static void initClasses (void)
  • static SoType getClassTypeId (void) β€” this static method returns the SoType object associated with objects of this class.
  • static SoEngine * getByName (const SbName &name)
  • static int getByName (const SbName &name, SoEngineList &el)

πŸ“ Static Public Member Functions inherited from SoFieldContainer πŸ“

  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. ✨
  • static SoType getClassTypeId (void) β€” this static method returns the SoType object associated with objects of this class.
  • static void cleanupClass (void)
  • static void initCopyDict (void)
  • static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy)
  • static SoFieldContainer * checkCopy (const SoFieldContainer *orig)
  • static SoFieldContainer * findCopy (const SoFieldContainer *orig, const SbBool copyconnections)
  • static void copyDone (void)

🧚 Static Public Member Functions inherited from SoBase 🧚

  • static void initClass (void) β€” sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. ✨
  • static SoType getClassTypeId (void) β€” this static method returns the SoType object associated with objects of this class.
  • static void addName (SoBase *const base, const char *const name)
  • static void removeName (SoBase *const base, const char *const name)
  • static void incrementCurrentWriteCounter (void)
  • static void decrementCurrentWriteCounter (void)
  • static SoBase * getNamedBase (const SbName &name, SoType type)
  • static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type)
  • static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype)
  • static void setInstancePrefix (const SbString &c)
  • static void setTraceRefs (SbBool trace)
  • static SbBool getTraceRefs (void)
  • static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname)
  • static SbBool readRoute (SoInput *input)

πŸ’œ Public Attributes πŸ’œ

  • SoSFNode node
  • SoSFPath path
  • SoEngineOutput min
  • SoEngineOutput max
  • SoEngineOutput boxCenter
  • SoEngineOutput objectCenter

πŸŽ€ Protected Member Functions πŸŽ€

  • virtual ~SoComputeBoundingBox (void)

πŸ’« Protected Member Functions inherited from SoEngine πŸ’«

  • SoEngine (void)
  • virtual ~SoEngine (void)
  • virtual SbBool readInstance (SoInput *in, unsigned short flags)
  • virtual void inputChanged (SoField *which)
  • void writeOutputTypes (SoOutput *out)

πŸ’« Protected Member Functions inherited from SoFieldContainer πŸ’«

  • SoFieldContainer (void)
  • virtual ~SoFieldContainer ()

πŸ’« Protected Member Functions inherited from SoBase πŸ’«

  • SoBase (void)
  • virtual ~SoBase ()
  • SbBool hasMultipleWriteRefs (void) const
  • SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const
  • void writeFooter (SoOutput *out) const
  • virtual const char * getFileFormatName (void) const
  • virtual SoNotRec createNotRec (void)

⭐ Static Protected Member Functions ⭐

  • static const SoFieldData ** getInputDataPtr (void)
  • static const SoEngineOutputData ** getOutputDataPtr (void)

⭐ Static Protected Member Functions inherited from SoEngine ⭐

  • static const SoFieldData ** getInputDataPtr (void)
  • static const SoEngineOutputData ** getOutputDataPtr (void)

⭐ Static Protected Member Functions inherited from SoBase ⭐

  • static uint32_t getCurrentWriteCounter (void)
  • static void staticDataLock (void)
  • static void staticDataUnlock (void)

πŸ¦„ Additional Inherited Members πŸ¦„

  • Protected Types inherited from SoBase
    • enum BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 }
  • Protected Attributes inherited from SoFieldContainer
    • SbBool isBuiltIn

πŸ’… Detailed Description πŸ’…

so, the SoComputeBoundingBox class is used to calculate a bounding box. that's the headline, bestie πŸ“¦

and here's the tea: this engine is literally just a wrapper around the SoGetBoundingBoxAction 🫢 β€” it exists so you have a convenient way of having some data in the scene graph automatically update itself based on the bounding box of some other part of the scene. automatic. iconic. main character energy πŸ”₯

🌷 Constructor & Destructor Documentation 🌷

SoComputeBoundingBox::SoComputeBoundingBox (void )

Default constructor πŸŽ€ it sets up the internal SoGetBoundingBoxAction instance for you. (not me being handed a whole action object on day one 😭)

SoComputeBoundingBox::~SoComputeBoundingBox (void ) β€” [protected], [virtual]

Destructor πŸ’€ it deallocates the SoGetBoundingBoxAction instance. clean up after yourself, periodt.

✨ Member Function Documentation ✨

SoType SoComputeBoundingBox::getClassTypeId (void ) β€” [static]

This static method returns the SoType object associated with objects of this class. ⭐

SoType SoComputeBoundingBox::getTypeId (void ) const β€” [virtual]

Returns the type identification of an object derived from a class inheriting SoBase πŸ” this is what's used for runtime type checking and "downward" casting, so the code can figure out what it's actually holding.

Implements SoBase.

const SoFieldData ** SoComputeBoundingBox::getInputDataPtr (void ) β€” [static], [protected]

Returns the SoFieldData class which holds information about inputs in this engine 🫢

const SoEngineOutputData ** SoComputeBoundingBox::getOutputDataPtr (void ) β€” [static], [protected]

Returns the SoEngineOutputData class which holds information about the outputs in this engine ✨

const SoFieldData * SoComputeBoundingBox::getFieldData (void ) const β€” [virtual]

Returns the SoFieldData class which holds information about inputs in this engine πŸ“₯

Reimplemented from SoFieldContainer.

const SoEngineOutputData * SoComputeBoundingBox::getOutputData (void ) const β€” [virtual]

Returns the SoEngineOutputData class which holds information about the outputs in this engine πŸ“€

Implements SoEngine.

void * SoComputeBoundingBox::createInstance (void ) β€” [static]

Creates a new instance of the class type corresponding to the SoType object 🐣 fresh out the box.

void SoComputeBoundingBox::setViewportRegion (const SbViewportRegion & vpr)

Set the viewport region for the SoGetBoundingBoxAction instance we're using for calculating bounding boxes πŸ–₯️

default setting alert: it uses an SbViewportRegion with only default values unless you tell it otherwise πŸ’…

const SbViewportRegion & SoComputeBoundingBox::getViewportRegion (void ) const

Returns the viewport region used by the internal SoGetBoundingBoxAction instance πŸ‘€

πŸŽ€ Member Data Documentation πŸŽ€

SoSFNode SoComputeBoundingBox::node

If this input field is set and SoComputeBoundingBox::path is NULL, the resultant bounding box will be the box encompassing the scene graph rooted at this node pointer 🌳

SoSFPath SoComputeBoundingBox::path

If this input field is not NULL, the bounding box values of the given path will be set on the outputs πŸ›€οΈ

SoEngineOutput SoComputeBoundingBox::min

(SoSFVec3f) corner coordinates of the bounding box πŸ“

SoEngineOutput SoComputeBoundingBox::max

(SoSFVec3f) corner coordinates of the bounding box πŸ“

SoEngineOutput SoComputeBoundingBox::boxCenter

(SoSFVec3f) geometric center point of the bounding box 🎯

SoEngineOutput SoComputeBoundingBox::objectCenter

(SoSFVec3f) object center point for the bounding box 🌸 see SoGetBoundingBoxAction::getCenter() for an explanation of how this can differ from the geometric center point of the bounding box β€” yes, they're different, and yes, that's on purpose 🫢

✨ AUTHOR ✨

So like… nobody wrote this page, bestie πŸ’€ it literally spawned itself.

Generated automatically by Doxygen for Coin from the source code.

That's it. That's the whole author section. No mysterious genius, no 3am coffee-fueled hero β€” just Doxygen, the little doc-generator fairy 🧚 that read the Coin source code and went "okay I gotchu" and made this page for you. Which is honestly iconic of it πŸ’…


And that's a wrap on SoComputeBoundingBox(3), fr fr πŸŽ€ You made it to the very end, which means you read all of it β€” the constructors, the destructors, the member functions, the data members, every last one. main character energy πŸŒˆπŸ‘‘

Version 4.0.10 ✨ and dated Thu Jun 25 2026 00:00:00 β€” so if you're reading this from the future, hi, hope your bounding box is thriving πŸ¦‹

Go forth and compute some boxes, bestie. You got this πŸ’–πŸŒΈ

πŸ“¦ where this page comes from