Coin Logo Coin3D is Free Software,
published under the BSD 3-clause license.
https://coin3d.github.io
https://www.kongsberg.com/en/kogt/
SoSFNode Class Reference

The SoSFNode class is a container for a single node. More...

#include <Inventor/fields/SoSFNode.h>

Inheritance diagram for SoSFNode:
SoSField SoField

Public Member Functions

virtual SoType getTypeId (void) const
 
virtual void copyFrom (const SoField &field)
 
const SoSFNodeoperator= (const SoSFNode &field)
 
virtual SbBool isSame (const SoField &field) const
 
SoNodegetValue (void) const
 
void setValue (SoNode *newvalue)
 
SoNodeoperator= (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)
 
SoFieldContainergetContainer (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

SoNodevalue
 

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
 
virtual SoNotRec createNotRec (SoBase *cont)
 

Detailed Description

The SoSFNode class is a container for a single node.

This field container stores a pointer to a Coin node. It takes care of the necessary functionality for handling copy, import and export operations.

Note that the node pointer stored in a field instance of this type may be a NULL pointer.

See also
SoNode, SoMFNode

Member Function Documentation

◆ getTypeId()

SoType SoSFNode::getTypeId ( void  ) const
virtual

Returns the type identification instance which uniquely identifies the Coin field class the object belongs to.

See also
getClassTypeId(), SoType

Implements SoField.

◆ copyFrom()

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.

Implements SoField.

◆ isSame()

SbBool SoSFNode::isSame ( const SoField f) const
virtual

Check for equal type and value(s).

Implements SoField.

◆ fixCopy()

void SoSFNode::fixCopy ( SbBool  copyconnections)
virtual

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

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.

◆ referencesCopy()

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.

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

Reimplemented from SoField.


The documentation for this class was generated from the following files: