SoMFEngine(3IV)

SoMFEngine (SoMEngine) - multiple-value field containing any number of pointers to engines

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.

NAME
     SoMFEngine (SoMEngine) - multiple-value field containing any number of
     pointers to engines

INHERITS FROM
     SoField > SoMField > SoMFEngine

SYNOPSIS
     #include <Inventor_c/fields/SoMFEngine.h>

     typedef SoMFEngine  SoMEngine

          Functions from class SoMFEngine:

     SoType              SoMEngineGetClassTypeId()
     void                SoMEngineGetTypeId(const SoMEngine *this)
     SoEngine *          SoMEngineGet(const SoMEngine *this, int i)
     const SoEngine * *  SoMEngineGetN(const SoMEngine *this, int start)
     int                 SoMEngineFind(SoMEngine *this, SoEngine *
                              targetValue, SbBool addIfNotFound = FALSE)
     void                SoMEngineSetN(SoMEngine *this, int start, int num,
                              const SoEngine * *newValues)
     void                SoMEngineSet1(SoMEngine *this, int index, SoEngine *
                              newValue)
     void                SoMEngineSet(SoMEngine *this, SoEngine * newValue)
     int                 SoMEngineIsEq(const SoMEngine *this, const SoMFEngine
                              *f)
     int                 SoMEngineIsNEq(const SoMEngine *this, const
                              SoMFEngine *f)
     SoEngine * *        SoMEngineStartEdit(SoMEngine *this)
     void                SoMEngineFinishEdit(SoMEngine *this)

          Functions from class SoMField:

     int                 SoMEngineGetNum(const SoMEngine *this)
     void                SoMEngineSetNum(SoMEngine *this, int num)
     void                SoMEngineDel(SoMEngine *this, int start, int num =
                              -1)
     void                SoMEngineInsertSpace(SoMEngine *this, int start, int
                              num)
     void                SoMEngineGet1(SoMEngine *this, int index, SbString
                              *valueString)

          Functions from class SoField:

     void                SoMEngineSetIgnored(SoMEngine *this, SbBool ignore)
     SbBool              SoMEngineIsIgnored(const SoMEngine *this)
     SbBool              SoMEngineIsDflt(const SoMEngine *this)
     SbBool              SoMEngineIsOfType(const SoMEngine *this, SoType type)
     SbBool              SoMEngineSetFromStr(SoMEngine *this, const char
                              *valueString)

     void                SoMEngineGetIntoStr(SoMEngine *this, SbString
                              *valueString)
     void                SoMEngineTouch(SoMEngine *this)
     SbBool              SoMEngineConnFromField(SoMEngine *this, SoField
                              *fromField)
     SbBool              SoMEngineConnFrom(SoMEngine *this, SoEngineOutput
                              *fromEngine)
     void                SoMEngineDisconn(SoMEngine *this)
     SbBool              SoMEngineIsConn(const SoMEngine *this)
     SbBool              SoMEngineIsConnFromField(const SoMEngine *this)
     SbBool              SoMEngineGetConnField(const SoMEngine *this, SoField
                              **writingField)
     SbBool              SoMEngineIsConnFromEngine(const SoMEngine *this)
     SbBool              SoMEngineGetConnEngine(const SoMEngine *this,
                              SoEngineOutput **engineOutput)
     void                SoMEngineEnableConn(SoMEngine *this, SbBool flag)
     SbBool              SoMEngineIsConnEnabled(const SoMEngine *this)
     int                 SoMEngineGetForwardConn(const SoMEngine *this,
                              SoFieldList *list)
     SoFieldContainer *  SoMEngineGetContainer(const SoMEngine *this)


DESCRIPTION
     This field maintains a set of pointers to SoEngine instances, correctly
     maintaining their reference counts.

     SoMFEngines are written to file as one or more engines. When more than
     one value is present, all of the values are enclosed in square brackets
     and separated by commas; for example:

          [ ElapsedTime { }, OneShot { duration 2.0 }, USE myCalculator ]



FUNCTIONS
     SoType              SoMEngineGetClassTypeId()
     void                SoMEngineGetTypeId(const SoMEngine *this)
          Returns the type for this class or a particular object of this
          class.

     SoEngine *          SoMEngineGet(const SoMEngine *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 SoEngine * *  SoMEngineGetN(const SoMEngine *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                 SoMEngineFind(SoMEngine *this, SoEngine *
                              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                SoMEngineSetN(SoMEngine *this, int start, int num,
                              const SoEngine * *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                SoMEngineSet1(SoMEngine *this, int index, SoEngine *
                              newValue)
          Sets the index'th value in the array to newValue. The array will be
          automatically expanded, if necessary.

     void                SoMEngineSet(SoMEngine *this, SoEngine * newValue)
          Sets the first value in the array to newValue, and deletes the
          second and subsequent values.

     int                 SoMEngineIsEq(const SoMEngine *this, const SoMFEngine
                              *f)
     int                 SoMEngineIsNEq(const SoMEngine *this, const
                              SoMFEngine *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).

     SoEngine * *        SoMEngineStartEdit(SoMEngine *this)
     void                SoMEngineFinishEdit(SoMEngine *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.