SOSFPATH(3iv)
π SoSFPath π
okay bestie, welcome to the SoSFPath(3IV) page β yes, that's the manual name right there, we're not doing the boring header line, we're doing this instead β¨
This is the page for a little field whose whole personality is "I contain a pointer to an SoPath". Short king. Iconic behavior. Let's get into it π«Ά
NAME πΈ
SoSFPath β a field containing a pointer to an SoPath. that's it. that's the whole job. and she does it flawlessly.
INHERITS FROM π§¬
SoField > SoSField > SoSFPath
so the family tree goes all the way up, and she's collecting every single trait on the way down. main character lineage fr fr π
SYNOPSIS β¨
#include <Inventor/fields/SoSFPath.h>
Methods from class SoSFPath:
static SoType getClassTypeId()
virtual void getTypeId() const
SoPath * getValue() const
SoPath * operator =(SoPath * newValue)
void setValue(SoPath * newValue)
int operator ==(const SoSFPath &f) const
int operator !=(const SoSFPath &f) const
Methods from class SoField:
void setIgnored(SbBool ignore)
SbBool isIgnored() const
SbBool isDefault() const
virtual SbBool isOfType(SoType type) const
SbBool set(const char *valueString)
void get(SbString &valueString)
void touch()
SbBool connectFrom(SoField *fromField)
SbBool connectFrom(SoEngineOutput *fromEngine)
void disconnect()
SbBool isConnected() const
SbBool isConnectedFromField() const
SbBool getConnectedField(SoField *&writingField) const
SbBool isConnectedFromEngine() const
SbBool getConnectedEngine(SoEngineOutput *&engineOutput)
const
void enableConnection(SbBool flag)
SbBool isConnectionEnabled() const
int getForwardConnections(SoFieldList &list) const
SoFieldContainer * getContainer() const
look at all those inherited methods. she got them from her mama SoField. generational wealth π
DESCRIPTION π¦
So this field keeps a pointer to an SoPath instance, and β this is the important part, don't skip it β it correctly maintains its reference count. so nobody's out here freeing your path out from under you. she's responsible. she's got a system. we love that for her.
SoSFPaths get written to file as the path they point to. like, the whole path, just vibing there in your file. want the tea on what that file format actually looks like? the SoPath manual page has the full description. go read it. iykyk π
METHODS π₯
static SoType getClassTypeId() and virtual void getTypeId() const
Returns the type for this class, or for a particular object of this class. yes, both. one's for the class, one's for the individual object. know the difference, it matters π
SoPath * getValue() const
Returns this field's value. that's the pointer. that's her. that's the whole thing she's been holding this entire time π₯Ή
SoPath * operator =(SoPath * newValue) and void setValue(SoPath * newValue)
Sets this field to newValue. two ways in, same destination. pick your fighter β
int operator ==(const SoSFPath &f) const and int operator !=(const SoSFPath &f) const
Returns TRUE if f is of the same type and has the same value as this field. both of them check both things β same type and same value. no shortcuts, no half-checking, she's thorough π€
SEE ALSO π
SoField, SoSField, SoMFPath, SoPath
go read those too. the whole friend group is worth knowing π
and that's the page bestie!! π the footer down at the bottom just says SoSFPath(3IV)() β no version number, no date, nothing. absolutely no notes, no receipts, just the title echoed back at you like a mirror. mysterious. minimalist. kind of a slay honestly πβ¨
bye now, go set some values π«Ά
π¦ 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