57#ifndef _SO_FIELD_DATA_
58#define _SO_FIELD_DATA_
107 const char *fieldName,
115 bool copyConnections)
const;
133 const char *valName,
int val);
135 int *&vals,
SbName *&names);
153 bool errorOnUnknownField,
154 bool ¬BuiltIn)
const;
164 bool &foundName)
const;
182 int numDescriptionsExpected)
const;
193 int numFieldsWritten)
const;
197 std::vector<SbString> removedFields;
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
Character string stored in a hash table.
List of generic (void *) pointers.
Class for smart character strings.
Abstract base class for objects that contain fields.
The SoFieldData class holds data about fields of an object: the number of fields the object has,...
void copy(const SoFieldData *from)
Copies all fields from given field data into this one, creating new fields for them.
void addEnumValue(const char *typeName, const char *valName, int val)
Enum name/value mechanism.
~SoFieldData()
Destructor.
int getNumFields() const
Returns number of fields.
void writeFieldDescriptions(SoOutput *out, const SoFieldContainer *object) const
Write field type information.
void overlay(SoFieldContainer *to, const SoFieldContainer *from, bool copyConnections) const
Copy values and flags of fields from one object to another (of the same type).
void write(SoOutput *out, const SoFieldContainer *object) const
Writes all fields of object according to SoOutput.
bool readFieldDescriptions(SoInput *in, SoFieldContainer *object, int numDescriptionsExpected) const
Read field type information.
bool isSame(const SoFieldContainer *c1, const SoFieldContainer *c2) const
Returns TRUE if the values in the fields of one container are the same as those in another (of the sa...
void addField(SoFieldContainer *defObject, const char *fieldName, const SoField *field)
Adds a field to current data, given default value object, name of field and pointer to field within d...
SoFieldData(const SoFieldData *)
bool read(SoInput *in, SoFieldContainer *object, const SbName &fieldName, bool &foundName) const
This function is used when the field name has already been read, and just the value needs to be read ...
const SbName & getFieldName(int index) const
Returns name of field with given index.
SoFieldData(int numFields)
Constructor that takes number of fields as a hint.
int getIndex(const SoFieldContainer *fc, const SoField *field) const
Returns index of field, given the field and the instance it is in.
void addRemovedFieldName(const SbString &name)
Adds the given name as a removed field. (MEVIS only)
const std::vector< SbString > & getRemovedFieldNames() const
Get access to the names of removed fields.
SoFieldData()
Constructor.
void getEnumData(const char *typeName, int &num, int *&vals, SbName *&names)
SoFieldData(const SoFieldData &)
Copy constructors.
SoField * getField(const SoFieldContainer *object, int index) const
Returns pointer to field with given index within given object instance.
bool read(SoInput *in, SoFieldContainer *object, bool errorOnUnknownField, bool ¬BuiltIn) const
Reads into fields according to SoInput.
Base class for all fields.
Used to write Inventor data files.