Coin: SoSFTrigger Class Reference

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

SoSFTrigger Class Reference
Field Classes

The SoSFTrigger class is the "void" class used for detecting field changes. More...

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

Inheritance diagram for SoSFTrigger:

## Public Member Functions
virtual SoType | getTypeId (void) const
virtual void | copyFrom (const SoField &field)
const SoSFTrigger & | operator= (const SoSFTrigger &field)
virtual SbBool | isSame (const SoField &field) const
void | setValue (void)
void | getValue (void) const
int | operator== (const SoSFTrigger &trigger) const
int | operator!= (const SoSFTrigger &trigger) const
virtual void | startNotify (void)
virtual void | notify (SoNotList *l)
virtual void | touch (void)
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
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 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 * | 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)

## 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 SoSFTrigger class is the "void" class used for detecting field changes.

Connect this field to a master field (or engine output) to detect when the master field changes its value.

This is useful if you want to automatically trigger an update from the node or engine (or other field container) this field is part of whenever another field changes – and you are not particularly interested in the actual value of the master field.

See also
  SoFieldSensor

## Member Function Documentation

## ◆ createInstance()

void * SoSFTrigger::createInstance | ( | void |  | ) |
| static

This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.
Creates a new instance of the class type corresponding to the SoType object.

## ◆ getClassTypeId()

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

This static method returns the SoType object associated with objects of this class.

## ◆ getTypeId()

SoType SoSFTrigger::getTypeId | ( | void |  | ) | const
| virtual

Returns the type identification of an object derived from a class inheriting SoField. This is used for runtime type checking and "downward" casting.

Implements SoField.

## ◆ copyFrom()

void SoSFTrigger::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 SoSFTrigger::isSame | ( | const SoField & | f | ) | const
| virtual

Check for equal type and value(s).

Implements SoField.

## ◆ initClass()

void SoSFTrigger::initClass | ( | void |  | ) |
| static

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

## ◆ setValue()

void SoSFTrigger::setValue | ( | void |  | ) |

This field class does not actually contain any value, so we just trigger an update by calling touch() within this method.

## ◆ getValue()

void SoSFTrigger::getValue | ( | void |  | ) | const

Field doesn't contain any value, so this method does nothing.

## ◆ operator==()

int SoSFTrigger::operator== | ( | const SoSFTrigger & | trigger | ) | const

Since SoSFTrigger fields doesn't have any value, they are all equal. So this method always returns `TRUE`.

## ◆ operator!=()

int SoSFTrigger::operator!= | ( | const SoSFTrigger & | trigger | ) | const

Since SoSFTrigger fields doesn't have any value, they are all equal. So this method always returns `FALSE`.

## ◆ startNotify()

void SoSFTrigger::startNotify | ( | void |  | ) |
| virtual

Trigger a notification sequence.

At the end of a notification sequence, all "immediate" sensors (i.e. sensors set up with a zero priority) are triggered.

Reimplemented from SoField.

## ◆ notify()

void SoSFTrigger::notify | ( | SoNotList * | nlist | ) |
| virtual

Notify auditors that this field has changed.

Reimplemented from SoField.

## ◆ touch()

void SoSFTrigger::touch | ( | void |  | ) |
| virtual

Notify the field as well as the field's owner / container that it has been changed.

Touching a field which is part of any component (engine or node) in a scene graph will lead to a forced redraw. This is useful if you have been doing several updates to the field wrapped in a pair of enableNotify() calls to notify the field's auditors that its value has changed.

See also
  setValue(), enableNotify()

Reimplemented from SoField.

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

- SoSFTrigger.h
- SoSFTrigger.cpp