SoMFVec4f(3IV)

SoMFVec4f (SoMVec4f) - multiple-value field containing any number of four-dimensional vectors

As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.

NAME
     SoMFVec4f (SoMVec4f) - multiple-value field containing any number of
     four-dimensional vectors

INHERITS FROM
     SoField > SoMField > SoMFVec4f

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

     typedef SoMFVec4f   SoMVec4f

          Functions from class SoMFVec4f:

     void                SoMVec4fSetXYZWs(SoMVec4f *this, int start, int num,
                              const float xyzw[][4])
     void                SoMVec4fSet1X_Y_Z_W(SoMVec4f *this, int index, float
                              x, float y, float z, float w)
     void                SoMVec4fSet1XYZW(SoMVec4f *this, int index, const
                              float xyzw[4])
     void                SoMVec4fSetX_Y_Z_W(SoMVec4f *this, float x, float y,
                              float z, float w)
     void                SoMVec4fSetXYZW(SoMVec4f *this, const float xyzw[4])
     SoType              SoMVec4fGetClassTypeId()
     void                SoMVec4fGetTypeId(const SoMVec4f *this)
     const SbVec4f *     SoMVec4fGet(const SoMVec4f *this, int i)
     const SbVec4f *     SoMVec4fGetN(const SoMVec4f *this, int start)
     int                 SoMVec4fFind(SoMVec4f *this, const SbVec4f *
                              targetValue, SbBool addIfNotFound = FALSE)
     void                SoMVec4fSetN(SoMVec4f *this, int start, int num,
                              const SbVec4f *newValues)
     void                SoMVec4fSet1(SoMVec4f *this, int index, const SbVec4f
                              * newValue)
     void                SoMVec4fSet(SoMVec4f *this, const SbVec4f * newValue)
     int                 SoMVec4fIsEq(const SoMVec4f *this, const SoMFVec4f
                              *f)
     int                 SoMVec4fIsNEq(const SoMVec4f *this, const SoMFVec4f
                              *f)
     SbVec4f *           SoMVec4fStartEdit(SoMVec4f *this)
     void                SoMVec4fFinishEdit(SoMVec4f *this)

          Functions from class SoMField:

     int                 SoMVec4fGetNum(const SoMVec4f *this)
     void                SoMVec4fSetNum(SoMVec4f *this, int num)
     void                SoMVec4fDel(SoMVec4f *this, int start, int num = -1)
     void                SoMVec4fInsertSpace(SoMVec4f *this, int start, int
                              num)
     void                SoMVec4fGet1(SoMVec4f *this, int index, SbString
                              *valueString)

          Functions from class SoField:
     void                SoMVec4fSetIgnored(SoMVec4f *this, SbBool ignore)
     SbBool              SoMVec4fIsIgnored(const SoMVec4f *this)
     SbBool              SoMVec4fIsDflt(const SoMVec4f *this)
     SbBool              SoMVec4fIsOfType(const SoMVec4f *this, SoType type)
     SbBool              SoMVec4fSetFromStr(SoMVec4f *this, const char
                              *valueString)
     void                SoMVec4fGetIntoStr(SoMVec4f *this, SbString
                              *valueString)
     void                SoMVec4fTouch(SoMVec4f *this)
     SbBool              SoMVec4fConnFromField(SoMVec4f *this, SoField
                              *fromField)
     SbBool              SoMVec4fConnFrom(SoMVec4f *this, SoEngineOutput
                              *fromEngine)
     void                SoMVec4fDisconn(SoMVec4f *this)
     SbBool              SoMVec4fIsConn(const SoMVec4f *this)
     SbBool              SoMVec4fIsConnFromField(const SoMVec4f *this)
     SbBool              SoMVec4fGetConnField(const SoMVec4f *this, SoField
                              **writingField)
     SbBool              SoMVec4fIsConnFromEngine(const SoMVec4f *this)
     SbBool              SoMVec4fGetConnEngine(const SoMVec4f *this,
                              SoEngineOutput **engineOutput)
     void                SoMVec4fEnableConn(SoMVec4f *this, SbBool flag)
     SbBool              SoMVec4fIsConnEnabled(const SoMVec4f *this)
     int                 SoMVec4fGetForwardConn(const SoMVec4f *this,
                              SoFieldList *list)
     SoFieldContainer *  SoMVec4fGetContainer(const SoMVec4f *this)


DESCRIPTION
     A multiple-value field that contains any number of four-dimensional
     vectors.

     SoMFVec4fs are written to file as one or more triples of floating point
     values separated by whitespace.

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

          [ 0 0 0, 1.2 3.4 5.6, 98.6 -4e1 212 ]



FUNCTIONS
     void                SoMVec4fSetXYZWs(SoMVec4f *this, int start, int num,
                              const float xyzw[][4])
          Sets num values starting at index start to the given floating point
          values. There must be num*4 values in the passed array.

     void                SoMVec4fSet1X_Y_Z_W(SoMVec4f *this, int index, float
                              x, float y, float z, float w)
     void                SoMVec4fSet1XYZW(SoMVec4f *this, int index, const
                              float xyzw[4])
          Set the index'th value to the given floating point values.

     void                SoMVec4fSetX_Y_Z_W(SoMVec4f *this, float x, float y,
                              float z, float w)
     void                SoMVec4fSetXYZW(SoMVec4f *this, const float xyzw[4])
          Sets the field to contain the given value and only the given value
          (if the array had multiple values before, they are deleted).

     SoType              SoMVec4fGetClassTypeId()
     void                SoMVec4fGetTypeId(const SoMVec4f *this)
          Returns the type for this class or a particular object of this
          class.

     const SbVec4f *     SoMVec4fGet(const SoMVec4f *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 SbVec4f *     SoMVec4fGetN(const SoMVec4f *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                 SoMVec4fFind(SoMVec4f *this, const SbVec4f *
                              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                SoMVec4fSetN(SoMVec4f *this, int start, int num,
                              const SbVec4f *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                SoMVec4fSet1(SoMVec4f *this, int index, const SbVec4f
                              * newValue)
          Sets the index'th value in the array to newValue. The array will be
          automatically expanded, if necessary.

     void                SoMVec4fSet(SoMVec4f *this, const SbVec4f * newValue)
          Sets the first value in the array to newValue, and deletes the
          second and subsequent values.

     int                 SoMVec4fIsEq(const SoMVec4f *this, const SoMFVec4f
                              *f)
     int                 SoMVec4fIsNEq(const SoMVec4f *this, const SoMFVec4f
                              *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).

     SbVec4f *           SoMVec4fStartEdit(SoMVec4f *this)
     void                SoMVec4fFinishEdit(SoMVec4f *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.