SoSFNode(3)

πŸ“¦ version 2.5.0, in fedora 43, fedora 44

🌸 NAME 🌸

SoSFNode β€” bestie, this class is literally just a container for a single node. One node. That's the whole vibe. πŸ’…

(This is the SoSFNode(3) page from the Library Functions Manual, in case you were wondering which manual we're living in.)


✨ SYNOPSIS ✨

#include <Inventor/fields/SoSFNode.h>

It inherits SoSField, so all that parent energy comes along for the ride. 🫢

🌈 Public Member Functions 🌈

  • virtual SoType getTypeId (void) const
  • virtual void copyFrom (const SoField &field)
  • const SoSFNode & operator= (const SoSFNode &field)
  • virtual SbBool isSame (const SoField &field) const
  • SoNode * getValue (void) const
  • void setValue (SoNode *newvalue)
  • SoNode * operator= (SoNode *newvalue)
  • int operator== (const SoSFNode &field) const
  • int operator!= (const SoSFNode &field) const
  • virtual void fixCopy (SbBool copyconnections)
  • virtual SbBool referencesCopy (void) const

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

  • virtual ~SoSField ()

πŸ’œ Public Member Functions inherited from SoField πŸ’œ

  • virtual ~SoField ()
  • void setIgnored (SbBool ignore)
  • SbBool isIgnored (void) const
  • void setDefault (SbBool def)
  • SbBool isDefault (void) const
  • SbBool isOfType (const SoType type) const
  • void enableConnection (SbBool flag)
  • SbBool isConnectionEnabled (void) const
  • SbBool connectFrom (SoEngineOutput *master, SbBool notnotify=0, SbBool append=0)
  • SbBool appendConnection (SoEngineOutput *master, SbBool notnotify=0)
  • void disconnect (SoEngineOutput *engineoutput)
  • SbBool isConnectedFromEngine (void) const
  • SbBool getConnectedEngine (SoEngineOutput *&master) const
  • SbBool connectFrom (SoField *master, SbBool notnotify=0, SbBool append=0)
  • SbBool appendConnection (SoField *master, SbBool notnotify=0)
  • void disconnect (SoField *field)
  • SbBool isConnectedFromField (void) const
  • SbBool getConnectedField (SoField *&master) const
  • int getNumConnections (void) const
  • int getForwardConnections (SoFieldList &slavelist) const
  • int getConnections (SoFieldList &masterlist) const
  • void disconnect (void)
  • SbBool isConnected (void) const
  • void setContainer (SoFieldContainer *cont)
  • SoFieldContainer * getContainer (void) const
  • SbBool set (const char *valuestring)
  • void get (SbString &valuestring)
  • SbBool shouldWrite (void) const
  • virtual void touch (void)
  • virtual void startNotify (void)
  • virtual void notify (SoNotList *nlist)
  • SbBool enableNotify (SbBool on)
  • SbBool isNotifyEnabled (void) const
  • void addAuditor (void *f, SoNotRec::Type type)
  • void removeAuditor (void *f, SoNotRec::Type type)
  • int operator== (const SoField &f) const
  • int operator!= (const SoField &f) const
  • virtual void connectionStatusChanged (int numconnections)
  • SbBool isReadOnly (void) const
  • void copyConnection (const SoField *fromfield)
  • virtual SbBool read (SoInput *in, const SbName &name)
  • virtual void write (SoOutput *out, const SbName &name) const
  • void setFieldType (int type)
  • int getFieldType (void) const
  • SbBool getDirty (void) const
  • void setDirty (SbBool dirty)
  • void evaluate (void) const

⭐ Static Public Member Functions ⭐

  • static void * createInstance (void)
  • static SoType getClassTypeId (void)
  • static void initClass (void)

πŸ’« Static Public Member Functions inherited from SoSField πŸ’«

  • static void initClass (void)
  • static SoType getClassTypeId (void)

πŸ’« Static Public Member Functions inherited from SoField πŸ’«

  • static void initClass (void)
  • static void initClasses (void)
  • static SoType getClassTypeId (void)

πŸŽ€ Protected Attributes πŸŽ€

  • SoNode * value

🫢 Friends 🫢

  • class SoMFNode

🌟 Additional Inherited Members 🌟

Public Types inherited from SoField

enum FieldType { NORMAL_FIELD = 0, EVENTIN_FIELD, EVENTOUT_FIELD,
    EXPOSED_FIELD }

Protected Member Functions inherited from SoSField

  • SoSField (void)

Protected Member Functions inherited from SoField

  • SoField (void)
  • void valueChanged (SbBool resetdefault=1)
  • virtual void evaluateConnection (void) const
  • virtual SbBool readConnection (SoInput *in)
  • virtual void writeConnection (SoOutput *out) const
  • SbBool isDestructing (void) const

πŸ‘‘ Detailed Description πŸ‘‘

Okay so, the SoSFNode class is a container for a single node. That's it. That's the job. πŸ’–

This field container stores a pointer to a Coin node. It also handles all the tedious-but-essential stuff for copy, import and export operations β€” so you don't have to, bestie, it's got you. ✨

Heads up: the node pointer stored in a field instance of this type may be a NULL pointer. Not a bug, just a fact. πŸ™ˆ

See also β€” SoNode, SoMFNode πŸ¦‹


πŸ’… Member Function Documentation πŸ’…

SoType SoSFNode::getTypeId (void ) const [virtual]

Returns the type identification instance which uniquely identifies the Coin field class the object belongs to. Like a little name tag but for types. 🏷️✨

See also β€” getClassTypeId(), SoType

Implements SoField.

void SoSFNode::copyFrom (const SoField & f) [virtual]

Copy value(s) from f into this field. ⚠️ f must be of the same type as this field β€” no mixing, no matching, this is not a makeover show. πŸ’€

Implements SoField.

SbBool SoSFNode::isSame (const SoField & f) const [virtual]

Check for equal type and value(s). Both. Not just one. πŸ‘―

Implements SoField.

void SoSFNode::fixCopy (SbBool copyconnections) [virtual]

This method is internally called after SoField::copyFrom() during scene graph copies, and it should do the operations necessary for fixing up the field instance after it has gotten a new value. Glow-up maintenance, basically. 🧚

The default method in the SoField superclass does nothing.

The application programmer should normally not need to consider this method β€” unless he constructs a complex field type which contains new references to container instances (i.e. nodes or engines). Overriding this method is then necessary to update the reference pointers, as they could have been duplicated during the copy operation. πŸ‘€

Reimplemented from SoField.

References SoBase::assertAlive(), SoNode::copy(), and SoFieldContainer::findCopy().

SbBool SoSFNode::referencesCopy (void ) const [virtual]

Returns TRUE if this field has references to any containers in the scene graph which are also duplicated during the copy operation. πŸŒ€

Note that this method only is valid to call during copy operations. Timing is everything, bestie.

See also the note about the relevance of the fixCopy() method for application programmers, as it is applicable on this method aswell.

Reimplemented from SoField.

References SoFieldContainer::checkCopy(), SoPath::getHead(), SoBase::isOfType(), and SoField::referencesCopy().


🌸 Author 🌸

Generated automatically by Doxygen for Coin from the source code. (Not a human, not a girlie, just a documentation generator doing its thing. Respect. 🫑)


And that's the whole page, bestie! πŸŽ€ This was SoSFNode(3) from Coin, Version 2.5.0 β€” that's the source and version stamped on the footer, so now you know exactly which era of Coin you're vibing with. Go forth and store exactly one node. Periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from