Coin Logo http://www.sim.no
http://www.coin3d.org

Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

SoMFEnum Class Reference

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. More...

#include <Inventor/fields/SoMFEnum.h>

Inheritance diagram for SoMFEnum:
SoMField SoField SoMFBitMask

List of all members.

Public Member Functions

virtual SoType getTypeId (void) const
virtual void copyFrom (const SoField &field)
const SoMFEnumoperator= (const SoMFEnum &field)
virtual SbBool isSame (const SoField &field) const
 PRIVATE_MFIELD_IO_HEADER ()
int operator[] (const int idx) const
const int * getValues (const int start) const
int find (int value, SbBool addifnotfound=FALSE)
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
SbNameenumNames

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

Member Function Documentation

static SoType SoMFEnum::getClassTypeId ( void  ) [static]

Returns a unique type identifier for this field class.

See also:
getTypeId(), SoType

Reimplemented from SoMField.

Reimplemented in SoMFBitMask.

virtual 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.

virtual 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.

virtual SbBool SoMFEnum::isSame ( const SoField f) const [virtual]

Check for equal type and value(s).

Implements SoField.

Reimplemented in SoMFBitMask.

const int* SoMFEnum::getValues ( const int  start) const [inline]

\ Returns a pointer to the values array. \

Referenced by SoTextureCombine::doAction().

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.

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().


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

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Mon Feb 28 2011 10:12:14 for Coin by Doxygen. 1.7.3