SoMFName(3IV)NAMESoMFName (SoMName) - multiple-value field containing any number of names
INHERITS FROM
SoField > SoMField > SoMFNameSYNOPSIS
#include <Inventor_c/fields/SoMFName.h>
typedef SoMFName SoMName
Functions from class SoMFName:
void SoMNameSetStrs(SoMName *this, int start, int num,
const char *strings[])
void SoMNameSetStr(SoMName *this, const char *string)
SoType SoMNameGetClassTypeId()
void SoMNameGetTypeId(const SoMName *this)
const SbName * SoMNameGet(const SoMName *this, int i)
const SbName * SoMNameGetN(const SoMName *this, int start)
int SoMNameFind(SoMName *this, const char * targetValue,
SbBool addIfNotFound = FALSE)
void SoMNameSetN(SoMName *this, int start, int num, const
SbName *newValues)
void SoMNameSet1(SoMName *this, int index, const char *
newValue)
void SoMNameSet(SoMName *this, const char * newValue)
int SoMNameIsEq(const SoMName *this, const SoMFName *f)
int SoMNameIsNEq(const SoMName *this, const SoMFName *f)
SbName * SoMNameStartEdit(SoMName *this)
void SoMNameFinishEdit(SoMName *this)
Functions from class SoMField:
int SoMNameGetNum(const SoMName *this)
void SoMNameSetNum(SoMName *this, int num)
void SoMNameDel(SoMName *this, int start, int num = -1)
void SoMNameInsertSpace(SoMName *this, int start, int num)
void SoMNameGet1(SoMName *this, int index, SbString
*valueString)
Functions from class SoField:
void SoMNameSetIgnored(SoMName *this, SbBool ignore)
SbBool SoMNameIsIgnored(const SoMName *this)
SbBool SoMNameIsDflt(const SoMName *this)
SbBool SoMNameIsOfType(const SoMName *this, SoType type)
SbBool SoMNameSetFromStr(SoMName *this, const char
*valueString)
void SoMNameGetIntoStr(SoMName *this, SbString
*valueString)
Page 1SoMFName(3IV)
void SoMNameTouch(SoMName *this)
SbBool SoMNameConnFromField(SoMName *this, SoField
*fromField)
SbBool SoMNameConnFrom(SoMName *this, SoEngineOutput
*fromEngine)
void SoMNameDisconn(SoMName *this)
SbBool SoMNameIsConn(const SoMName *this)
SbBool SoMNameIsConnFromField(const SoMName *this)
SbBool SoMNameGetConnField(const SoMName *this, SoField
**writingField)
SbBool SoMNameIsConnFromEngine(const SoMName *this)
SbBool SoMNameGetConnEngine(const SoMName *this,
SoEngineOutput **engineOutput)
void SoMNameEnableConn(SoMName *this, SbBool flag)
SbBool SoMNameIsConnEnabled(const SoMName *this)
int SoMNameGetForwardConn(const SoMName *this,
SoFieldList *list)
SoFieldContainer * SoMNameGetContainer(const SoMName *this)
DESCRIPTION
A multiple-valued field containing any number of names. Names are short
series of characters generally used for labels or names, and are stored
in a special table designed to allow fast lookup and comparison. For
most purposes, an SoMFString field is probably more appropriate.
SoMFNames are written to file as one or more strings of characters. Names
must begin with an underscore or alphabetic character, and must consist
entirely of underscores, alphabetic characters, or numbers. When more
than one value is present, all of the values are enclosed in square
brackets and separated by commas; for example:
[ Fred, Wilma, _Part_01, translationField ]
FUNCTIONS
void SoMNameSetStrs(SoMName *this, int start, int num,
const char *strings[])
Sets num values beginning at index start to the names contained in
the given set of character strings.
void SoMNameSetStr(SoMName *this, const char *string)
Sets this field to contain one and only one value, given by string.
SoType SoMNameGetClassTypeId()
void SoMNameGetTypeId(const SoMName *this)
Returns the type for this class or a particular object of this
class.
const SbName * SoMNameGet(const SoMName *this, int i)
Returns the i'th value of the field. Indexing past the end of the
Page 2SoMFName(3IV)
field (passing in i greater than getNum()) will return garbage.
const SbName * SoMNameGetN(const SoMName *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 SoMNameFind(SoMName *this, const char * 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 SoMNameSetN(SoMName *this, int start, int num, const
SbName *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 SoMNameSet1(SoMName *this, int index, const char *
newValue)
Sets the index'th value in the array to newValue. The array will be
automatically expanded, if necessary.
void SoMNameSet(SoMName *this, const char * newValue)
Sets the first value in the array to newValue, and deletes the
second and subsequent values.
int SoMNameIsEq(const SoMName *this, const SoMFName *f)
int SoMNameIsNEq(const SoMName *this, const SoMFName *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).
SbName * SoMNameStartEdit(SoMName *this)
void SoMNameFinishEdit(SoMName *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 3SoMFName(3IV)Page 4