SoMFVec2f(3IV)NAMESoMFVec2f (SoMVec2f) - multiple-value field containing any number of
two-dimensional vectors
INHERITS FROM
SoField > SoMField > SoMFVec2fSYNOPSIS
#include <Inventor_c/fields/SoMFVec2f.h>
typedef SoMFVec2f SoMVec2f
Functions from class SoMFVec2f:
void SoMVec2fSetXYs(SoMVec2f *this, int start, int num,
const float xy[][2])
void SoMVec2fSet1X_Y(SoMVec2f *this, int index, float x,
float y)
void SoMVec2fSet1XY(SoMVec2f *this, int index, const float
xy[2])
void SoMVec2fSetX_Y(SoMVec2f *this, float x, float y)
void SoMVec2fSetXY(SoMVec2f *this, const float xy[2])
SoType SoMVec2fGetClassTypeId()
void SoMVec2fGetTypeId(const SoMVec2f *this)
const SbVec2f * SoMVec2fGet(const SoMVec2f *this, int i)
const SbVec2f * SoMVec2fGetN(const SoMVec2f *this, int start)
int SoMVec2fFind(SoMVec2f *this, const SbVec2f *
targetValue, SbBool addIfNotFound = FALSE)
void SoMVec2fSetN(SoMVec2f *this, int start, int num,
const SbVec2f *newValues)
void SoMVec2fSet1(SoMVec2f *this, int index, const SbVec2f
* newValue)
void SoMVec2fSet(SoMVec2f *this, const SbVec2f * newValue)
int SoMVec2fIsEq(const SoMVec2f *this, const SoMFVec2f
*f)
int SoMVec2fIsNEq(const SoMVec2f *this, const SoMFVec2f
*f)
SbVec2f * SoMVec2fStartEdit(SoMVec2f *this)
void SoMVec2fFinishEdit(SoMVec2f *this)
Functions from class SoMField:
int SoMVec2fGetNum(const SoMVec2f *this)
void SoMVec2fSetNum(SoMVec2f *this, int num)
void SoMVec2fDel(SoMVec2f *this, int start, int num = -1)
void SoMVec2fInsertSpace(SoMVec2f *this, int start, int
num)
void SoMVec2fGet1(SoMVec2f *this, int index, SbString
*valueString)
Functions from class SoField:
Page 1SoMFVec2f(3IV)
void SoMVec2fSetIgnored(SoMVec2f *this, SbBool ignore)
SbBool SoMVec2fIsIgnored(const SoMVec2f *this)
SbBool SoMVec2fIsDflt(const SoMVec2f *this)
SbBool SoMVec2fIsOfType(const SoMVec2f *this, SoType type)
SbBool SoMVec2fSetFromStr(SoMVec2f *this, const char
*valueString)
void SoMVec2fGetIntoStr(SoMVec2f *this, SbString
*valueString)
void SoMVec2fTouch(SoMVec2f *this)
SbBool SoMVec2fConnFromField(SoMVec2f *this, SoField
*fromField)
SbBool SoMVec2fConnFrom(SoMVec2f *this, SoEngineOutput
*fromEngine)
void SoMVec2fDisconn(SoMVec2f *this)
SbBool SoMVec2fIsConn(const SoMVec2f *this)
SbBool SoMVec2fIsConnFromField(const SoMVec2f *this)
SbBool SoMVec2fGetConnField(const SoMVec2f *this, SoField
**writingField)
SbBool SoMVec2fIsConnFromEngine(const SoMVec2f *this)
SbBool SoMVec2fGetConnEngine(const SoMVec2f *this,
SoEngineOutput **engineOutput)
void SoMVec2fEnableConn(SoMVec2f *this, SbBool flag)
SbBool SoMVec2fIsConnEnabled(const SoMVec2f *this)
int SoMVec2fGetForwardConn(const SoMVec2f *this,
SoFieldList *list)
SoFieldContainer * SoMVec2fGetContainer(const SoMVec2f *this)
DESCRIPTION
A multiple-value field that contains any number of two-dimensional
vectors.
SoMFVec2fs are written to file as one or more pairs of floating point
values separated by whitespace. When more than one value is present, all
of the values are enclosed in square brackets and separated by commas;
for example:
[ 0 0, 1.2 3.4, 98.6 -4e1 ]
FUNCTIONS
void SoMVec2fSetXYs(SoMVec2f *this, int start, int num,
const float xy[][2])
Sets num values starting at index start to the given floating point
values. There must be num*2 values in the passed array.
void SoMVec2fSet1X_Y(SoMVec2f *this, int index, float x,
float y)
void SoMVec2fSet1XY(SoMVec2f *this, int index, const float
xy[2])
Set the index'th value to the given floating point values.
Page 2SoMFVec2f(3IV)
void SoMVec2fSetX_Y(SoMVec2f *this, float x, float y)
void SoMVec2fSetXY(SoMVec2f *this, const float xy[2])
Sets the field to contain the given value and only the given value
(if the array had multiple values before, they are deleted).
SoType SoMVec2fGetClassTypeId()
void SoMVec2fGetTypeId(const SoMVec2f *this)
Returns the type for this class or a particular object of this
class.
const SbVec2f * SoMVec2fGet(const SoMVec2f *this, int i)
Returns the i'th value of the field. Indexing past the end of the
field (passing in i greater than getNum()) will return garbage.
const SbVec2f * SoMVec2fGetN(const SoMVec2f *this, int start)
Returns a pointer into the array of values in the field, starting at
index start. The values are read-only; see the
startEditing()/finishEditing() methods for a way of modifying values
in place.
int SoMVec2fFind(SoMVec2f *this, const SbVec2f *
targetValue, SbBool addIfNotFound = FALSE)
Finds the given value in the array and returns the index of that
value in the array. If the value is not found, -1 is returned. If
addIfNotFound is set, then targetValue is added to the end of the
array (but -1 is still returned).
void SoMVec2fSetN(SoMVec2f *this, int start, int num,
const SbVec2f *newValues)
Sets num values starting at index start to the values in newValues.
The array will be automatically be made larger to accomodate the new
values, if necessary.
void SoMVec2fSet1(SoMVec2f *this, int index, const SbVec2f
* newValue)
Sets the index'th value in the array to newValue. The array will be
automatically expanded, if necessary.
void SoMVec2fSet(SoMVec2f *this, const SbVec2f * newValue)
Sets the first value in the array to newValue, and deletes the
second and subsequent values.
int SoMVec2fIsEq(const SoMVec2f *this, const SoMFVec2f
*f)
int SoMVec2fIsNEq(const SoMVec2f *this, const SoMFVec2f
*f)
Returns TRUE if all of the values of this field equal (do not equal)
those of the given field. If the fields are different types FALSE
will always be returned (even if one field is an SoMFFloat with one
value of 1.0 and the other is an SoMFInt with a value of 1, for
example).
Page 3SoMFVec2f(3IV)
SbVec2f * SoMVec2fStartEdit(SoMVec2f *this)
void SoMVec2fFinishEdit(SoMVec2f *this)
startEditing() 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 StartEdit() and FinishEdit() (e.g. Set1(),
Set(), etc).
Fields, engines or sensors connected to this field and sensors are
not notified that this field has changed until FinishEdit() is
called. Calling FinishEdit() always sets the IsDflt flag to FALSE
and informs engines and sensors that the field changed, even if none
of the values actually were changed.
Page 4