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

SoMFEnum Class Reference
[Field classes]

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

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

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 23 16:33:53 2009 for Coin by Doxygen. 1.5.8