Coin3D is Free Software, published under the BSD 3-clause license. |
https://bitbucket.org/Coin3D/ http://www.kongsberg.com/kogt/ |
The SoFieldConverter class is the abstract base class for field converters. More...
#include <Inventor/engines/SoFieldConverter.h>
Public Member Functions | |
virtual SoType | getTypeId (void) const |
Returns the type identification of an object derived from a class inheriting SoBase. This is used for run-time type checking and "downward" casting. More... | |
virtual const SoFieldData * | getFieldData (void) const |
virtual const SoEngineOutputData * | getOutputData (void) const |
virtual SoField * | getInput (SoType type)=0 |
virtual SoEngineOutput * | getOutput (SoType type)=0 |
virtual SoField * | getConnectedInput (void) |
int | getForwardConnections (SoFieldList &l) const |
Public Member Functions inherited from SoEngine | |
void | evaluateWrapper (void) |
virtual int | getOutputs (SoEngineOutputList &l) const |
SoEngineOutput * | getOutput (const SbName &outputname) const |
SbBool | getOutputName (const SoEngineOutput *output, SbName &outputname) const |
SbBool | isNotifying (void) const |
virtual void | notify (SoNotList *nl) |
SoEngine * | copy (void) const |
virtual SoFieldContainer * | copyThroughConnection (void) const |
SbBool | shouldCopy (void) const |
virtual void | writeInstance (SoOutput *out) |
Public Member Functions inherited from SoFieldContainer | |
void | setToDefaults (void) |
SbBool | hasDefaultValues (void) const |
SbBool | fieldsAreEqual (const SoFieldContainer *container) const |
void | copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE) |
SbBool | set (const char *const fielddata) |
void | get (SbString &fielddata) |
virtual int | getFields (SoFieldList &l) const |
virtual int | getAllFields (SoFieldList &l) const |
virtual SoField * | getField (const SbName &name) const |
virtual SoField * | getEventIn (const SbName &name) const |
virtual SoField * | getEventOut (const SbName &name) const |
SbBool | getFieldName (const SoField *const field, SbName &name) const |
SbBool | enableNotify (const SbBool flag) |
SbBool | isNotifyEnabled (void) const |
SbBool | set (const char *fielddata, SoInput *input) |
void | get (SbString &fielddata, SoOutput *out) |
virtual SbBool | validateNewFieldValue (SoField *field, void *newval) |
virtual void | addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) |
SbBool | getIsBuiltIn (void) const |
virtual void | copyContents (const SoFieldContainer *from, SbBool copyconnections) |
virtual void | getFieldsMemorySize (size_t &managed, size_t &unmanaged) const |
void | setUserData (void *userdata) const |
void * | getUserData (void) const |
Public Member Functions inherited from SoBase | |
void | ref (void) const |
void | unref (void) const |
void | unrefNoDelete (void) const |
int32_t | getRefCount (void) const |
void | touch (void) |
SbBool | isOfType (SoType type) const |
Returns TRUE if the type of this object is either of the same type or inherited from type. More... | |
virtual SbName | getName (void) const |
virtual void | setName (const SbName &newname) |
virtual void | startNotify (void) |
void | addAuditor (void *const auditor, const SoNotRec::Type type) |
void | removeAuditor (void *const auditor, const SoNotRec::Type type) |
const SoAuditorList & | getAuditors (void) const |
SbBool | shouldWrite (void) |
void | assertAlive (void) const |
Static Public Member Functions | |
static SoType | getClassTypeId (void) |
static void | initClass (void) |
static void | initClasses (void) |
Static Public Member Functions inherited from SoEngine | |
static void | initClass (void) |
static void | initClasses (void) |
static SoType | getClassTypeId (void) |
static SoEngine * | getByName (const SbName &name) |
static int | getByName (const SbName &name, SoEngineList &el) |
Static Public Member Functions inherited from SoFieldContainer | |
static void | initClass (void) |
static SoType | getClassTypeId (void) |
static void | cleanupClass (void) |
static void | initCopyDict (void) |
static void | addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) |
static SoFieldContainer * | checkCopy (const SoFieldContainer *orig) |
static SoFieldContainer * | findCopy (const SoFieldContainer *orig, const SbBool copyconnections) |
static void | copyDone (void) |
Static Public Member Functions inherited from SoBase | |
static void | initClass (void) |
Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system. | |
static SoType | getClassTypeId (void) |
This static method returns the SoType object associated with objects of this class. | |
static void | addName (SoBase *const base, const char *const name) |
static void | removeName (SoBase *const base, const char *const name) |
static void | incrementCurrentWriteCounter (void) |
static void | decrementCurrentWriteCounter (void) |
static SoBase * | getNamedBase (const SbName &name, SoType type) |
static int | getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) |
static SbBool | read (SoInput *input, SoBase *&base, SoType expectedtype) |
static void | setInstancePrefix (const SbString &c) |
static void | setTraceRefs (SbBool trace) |
static SbBool | getTraceRefs (void) |
static SbBool | connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) |
static SbBool | readRoute (SoInput *input) |
Protected Member Functions | |
SoFieldConverter (void) | |
virtual | ~SoFieldConverter (void) |
Protected Member Functions inherited from SoEngine | |
SoEngine (void) | |
virtual | ~SoEngine (void) |
virtual void | evaluate (void)=0 |
virtual SbBool | readInstance (SoInput *in, unsigned short flags) |
virtual void | inputChanged (SoField *which) |
void | writeOutputTypes (SoOutput *out) |
Protected Member Functions inherited from SoFieldContainer | |
SoFieldContainer (void) | |
virtual | ~SoFieldContainer () |
Protected Member Functions inherited from SoBase | |
SoBase (void) | |
virtual | ~SoBase () |
SbBool | hasMultipleWriteRefs (void) const |
SbBool | writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const |
void | writeFooter (SoOutput *out) const |
virtual const char * | getFileFormatName (void) const |
virtual SoNotRec | createNotRec (void) |
Static Protected Member Functions | |
static const SoFieldData ** | getInputDataPtr (void) |
static const SoEngineOutputData ** | getOutputDataPtr (void) |
Static Protected Member Functions inherited from SoEngine | |
static const SoFieldData ** | getInputDataPtr (void) |
static const SoEngineOutputData ** | getOutputDataPtr (void) |
Static Protected Member Functions inherited from SoBase | |
static uint32_t | getCurrentWriteCounter (void) |
static void | staticDataLock (void) |
static void | staticDataUnlock (void) |
Additional Inherited Members | |
Protected Types inherited from SoBase | |
enum | BaseFlags { IS_ENGINE = 0x01, IS_GROUP = 0x02 } |
Protected Attributes inherited from SoFieldContainer | |
SbBool | isBuiltIn |
The SoFieldConverter class is the abstract base class for field converters.
When fields of different types are attempted connected, the Coin library tries to find a field converter class which can be inserted between them, acting as a filter converting values from the master field to values matching the type of the slave field.
If a value type conversion is possible (like between an SoSFFloat field and an SoSFInt32 field, for instance, where we could do a simple typecast for converting the value of one to the other), an SoFieldConverter derived object is inserted.
This class is the abstract base superclass which all such field converters needs to inherit.
Coin comes with one built-in field converter class which takes care of all possible field-to-field conversions we know about. This means applications programmers should seldom need to care about this class, it will probably only be useful if you expand the Coin library with your own field type classes. (Doing so is considered advanced use of the library.)
|
protected |
Default constructor.
|
protectedvirtual |
Default destructor.
|
virtual |
Returns the type identification of an object derived from a class inheriting SoBase. This is used for run-time type checking and "downward" casting.
Usage example:
For application programmers wanting to extend the library with new nodes, engines, nodekits, draggers or others: this method needs to be overridden in all subclasses. This is typically done as part of setting up the full type system for extension classes, which is usually accomplished by using the pre-defined macros available through for instance Inventor/nodes/SoSubNode.h (SO_NODE_INIT_CLASS and SO_NODE_CONSTRUCTOR for node classes), Inventor/engines/SoSubEngine.h (for engine classes) and so on.
For more information on writing Coin extensions, see the class documentation of the toplevel superclasses for the various class groups.
Implements SoBase.
|
virtual |
Returns a pointer to the class-wide field data storage object for this instance. If no fields are present, returns NULL
.
Reimplemented from SoFieldContainer.
|
virtual |
This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.
Implements SoEngine.
Returns input field for the converter engine. Must be overridden in non-abstract converter engine classes.
|
pure virtual |
Returns output for the converter engine. Must be overridden in non-abstract converter engine classes.
|
virtual |
This method is obsoleted in Coin. It should probably have been private in OIV.
int SoFieldConverter::getForwardConnections | ( | SoFieldList & | l | ) | const |
Returns fields which are connected as slaves of the engine output.