somfenum(3)

NAME

SoMFEnum

SYNOPSIS

#include <Inventor/fields/SoMFEnum.h>
Inherits SoMField.
Inherited by SoMFBitMask.

Detailed Description

The SoMFEnum class is a container for a set of enumerated values.

This field is used where nodes, engines or other field containers needs to store values constrained to be from an enumerated set.

A field of this type stores its values to file as the symbolic names,
rather than the actual integer values.

See also:
SoSFEnum, SoMFBitMask
Public Member Functions
virtual SoType getTypeId (void) const
virtual void copyFrom (const SoField &field) const SoMFEnum & operator= (const SoMFEnum &field) virtual SbBool isSame (const SoField &field) const int operator[] (const int idx) const
const int * getValues (const int start) const
int find (int value, SbBool addifnotfound=0)
void setValues (const int start, const int num, const int *newvals) void set1Value (const int idx, int value)
void setValue (int value)
int operator= (int val)
SbBool operator== (const SoMFEnum &field) const SbBool operator!= (const SoMFEnum &field) const int * startEditing (void)
void finishEditing (void)
void setValue (const SbName name)
void set1Value (const int idx, const SbName name) void setEnums (const int num, const int *const values, const SbName
*const names)
int getNumEnums (void) const
int getEnum (const int idx, SbName &name) const
Static Public Member Functions
static void * createInstance (void)
static SoType getClassTypeId (void) static void initClass (void)
Protected Member Functions
virtual void deleteAllValues (void)
virtual void copyValue (int to, int from)
virtual int fieldSizeof (void) const
virtual void * valuesPtr (void)
virtual void setValuesPtr (void *ptr)
virtual void allocValues (int num)
virtual SbBool findEnumValue (const SbName &name, int &value) virtual SbBool findEnumName (int value, const SbName *&name) const
Protected Attributes
int * values
SbBool legalValuesSet
int numEnums
int * enumValues
SbName * enumNames

Member Function Documentation

SoType SoMFEnum::getClassTypeId (void) [static]
Returns a unique type identifier for this field class.
See also:
getTypeId(), SoType
Reimplemented from SoMField.
Reimplemented in SoMFBitMask.
SoType SoMFEnum::getTypeId (void) const [virtual]
Returns the type identification instance which uniquely identifies the Coin field class the object belongs to.
See also:
getClassTypeId(), SoType
Implements SoField.
Reimplemented in SoMFBitMask.
void SoMFEnum::copyFrom (const SoField & f) [virtual]
Copy value(s) from f into this field. f must be of the same type as this field.
Implements SoField.
Reimplemented in SoMFBitMask.
SbBool SoMFEnum::isSame (const SoField & f) const [virtual]
Check for equal type and value(s).
Implements SoField.
Reimplemented in SoMFBitMask.
void SoMFEnum::deleteAllValues (void) [protected, virtual]
This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.
Implements SoMField.
void SoMFEnum::copyValue (int to, int from) [protected, virtual]
This method is used for moving values around internally within a
multivalue field. It needs to be overridden in each field so it
automatically takes care of running copy contructors where necessary.
Implements SoMField.
const int* SoMFEnum::getValues (const int start) const [inline]
\ Returns a pointer to the values array. \
void SoMFEnum::initClass (void) [static]
Internal method called upon initialization of the library (from
SoDB::init()) to set up the type system.
Reimplemented from SoMField.
Reimplemented in SoMFBitMask.
Referenced by SoField::initClasses().
void SoMFEnum::setValue (const SbName name)
Set this field to contain a single value by specifying an enumeration
string.
References findEnumValue(), SbName::getString(), and
SoDebugError::post().
void SoMFEnum::set1Value (const int idx, const SbName name)
Set the value at idx to the enumeration value represented by name.
References findEnumValue(), SbName::getString(), and
SoDebugError::post().
void SoMFEnum::setEnums (const int numarg, const int *const vals, const
SbName *const names)
Makes a set of num enumeration names map to vals.
References enumNames, enumValues, legalValuesSet, and numEnums.
int SoMFEnum::getNumEnums (void) const
Returns the number of enum names the SoSFEnum object understands.
This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.
Since:
Coin 2.0
References numEnums.
int SoMFEnum::getEnum (const int idx, SbName & name) const
Returns the value of the Nth enum this SoSFEnum object understands, and mutates name to contain the Nth enum's name.
This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.
Since:
Coin 2.0
References enumNames, enumValues, numEnums, and SoDebugError::post().
SbBool SoMFEnum::findEnumValue (const SbName & name, int & val) [protected,
virtual]
Return in val the enumeration value which matches the given enumeration name.
Returns TRUE if name is a valid enumeration string, otherwise FALSE.
References enumNames, enumValues, and numEnums.
Referenced by set1Value(), and setValue().
SbBool SoMFEnum::findEnumName (int value, const SbName *& name) const
[protected, virtual]
Set the enumeration name which matches the given enumeration value.
Returns TRUE if value is a valid enumeration value, otherwise FALSE.
References enumNames, enumValues, and numEnums.

Member Data Documentation

SbBool SoMFEnum::legalValuesSet [protected]
Is TRUE if a set of enum name-to-value mappings has been set.
Referenced by setEnums().
int SoMFEnum::numEnums [protected]
Number of enumeration mappings.
Referenced by findEnumName(), findEnumValue(), getEnum(),
getNumEnums(), and setEnums().
int * SoMFEnum::enumValues [protected]
Array of enumeration values. Maps 1-to-1 with the enumNames.
Referenced by findEnumName(), findEnumValue(), getEnum(), and
setEnums().
SbName * SoMFEnum::enumNames [protected]
Array of enumeration names. Maps 1-to-1 with the enumValues.
Referenced by findEnumName(), findEnumValue(), getEnum(), and
setEnums().

Author

Generated automatically by Doxygen for Coin from the source code.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout