SOCOMPUTEBOUNDINGBOX(3iv)
β¨ SoComputeBoundingBox β the girlies of SoComputeBoundingBox(3IV) β¨
okay bestie, sit down, hydrate, because today we're computing bounding boxes and it's gonna be so satisfying π
π NAME π
SoComputeBoundingBox β she computes the bounding box and the center of a scene graph. no cap, that's the whole job description, and she does it flawlessly π
πΈ INHERITS FROM πΈ
SoBase > SoFieldContainer > SoEngine > SoComputeBoundingBox
it's giving royal lineage. she got the whole family tree in her bloodline π
β¨ SYNOPSIS β¨
#include <Inventor/engines/SoComputeBoundingBox.h>
Inputs from class SoComputeBoundingBox:
SoSFNode node
SoSFPath path
Outputs from class SoComputeBoundingBox:
(SoSFVec3f) min
(SoSFVec3f) max
(SoSFVec3f) boxCenter
(SoSFVec3f) objectCenter
Methods from class SoComputeBoundingBox:
SoComputeBoundingBox()
void setViewportRegion(const SbViewportRegion
&vpReg);
const SbViewportRegion & getViewportRegion();
Methods from class SoEngine:
static SoType getClassTypeId()
virtual int getOutputs(SoEngineOutputList &list) const
SoEngineOutput * getOutput(const SbName &outputName) const
SbBool getOutputName(const SoEngineOutput *output, SbName
&outputName) const
SoEngine * copy() const
static SoEngine * getByName(const SbName &name)
static int getByName(const SbName &name, SoEngineList &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 π
so basically this engine is the main character who computes the bounding box and the center of a scene graph. the scene graph can be defined by a path or by a root node β pick your fighter, bestie π₯
here's the tea β:
- If the
pathinput is notNULL, the bounding box of the graph defined by thepathwill be computed. β¨ - If
pathisNULL, but thenodeinput is notNULL, the bounding box is computed on the graph rooted by thenode. πΈ - By default, the two inputs are
NULL. π - If both the inputs are
NULL, the outputs are disabled. like, she simply will not speak. π
she uses a default viewport region. so if your graph includes screen-based objects (such as SoText2) you can call setViewportRegion() on the engine instance to set up the correct viewport region to use. that's the move, trust π«Ά
π¦ INPUTS π¦
SoSFNodenodeβ defines the graph for which the bounding box is computed. πSoSFPathpathβ alternatively, defines the graph for which the bounding box is computed. she's the alternative route, and honestly? iconic. π
π OUTPUTS π
(SoSFVec3f)minβ minimum point of the computed bounding box. the low point, literally. π(SoSFVec3f)maxβ maximum point of the computed bounding box. the high point, and yes she's highkey slaying. π₯(SoSFVec3f)boxCenterβ center of the computed bounding box. dead center, no notes. β¨(SoSFVec3f)objectCenterβ center of the objects in the graph. a whole different center, don't get it twisted. π§
π METHODS π
SoComputeBoundingBox()
Constructor. she's born. π
void setViewportRegion(const SbViewportRegion &vpReg);
Sets the viewport region to use for the bounding box computation. π
const SbViewportRegion & getViewportRegion();
Returns the viewport region to use for the bounding box computation. she gives it right back to you, generous queen π
π FILE FORMAT/DEFAULTS π
ComputeBoundingBox {
node NULL
path NULL
}
both NULL by default, meaning she's quiet until you give her something to work with. respectful. π
π SEE ALSO π
SoEngineOutput, SoGetBoundingBoxAction, SbBox3f
go read those too, bestie, they're all in the same friend group π
a note from your girl: keep the outputs in mind, because if both inputs areNULLyou get nothing β outputs disabled, no vibe, no box. set yournodeor yourpathfirst. periodt. π
and that's the whole page, babes! this was SoComputeBoundingBox(3IV)() β both the header AND the footer said so, and honestly? consistency is so cute. written under the SoComputeBoundingBox(3IV)() banner, dated with all the love of an unnamed date, and signed off with a kiss πβ¨π
π¦ 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