Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SoMFMatrix(3IV)()					     SoMFMatrix(3IV)()

NAME
       SoMFMatrix  -- multiple-value field containing any number of 4x4	matri-
       ces

INHERITS FROM
       SoField > SoMField > SoMFMatrix

SYNOPSIS
       #include	<Inventor/fields/SoMFMatrix.h>

	  Methods from class SoMFMatrix:

     void		 setValue(float	a11, float a12,	float a13, float  a14,
			      float  a21,  float  a22,	float  a23, float a24,
			      float a31, float	a32,  float  a33,  float  a34,
			      float a41, float a42, float a43, float a44)
     static SoType	 getClassTypeId()
     virtual void	 getTypeId() const
     const SbMatrix &	 operator [](int i) const
     const SbMatrix *	 getValues(int start) const
     int		 find(const  SbMatrix  & targetValue, SbBool addIfNot-
			      Found = FALSE)
     void		 setValues(int start, int num, const SbMatrix *newVal-
			      ues)
     void		 set1Value(int index, const SbMatrix & newValue)
     const SbMatrix &	 operator =(const SbMatrix & newValue)
     void		 setValue(const	SbMatrix & newValue)
     int		 operator ==(const SoMFMatrix &f) const
     int		 operator !=(const SoMFMatrix &f) const
     SbMatrix *		 startEditing()
     void		 finishEditing()

	  Methods from class SoMField:

     int		 getNum() const
     void		 setNum(int num)
     virtual void	 deleteValues(int start, int num = -1)
     virtual void	 insertSpace(int start,	int num)
     SbBool		 set1(int index, const char *valueString)
     void		 get1(int index, SbString &valueString)

	  Methods from class SoField:

     void		 setIgnored(SbBool ignore)
     SbBool		 isIgnored() const
     SbBool		 isDefault() const
     virtual SbBool	 isOfType(SoType type) const
     SbBool		 set(const char	*valueString)
     void		 get(SbString &valueString)
     void		 touch()
     SbBool		 connectFrom(SoField *fromField)
     SbBool		 connectFrom(SoEngineOutput *fromEngine)
     void		 disconnect()
     SbBool		 isConnected() const
     SbBool		 isConnectedFromField()	const
     SbBool		 getConnectedField(SoField *&writingField) const
     SbBool		 isConnectedFromEngine() const
     SbBool		 getConnectedEngine(SoEngineOutput     *&engineOutput)
			      const
     void		 enableConnection(SbBool flag)
     SbBool		 isConnectionEnabled() const
     int		 getForwardConnections(SoFieldList &list) const
     SoFieldContainer *	 getContainer()	const

DESCRIPTION
       A multiple-value	field that contains any	number of 4x4 matrices.

       SoMFMatrices are	written	to file	as sets	of 16 floating	point  numbers
       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,	two identity matrices might be written as:

	  [ 1 0	0 0  0 1 0 0  0	0 1 0  0 0 0 1,
	    1 0	0 0  0 1 0 0  0	0 1 0  0 0 0 1 ]

METHODS
     void		 setValue(float	 a11, float a12, float a13, float a14,
			      float a21, float	a22,  float  a23,  float  a24,
			      float  a31,  float  a32,	float  a33, float a34,
			      float a41, float a42, float a43, float a44)
	  Makes	this field contain one and only	one value, which is the	matrix
	  given	by the 16 values.

     static SoType	 getClassTypeId()
     virtual void	 getTypeId() const
	  Returns  the	type  for  this	 class	or a particular	object of this
	  class.

     const SbMatrix &	 operator [](int i) const
	  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 SbMatrix *	 getValues(int start) const
	  Returns a pointer into the array of values in	the field, starting at
	  index	start. The values are read-only; see  the  startEditing()/fin-
	  ishEditing() methods for a way of modifying values in	place.

     int		 find(const  SbMatrix  & targetValue, SbBool addIfNot-
			      Found = 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		 setValues(int start, int num, const SbMatrix *newVal-
			      ues)
	  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		 set1Value(int index, const SbMatrix & newValue)
	  Sets the index'th value in the array to newValue. The	array will  be
	  automatically	expanded, if necessary.

     const SbMatrix &	 operator =(const SbMatrix & newValue)
     void		 setValue(const	SbMatrix & newValue)
	  Sets	the first value	in the array to	newValue, and deletes the sec-
	  ond and subsequent values.

     int		 operator ==(const SoMFMatrix &f) const
     int		 operator !=(const SoMFMatrix &f) const
	  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 ex-
	  ample).

     SbMatrix *		 startEditing()
     void		 finishEditing()
	  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  startEditing()  and finishEditing() (e.g.
	  set1Value(), setValue(), etc).

	  Fields, engines or sensors connected to this field and  sensors  are
	  not  notified	 that  this field has changed until finishEditing() is
	  called. Calling finishEditing() always sets the isDefault() flag  to
	  FALSE	 and  informs engines and sensors that the field changed, even
	  if none of the values	actually were changed.

							     SoMFMatrix(3IV)()

NAME | INHERITS FROM | SYNOPSIS | DESCRIPTION | METHODS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=SoMFMatrix&sektion=3iv&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help