Coin: SoSFEngine Class Reference

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

Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
SoSFEngine Class Reference
Field Classes

The SoSFEngine class is a container for a single engine. More...

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

Inheritance diagram for SoSFEngine:

## Public Member Functions
virtual SoType | getTypeId (void) const
virtual void | copyFrom (const SoField &field)
const SoSFEngine & | operator= (const SoSFEngine &field)
virtual SbBool | isSame (const SoField &field) const
SoEngine * | getValue (void) const
void | setValue (SoEngine *newvalue)
SoEngine * | operator= (SoEngine *newvalue)
int | operator== (const SoSFEngine &field) const
int | operator!= (const SoSFEngine &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
SoEngine * | value

## Additional Inherited Members
Public Types inherited from SoField
enum | FieldType { NORMAL_FIELD = 0 , EVENTIN_FIELD , EVENTOUT_FIELD , EXPOSED_FIELD }
Public Attributes inherited from SoField
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 SoSFEngine class is a container for a single engine.

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

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

See also
  SoEngine, SoMFEngine

## Member Function Documentation

## ◆ createInstance()

void * SoSFEngine::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 SoSFEngine::getClassTypeId | ( | void |  | ) |
| static

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

## ◆ getTypeId()

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

Check for equal type and value(s).

Implements SoField.

## ◆ initClass()

void SoSFEngine::initClass | ( | void |  | ) |
| static

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

## ◆ fixCopy()

void SoSFEngine::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 SoSFEngine::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:

- SoSFEngine.h
- SoSFEngine.cpp