Field containing a 3D array value. More...
#include <Inventor/fields/SoSFArray3D.h>
Public Member Functions | |
virtual SoType | getTypeId () const |
Returns the type identifier for this specific instance. | |
const SoSFArray3D & | operator= (const SoSFArray3D &f) |
Copy from another field of same type. | |
SoSFArray3D () | |
Default constructor. | |
virtual | ~SoSFArray3D () |
Destructor. | |
void | setValue (const SbVec3i32 &size, const SbDataType &dataType, unsigned int numSigBits, const void *data, CopyPolicy copy) |
Fill the array with data of the specified dimensions and type using the specified copy policy. | |
void | setValue (const SbVec3i32 &size, unsigned int numSigBits, SoMemoryObject *memObj, CopyPolicy copy) |
Fill the array with data of the specified dimensions and type using the specified copy policy. | |
unsigned int | getNumSigBits () const |
Returns the number of significant bits. | |
virtual int | operator== (const SoSFArray3D &f) const |
Returns TRUE if all of the values of this field equal those of the given field f. | |
void * | getValue () const |
Returns a read-only pointer to the array's values. | |
const void * | getValue (SbVec3i32 &size, SbDataType &dataType) const |
Returns a read-only pointer to the array's values and its dimensions and data type. | |
void * | startEditing (SbVec3i32 &size, SbDataType &dataType) |
Returns a pointer to the internally maintained array that can be modified. | |
const SbVec3i32 & | getSize () const |
Returns the dimensions of the array. | |
Public Member Functions inherited from SoSFArray | |
const SoSFArray & | operator= (const SoSFArray &f) |
Copy from another field of same type. | |
SoSFArray () | |
Default constructor. | |
virtual | ~SoSFArray () |
Destructor. | |
void * | getValue () const |
Returns a read-only pointer to the array's values. | |
DataType | getDataType () const |
Returns the data type of the array. | |
void | finishEditing () |
Indicates that batch edits have finished. | |
virtual int | operator!= (const SoSFArray &f) const |
Returns TRUE if all of the values of this field do not equal those of the given field f. | |
void | setNeverWrite (SbBool neverWrite) |
Sets the "neverWrite" flag. | |
SbBool | isNeverWrite () |
Returns the "neverWrite" flag. | |
const SbVec3i32 & | getSize () const |
Returns the dimensions of the array. | |
void * | startEditing (SbVec3i32 &size, SbDataType &dataType) |
Returns a pointer to the internally maintained array that can be modified. | |
virtual size_t | getValueSize () const |
Returns the size in bytes of one data value, e.g. | |
const void * | getValue (SbVec3i32 &size, SbDataType &dataType) const |
Returns a read-only pointer to the array's values and its dimensions and data type. | |
void | setValue (const SbVec3i32 &size, const SbDataType &dataType, const void *data, CopyPolicy copy=COPY) |
Fill the array with data of the specified dimensions and type using the specified copy policy. | |
void | setValue (const SbVec3i32 &size, SoMemoryObject *memObj, CopyPolicy copy) |
Fill the array with the specified dimensions and data from an SoMemoryObject using the specified copy policy. | |
SbBool | isEmpty () const |
Returns TRUE if the current array is empty. | |
Public Member Functions inherited from SoField | |
void | setIgnored (SbBool ig) |
Sets the ignore flag for this field. | |
SbBool | isIgnored () const |
Gets the ignore flag for this field. | |
SbBool | isDefault () const |
Gets the state of default flag of the field. | |
void | enableConnection (SbBool flag) |
Field connections may be enabled and disabled. | |
SbBool | isConnectionEnabled () const |
Returns FALSE if connections to this field are disabled. | |
SbBool | connectFrom (SoEngineOutput *engineOutput) |
Connects this field from an engine output. | |
SbBool | connectFrom (SoField *field) |
Connects this field to another field. | |
SbBool | connectFrom (SoVRMLInterpOutput *interpOutput) |
Connects this field from an interpOutput. | |
SbBool | appendConnection (SoEngineOutput *engineOutput) |
Appends this field to the list of connections from another engineOutput. | |
SbBool | appendConnection (SoField *field) |
Appends this field to the list of connections from another field. | |
SbBool | appendConnection (SoVRMLInterpOutput *interpOutput) |
Appends this field to the list of connections from another interpOutput. | |
void | disconnect (SoEngineOutput *engineOutput) |
Disconnect the field from the requested engineOutput. | |
void | disconnect (SoField *field) |
Disconnect the field from the requested field. | |
void | disconnect (SoVRMLInterpOutput *interpOutput) |
Disconnect the field from the requested interpOutput. | |
int | getNumConnections () const |
Returns the number of connections to this field. | |
int | getConnections (SoFieldList &list) |
Returns a list of the connections to this field. | |
void | disconnect () |
Disconnect the field from whatever it was connected to. | |
SbBool | isConnected () const |
Returns TRUE if the field is connected to anything. | |
SbBool | isConnectedFromVRMLInterp () const |
Returns TRUE if the field is connected to a VRML interpOutput. | |
SbBool | isConnectedFromEngine () const |
Returns TRUE if the field is connected to an engine's output. | |
SbBool | isConnectedFromField () const |
Returns TRUE if the field is connected to another field. | |
SbBool | getConnectedEngine (SoEngineOutput *&engineOutput) const |
Returns TRUE if this field is being written into by an engine, and returns the engine output it is connected to in engineOutput. | |
SbBool | getConnectedField (SoField *&writingField) const |
Returns TRUE if this field is being written into by another field, and returns the field it is connected to in writingField. | |
SbBool | getConnectedVRMLInterp (SoVRMLInterpOutput *&interpOutput) const |
Returns the VRMLInterpolator output field is connected to. | |
int | getForwardConnections (SoFieldList &list) const |
Adds references to all of the fields that this field is writing into (either fields in nodes, global fields or engine inputs) to the given field list, and returns the number of forward connections. | |
SoFieldContainer * | getContainer () const |
Returns the object that contains this field. | |
SoNONUNICODE SbBool | set (const char *valueString) |
Sets the field to the given value, which is an ASCII string in the Open Inventor file format. | |
SbBool | set (const SbString &valueString) |
Sets the field to the given value, which is an ASCII string in the Open Inventor file format. | |
void | get (SbString &valueString) |
Returns the value of the field in the Open Inventor file format, even if the field has its default value. | |
virtual void | touch () |
Simulates a change to the field, causing attached sensors to fire, connected fields and engines to be marked as needing evaluation, and so forth. | |
int | operator== (const SoField &f) const |
Return TRUE if this field is of the same type and has the same value as f. | |
int | operator!= (const SoField &f) const |
Return FALSE if this field is of the same type and has the same value as f. | |
Public Member Functions inherited from SoTypedObject | |
SbBool | isOfType (const SoType &type) const |
Returns TRUE if this object is of the type specified in type or is derived from that type. | |
template<typename TypedObjectClass > | |
SbBool | isOfType () const |
Returns TRUE if this object is of the type of class TypedObjectClass or is derived from that class. | |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
Static Public Member Functions inherited from SoSFArray | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
Static Public Member Functions inherited from SoSField | |
static SoType | getClassTypeId () |
Return the type identifier for this field class. | |
Static Public Member Functions inherited from SoField | |
static SoType | getClassTypeId () |
Return the type identifier for this field class. | |
Static Public Member Functions inherited from SoTypedObject | |
static SoType | getClassTypeId () |
Returns the type identifier for this class. | |
Additional Inherited Members | |
Public Types inherited from SoSFArray | |
enum | CopyPolicy { COPY = SoMemoryObject::COPY , NO_COPY = SoMemoryObject::NO_COPY , NO_COPY_AND_DELETE = SoMemoryObject::NO_COPY_AND_DELETE , NO_COPY_AND_FREE = SoMemoryObject::NO_COPY_AND_FREE } |
SoSFArray may be manipulating some large amounts of memory. More... | |
enum | DataType { UNSIGNED_BYTE = SbDataType::UNSIGNED_BYTE , UNSIGNED_SHORT = SbDataType::UNSIGNED_SHORT , UNSIGNED_INT32 = SbDataType::UNSIGNED_INT32 , SIGNED_BYTE = SbDataType::SIGNED_BYTE , SIGNED_SHORT = SbDataType::SIGNED_SHORT , SIGNED_INT32 = SbDataType::SIGNED_INT32 , FLOAT = SbDataType::FLOAT } |
Supported data type enumeration values. More... | |
Field containing a 3D array value.
This field contains a 3D array of values of a specified type. The setValue method allows you to specify the dimensions and type of data the array will contain, as well as the number of significant bits. The CopyPolicy allows you to control whether Open Inventor will make a copy of the data and, if not, whether the application or Open Inventor is responsible for managing the memory.
In ASCII format, an SoSFArray3D is written to file in the following format:
The example below shows the definition of a 2x2x2 array of unsigned bytes with data values 0, 1, 2, 3, 4, 5, 6, 7 and a number of significant bits of 8:
2 2 2 UBYTE 0 1 2 3 4 5 6 7 8 * \verbatim * * An SoSFArray3D may be empty or contain only dimension and type information, * but no data values. With no data values the previous example would be * written with the prefix "NODATA" like this: * \verbatim NODATA 2 2 2 UBYTE 8
SoField, SoSField, SoSFArray, SoSFArray2D
Definition at line 89 of file SoSFArray3D.h.
SoSFArray3D::SoSFArray3D | ( | ) |
Default constructor.
|
virtual |
Destructor.
|
static |
Returns the type identifier for this class.
|
inline |
Returns the number of significant bits.
Definition at line 161 of file SoSFArray3D.h.
|
inline |
Returns the dimensions of the array.
Definition at line 151 of file SoSFArray.h.
|
virtual |
Returns the type identifier for this specific instance.
Reimplemented from SoSFArray.
|
inline |
Returns a read-only pointer to the array's values.
Definition at line 108 of file SoSFArray.h.
const void * SoSFArray::getValue | ( | SbVec3i32 & | size, |
SbDataType & | dataType | ||
) | const |
Returns a read-only pointer to the array's values and its dimensions and data type.
const SoSFArray3D & SoSFArray3D::operator= | ( | const SoSFArray3D & | f | ) |
Copy from another field of same type.
|
virtual |
Returns TRUE if all of the values of this field equal those of the given field f.
If the fields are different types FALSE will always be returned.
void SoSFArray3D::setValue | ( | const SbVec3i32 & | size, |
const SbDataType & | dataType, | ||
unsigned int | numSigBits, | ||
const void * | data, | ||
CopyPolicy | copy | ||
) |
Fill the array with data of the specified dimensions and type using the specified copy policy.
void SoSFArray3D::setValue | ( | const SbVec3i32 & | size, |
unsigned int | numSigBits, | ||
SoMemoryObject * | memObj, | ||
CopyPolicy | copy | ||
) |
Fill the array with data of the specified dimensions and type using the specified copy policy.
void * SoSFArray::startEditing | ( | SbVec3i32 & | size, |
SbDataType & | dataType | ||
) |
Returns a pointer to the internally maintained array that can be modified.
The values in the array may be changed, but values cannot be added or removed. It is illegal to call any other editing methods between startEditing() and finishEditing() (e.g. setValue(), etc.). Fields, engines or sensors connected to this field are not triggered until finishEditing() is called. Calling finishEditing() always sets the isDefault() flag to FALSE and informs engines and sensors that the field changed, even if none of the values actually were changed.