SoMFEnum(3IV)

SoMFEnum (SoMEnum) - multiple-value field containing any number of enumerated type values

As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.

NAME
     SoMFEnum (SoMEnum) - multiple-value field containing any number of
     enumerated type values

INHERITS FROM
     SoField > SoMField > SoMFEnum

SYNOPSIS
     typedef SoMFEnum    SoMEnum

          Functions from class SoMFEnum:

     void                SoMEnumSetStr(SoMEnum *this, const char *name)
     void                SoMEnumSet1Str(SoMEnum *this, int index, const char
                              *name)
     SoType              SoMEnumGetClassTypeId()
     void                SoMEnumGetTypeId(const SoMEnum *this)
     int                 SoMEnumGet(const SoMEnum *this, int i)
     const int *         SoMEnumGetN(const SoMEnum *this, int start)
     int                 SoMEnumFind(SoMEnum *this, int targetValue, SbBool
                              addIfNotFound = FALSE)
     void                SoMEnumSetN(SoMEnum *this, int start, int num, const
                              int *newValues)
     void                SoMEnumSet1(SoMEnum *this, int index, int newValue)
     void                SoMEnumSet(SoMEnum *this, int newValue)
     int                 SoMEnumIsEq(const SoMEnum *this, const SoMFEnum *f)
     int                 SoMEnumIsNEq(const SoMEnum *this, const SoMFEnum *f)
     int *               SoMEnumStartEdit(SoMEnum *this)
     void                SoMEnumFinishEdit(SoMEnum *this)

          Functions from class SoMField:

     int                 SoMEnumGetNum(const SoMEnum *this)
     void                SoMEnumSetNum(SoMEnum *this, int num)
     void                SoMEnumDel(SoMEnum *this, int start, int num = -1)
     void                SoMEnumInsertSpace(SoMEnum *this, int start, int num)
     void                SoMEnumGet1(SoMEnum *this, int index, SbString
                              *valueString)

          Functions from class SoField:

     void                SoMEnumSetIgnored(SoMEnum *this, SbBool ignore)
     SbBool              SoMEnumIsIgnored(const SoMEnum *this)
     SbBool              SoMEnumIsDflt(const SoMEnum *this)
     SbBool              SoMEnumIsOfType(const SoMEnum *this, SoType type)
     SbBool              SoMEnumSetFromStr(SoMEnum *this, const char
                              *valueString)
     void                SoMEnumGetIntoStr(SoMEnum *this, SbString
                              *valueString)
     void                SoMEnumTouch(SoMEnum *this)
     SbBool              SoMEnumConnFromField(SoMEnum *this, SoField
                              *fromField)
     SbBool              SoMEnumConnFrom(SoMEnum *this, SoEngineOutput
                              *fromEngine)
     void                SoMEnumDisconn(SoMEnum *this)
     SbBool              SoMEnumIsConn(const SoMEnum *this)
     SbBool              SoMEnumIsConnFromField(const SoMEnum *this)
     SbBool              SoMEnumGetConnField(const SoMEnum *this, SoField
                              **writingField)
     SbBool              SoMEnumIsConnFromEngine(const SoMEnum *this)
     SbBool              SoMEnumGetConnEngine(const SoMEnum *this,
                              SoEngineOutput **engineOutput)
     void                SoMEnumEnableConn(SoMEnum *this, SbBool flag)
     SbBool              SoMEnumIsConnEnabled(const SoMEnum *this)
     int                 SoMEnumGetForwardConn(const SoMEnum *this,
                              SoFieldList *list)
     SoFieldContainer *  SoMEnumGetContainer(const SoMEnum *this)


DESCRIPTION
     A multiple-value field that contains any number of enumerated type
     values, stored as ints. Nodes that use this field class define mnemonic
     names for values. These names should be used when setting or testing the
     values of the field, even though the values are treated as integers in
     the methods.

     SoMFEnums are written to file as a set of mnemonic enumerated type names.
     These names differ among uses of this field in various node classes. See
     the reference pages for specific nodes for the names.

     When more than one value is present, all of the values are enclosed in
     square brackets and separated by commas.

FUNCTIONS
     void                SoMEnumSetStr(SoMEnum *this, const char *name)
          Sets this field to contain one and only one value, which is the
          mnemonic name as a string.

     void                SoMEnumSet1Str(SoMEnum *this, int index, const char
                              *name)
          Sets the index'th value to be the integer corresponding to the
          mnemonic name in the given string.

     SoType              SoMEnumGetClassTypeId()
     void                SoMEnumGetTypeId(const SoMEnum *this)
          Returns the type for this class or a particular object of this
          class.

     int                 SoMEnumGet(const SoMEnum *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 int *         SoMEnumGetN(const SoMEnum *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                 SoMEnumFind(SoMEnum *this, int 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                SoMEnumSetN(SoMEnum *this, int start, int num, const
                              int *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                SoMEnumSet1(SoMEnum *this, int index, int newValue)
          Sets the index'th value in the array to newValue. The array will be
          automatically expanded, if necessary.

     void                SoMEnumSet(SoMEnum *this, int newValue)
          Sets the first value in the array to newValue, and deletes the
          second and subsequent values.

     int                 SoMEnumIsEq(const SoMEnum *this, const SoMFEnum *f)
     int                 SoMEnumIsNEq(const SoMEnum *this, const SoMFEnum *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).

     int *               SoMEnumStartEdit(SoMEnum *this)
     void                SoMEnumFinishEdit(SoMEnum *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.