Coin: SoSField Class Reference

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

SoSField Class Reference
Field Classes

The SoSField class is the base class for fields which contains only a single value. More...

`#include <Inventor/fields/SoSField.h>`

Inheritance diagram for SoSField:

## Public Member Functions
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
virtual SoType | getTypeId (void) const =0
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
virtual SbBool | isSame (const SoField &f) const =0
virtual void | copyFrom (const SoField &f)=0
virtual void | fixCopy (SbBool copyconnections)
virtual SbBool | referencesCopy (void) const
void | copyConnection (const SoField *fromfield)
virtual SbBool | read (SoInput *input, const SbName &name)
virtual void | write (SoOutput *out, const SbName &name) const
virtual void | countWriteRefs (SoOutput *out) 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 | 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 Member Functions
| SoSField (void)
Protected Member Functions inherited from SoField
| SoField (void)
void | valueChanged (SbBool resetdefault=TRUE)
virtual void | evaluateConnection (void) const
virtual SbBool | readValue (SoInput *in)=0
virtual void | writeValue (SoOutput *out) const =0
virtual SbBool | readConnection (SoInput *in)
virtual void | writeConnection (SoOutput *out) const
SbBool | isDestructing (void) const
virtual SoNotRec | createNotRec (SoBase *cont)

## Additional Inherited Members
Public Types inherited from SoField
enum | FieldType { NORMAL_FIELD = 0 , EVENTIN_FIELD , EVENTOUT_FIELD , EXPOSED_FIELD }

## Detailed Description

The SoSField class is the base class for fields which contains only a single value.

All field types which should always contain only a single member value inherits this class. SoSField is an abstract class.

You use methods setValue() and getValue() to store or fetch the value of single-value fields. Example:

SoSpotLight * lightnode = new SoSpotLight;
lightnode->on.setValue(TRUE); // The "on" field of SoSpotLight is
// a single value field of type SoSFBool.
...
...
// Change lightswitch.
if (lightnode->on.getValue() == FALSE)
lightnode->on = TRUE; // We can use operator = instead of setValue().
else
lightnode->on = FALSE;
...
SoLight::on
SoSFBool on
Definition SoLight.h:49
SoSpotLight
The SoSpotLight class is a node type for light sources with a cone shaped light volume.
Definition SoSpotLight.h:41

When nodes, engines or other types of field containers are written to file, their single-value fields are written to file in this format:

containerclass {
fieldname value
fieldname value
...
}

..like this, for instance, a SpotLight node from a scene graph which will be default off when read back from file:

SpotLight {
on FALSE
}

See also
  SoMField

## Constructor & Destructor Documentation

## ◆ ~SoSField()

SoSField::~SoSField | ( |  | ) |
| virtual

The SoSField destructor is empty, and is only defined so we could make it virtual.

## ◆ SoSField()

SoSField::SoSField | ( | void |  | ) |
| protected

The SoSField constructor is protected, as this is an abstract class.

## Member Function Documentation

## ◆ initClass()

void SoSField::initClass | ( | void |  | ) |
| static

Internal method called upon initialization of the library (from SoDB::init()) to set up the type system.

## ◆ getClassTypeId()

SoType SoSField::getClassTypeId | ( | void |  | ) |
| static

Returns a unique type identifier for this field class.

See also
  getTypeId(), SoType

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

- SoSField.h
- SoSField.cpp