SoSFNode(3)

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

πŸ’– NAME πŸ’–

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


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <Inventor/fields/SoSFNode.h>

Inherits SoSField.

✨ 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 defaultVal)
  • SbBool isDefault (void) const
  • SbBool isOfType (const SoType type) const
  • void enableConnection (SbBool flag)
  • SbBool isConnectionEnabled (void) const
  • SbBool connectFrom (SoEngineOutput *master, SbBool notnotify=FALSE, SbBool append=FALSE)
  • SbBool appendConnection (SoEngineOutput *master, SbBool notnotify=FALSE)
  • void disconnect (SoEngineOutput *engineoutput)
  • SbBool isConnectedFromEngine (void) const
  • SbBool getConnectedEngine (SoEngineOutput *&master) const
  • SbBool connectFrom (SoField *master, SbBool notnotify=FALSE, SbBool append=FALSE)
  • SbBool appendConnection (SoField *master, SbBool notnotify=FALSE)
  • 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 *input, 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 void atexit_cleanup (void)

🌸 Static Public Member Functions inherited from SoField 🌸

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

πŸŽ€ Protected Attributes πŸŽ€

  • SoNode * value

πŸ’œ 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=TRUE)
  • virtual void evaluateConnection (void) const
  • virtual SbBool readConnection (SoInput *in)
  • virtual void writeConnection (SoOutput *out) const
  • SbBool isDestructing (void) const

πŸ”₯ Detailed Description πŸ”₯

The SoSFNode class is a container for a single node. Yep, exactly what the name says, no plot twist. πŸ’…

This field container stores a pointer to a Coin node. It also handles all the boring-but-essential stuff for you β€” copy, import and export operations. Iconic behaviour, zero effort on your part. ✨

Heads up bestie: the node pointer stored in a field instance of this type may be a NULL pointer. So like, don't assume it's always there, okay? πŸ‘€

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. Basically its little ID card. πŸͺͺ

See also: getClassTypeId(), SoType

Implements SoField.


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

Copy value(s) from f into this field. And plot twist: f must be of the same type as this field. No mixing, no matching, fr fr. πŸ™…β€β™€οΈ

Implements SoField.


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

Check for equal type and value(s). Both. Not just one. Slay. βœ…

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 after the copy, basically. πŸ’«

The default method in the SoField superclass does nothing. (Not me doing absolutely nothing and still being valid. πŸ’€)

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. So like, only worry about this if you're out here building something fancy. 🧚

Reimplemented from SoField.


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 matters, 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.


🌸 Author 🌸

Generated automatically by Doxygen for Coin from the source code. (Not a human, just a robot doing its little thing. Respect. πŸ€–βœ¨)


And that's the whole page, bestie!! This one was pulled straight from Coin, Version 3.1.3, and it's the SoSFNode(3) manual β€” one node, one container, infinite main character energy. Go forth and store your pointers responsibly. πŸ«ΆπŸ’–πŸŽ€

πŸ“¦ where this page comes from