59#ifndef _SO_FIELD_CONTAINER_
60#define _SO_FIELD_CONTAINER_
121 bool copyConnections =
FALSE);
131 bool set(
const char *fieldDataString)
132 {
return set(fieldDataString, NULL); }
141 { get(fieldDataString, NULL); }
164 {
bool e = notifyEnabled; notifyEnabled = flag;
return e; }
220 bool isFromField =
FALSE);
257 bool copyConnections);
268 bool copyConnections);
294 static SoType classTypeId;
306 static void unrefCopy(
size_t key,
void *instPtr);
310 static char *fieldBuf;
311 static size_t fieldBufSize;
315 static void * reallocFieldBuf(
void *ptr,
size_t newSize);
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
This is a dictionary mapping (size_t) integer keys to (void *) data pointers.
Character string stored in a hash table.
List of generic (void *) pointers.
Class for smart character strings.
Base class for all nodes, paths, and engines.
Abstract base class for objects that contain fields.
virtual void addWriteReference(SoOutput *out, bool isFromField=FALSE)
Adds a reference to the instance when writing.
static void addCopy(const SoFieldContainer *orig, const SoFieldContainer *copy)
Adds an instance to the dictionary.
bool enableNotify(bool flag)
Notification at this Field Container is enabled (if flag == TRUE) or disabled (if flag == FALSE).
virtual void notify(SoNotList *)
Propagates modification notification through an instance.
void addManagedSensor(SoSensor *sensor)
Adds a sensor which is managed by the field container.
bool hasDefaultValues() const
Returns TRUE if all of the object's fields have their default values.
void get(SbString &fieldDataString)
Returns the values of the fields of this object in the Inventor ASCII file format in the given string...
static SoType getClassTypeId()
Returns the type of this class.
virtual void copyContents(const SoFieldContainer *fromFC, bool copyConnections)
Copies the contents of the given node into this instance.
void setToDefaults()
Sets all fields in this object to their default values.
virtual void writeInstance(SoOutput *out)
Writes instance to SoOutput. (Used only for last stage of writing)
virtual bool readInstance(SoInput *in, unsigned short flags)
Reads stuff into instance. Returns FALSE on error.
virtual SoField * getField(const SbName &fieldName) const
Returns a pointer to the field with the given name.
virtual const SoFieldData * getFieldData() const
Returns an SoFieldData structure for the node.
static SoFieldContainer * findCopy(const SoFieldContainer *orig, bool copyConnections)
If a copy of the given instance is not in the dictionary, this returns NULL.
static void initCopyDict()
During a copy operation, copies of nodes and engines are stored in a dictionary, keyed by the origina...
bool fieldsAreEqual(const SoFieldContainer *fc) const
Returns TRUE if this object's fields are exactly equal to fc's fields.
bool set(const char *fieldDataString)
Sets one or more fields in this object to the values specified in the given string,...
static void copyDone()
Cleans up the dictionary when done.
static SoFieldContainer * checkCopy(const SoFieldContainer *orig)
If a copy of the given instance is in the dictionary, this returns it.
bool getFieldName(const SoField *field, SbName &fieldName) const
Returns the name of the given field in the fieldName argument.
bool isBuiltIn
Is the subclass a built-in Inventor subclass or an extender subclass? This is used to determine wheth...
bool getIsBuiltIn() const
Returns whether or not instance is considered 'built-in' to the library.
virtual SoFieldContainer * copyThroughConnection() const
During a copy operation, this copies an instance that is encountered through a field connection.
bool set(const char *fieldDataString, SoInput *dictIn)
Sets one or more fields in this object to the values specified in the given string,...
void copyFieldValues(const SoFieldContainer *fc, bool copyConnections=FALSE)
Copies the contents of fc's fields into this object's fields.
void get(SbString &fieldDataString, SoOutput *dictOut)
Returns the values of the fields of this object in the Inventor ASCII file format in the given string...
bool isNotifyEnabled() const
Notification is the process of telling interested objects that this object has changed.
static void initClass()
Setup type information.
virtual int getFields(SoFieldList &list) const
Appends pointers to all of this object's fields to resultList, and returns the number of fields appen...
The SoFieldData class holds data about fields of an object: the number of fields the object has,...
Maintains a list of pointers to fields.
Base class for all fields.
Holds a list of SoNotRec notification records.
Used to write Inventor data files.
Abstract base class for Inventor sensors.
SoType has no virtual functions to keep it small...