25#ifndef _SO_MF_FIELDCONTAINER_
26#define _SO_MF_FIELDCONTAINER_
135 static void initClass();
136 static void exitClass();
139 virtual void fixCopy(
SbBool copyConnections);
142 virtual SbBool referencesCopy()
const;
146 virtual void countWriteRefs(
SoOutput *out)
const;
#define SO_MFIELD_REQUIRED_HEADER(className)
#define SO_MFIELD_CONSTRUCTOR_HEADER(className)
#define SO_MFIELD_SETVALUESPOINTER_HEADER(userType)
#define SO_MFIELD_VALUE_HEADER(className, valueType, valueRef)
Abstract base class for objects that contain fields.
Multiple-value field containing any number of pointers to fieldContainers.
int getNumFieldContainers() const
Returns number of fieldContainers.
void removeFieldContainer(int index)
Removes fieldContainer with given index from group.
SoFieldContainer * getFieldContainer(int index) const
Returns pointer to nth fieldContainer.
SoFieldContainer ** startEditing()
Returns a pointer to the internally maintained array that can be modified.
void addFieldContainer(SoFieldContainer *fieldContainer)
Adds a fieldContainer as last one in group.
void finishEditing()
Indicates that batch edits have finished.
void removeAllFieldContainers()
Removes all fieldContainers from group.
void removeFieldContainer(SoFieldContainer *fieldContainer)
Removes first instance of given fieldContainer from group.
int findFieldContainer(const SoFieldContainer *fieldContainer) const
Finds index of given fieldContainer within group.
void replaceFieldContainer(SoFieldContainer *oldFieldContainer, SoFieldContainer *newFieldContainer)
Replaces first instance of given fieldContainer with new fieldContainer.
void replaceFieldContainer(int index, SoFieldContainer *newFieldContainer)
Replaces fieldContainer with given index with new fieldContainer.
void insertFieldContainer(SoFieldContainer *fieldContainer, int newFieldContainerIndex)
Adds a fieldContainer so that it becomes the one with the given index.
Base class for all multiple-valued fields.
Used to write Open Inventor data files.