Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoSFArray2D Class Reference

Field containing a 2D array value. More...

#include <Inventor/fields/SoSFArray2D.h>

+ Inheritance diagram for SoSFArray2D:

Public Member Functions

virtual SoType getTypeId () const
 Returns the type identifier for this specific instance.
 
const SoSFArray2Doperator= (const SoSFArray2D &f)
 Copy from another field of same type.
 
 SoSFArray2D ()
 Default constructor.
 
virtual ~SoSFArray2D ()
 Destructor.
 
void setValue (const SbVec2s &size, DataType dataType, const void *data, CopyPolicy copy=COPY)
 Fill the 2D array with data of the specified dimensions and type using the specified copy policy.
 
void setValue (const SbVec2i32 &size, DataType dataType, const void *data, CopyPolicy copy=COPY)
 Fill the 2D array with data of the specified dimensions and type using the specified copy policy.
 
const void * getValue (SbVec2s &size, DataType &dataType) const
 Returns a read-only pointer to the 2D array's values and its dimensions and data type.
 
const void * getValue (SbVec2i32 &size, DataType &dataType) const
 Returns a read-only pointer to the 2D array's values and its dimensions and data type.
 
void * startEditing (SbVec2s &size, DataType &dataType)
 Returns a pointer to the internally maintained array that can be modified.
 
void * startEditing (SbVec2i32 &size, DataType &dataType)
 Returns a pointer to the internally maintained array that can be modified.
 
SbVec2i32 getSize () const
 Returns the dimensions of the array.
 
- Public Member Functions inherited from SoSFArray
const SoSFArrayoperator= (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 equal those of the given field f.
 
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 SbVec3i32getSize () 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.
 
SoFieldContainergetContainer () 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...
 

Detailed Description

Field containing a 2D array value.

This field contains a 2D array of values of a specified type. The setValue method allows you to specify the dimensions and type of data the array will contain. 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 SoSFArray2D is written to file in the following format:

  • Two numbers define the dimensions of the array
  • One string defines the type of the data:
    • BYTE for signed bytes
    • UBYTE for unsigned bytes
    • SHORT for signed shorts
    • USHORT for unsigned shorts
    • INT32 for signed 32 bits ints
    • UINT32 for unsigned 32 bits ints
    • FLOAT for floating point values
  • A list of values in decimal, hexadecimal, or octal format for integers or in standard scientific notation for float. Numbers are separated by a blank (space, tab, return...).

The example below shows the definition of a 2x2 array of unsigned bytes with data values 0, 1, 2 and 3:

2 2 UBYTE
0 1
2 3

Below is a 2x3 array of floats:

2 3 FLOAT
0.5 1 .72
0.33 6.2e4 0.9

EXAMPLE

SEE ALSO

SoField, SoSField,

Definition at line 113 of file SoSFArray2D.h.

Constructor & Destructor Documentation

◆ SoSFArray2D()

SoSFArray2D::SoSFArray2D ( )

Default constructor.

◆ ~SoSFArray2D()

virtual SoSFArray2D::~SoSFArray2D ( )
virtual

Destructor.

Member Function Documentation

◆ getClassTypeId()

static SoType SoSFArray2D::getClassTypeId ( )
static

Returns the type identifier for this class.


◆ getSize()

SbVec2i32 SoSFArray2D::getSize ( ) const
inline

Returns the dimensions of the array.

Definition at line 192 of file SoSFArray2D.h.

◆ getTypeId()

virtual SoType SoSFArray2D::getTypeId ( ) const
virtual

Returns the type identifier for this specific instance.

Reimplemented from SoSFArray.

◆ getValue() [1/2]

const void * SoSFArray2D::getValue ( SbVec2i32 size,
DataType dataType 
) const

Returns a read-only pointer to the 2D array's values and its dimensions and data type.

◆ getValue() [2/2]

const void * SoSFArray2D::getValue ( SbVec2s size,
DataType dataType 
) const

Returns a read-only pointer to the 2D array's values and its dimensions and data type.

◆ operator=()

const SoSFArray2D & SoSFArray2D::operator= ( const SoSFArray2D f)

Copy from another field of same type.

◆ setValue() [1/2]

void SoSFArray2D::setValue ( const SbVec2i32 size,
DataType  dataType,
const void *  data,
CopyPolicy  copy = COPY 
)

Fill the 2D array with data of the specified dimensions and type using the specified copy policy.

◆ setValue() [2/2]

void SoSFArray2D::setValue ( const SbVec2s size,
DataType  dataType,
const void *  data,
CopyPolicy  copy = COPY 
)

Fill the 2D array with data of the specified dimensions and type using the specified copy policy.

◆ startEditing() [1/2]

void * SoSFArray2D::startEditing ( SbVec2i32 size,
DataType 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.

◆ startEditing() [2/2]

void * SoSFArray2D::startEditing ( SbVec2s size,
DataType 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.


The documentation for this class was generated from the following file: