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

FreeBSD Manual Pages

  
 
  

home | help
SoArray(3IV)()							SoArray(3IV)()

NAME
       SoArray	--  group node that creates a regular IxJxK array of copies of
       its children

INHERITS FROM
       SoBase >	SoFieldContainer > SoNode > SoGroup > SoArray

SYNOPSIS
       #include	<Inventor/nodes/SoArray.h>

     enum Origin {
	  SoArray::FIRST      First copy is rendered at	the current local ori-
				   gin;	all other copies are distributed rela-
				   tive	to it
	  SoArray::CENTER     Copies are distributed relative to the center of
				   the array
	  SoArray::LAST	      Last  copy is rendered at	the current local ori-
				   gin;	all other copies are distributed rela-
				   tive	to it
     }

	  Fields from class SoArray:

     SoSFShort		 numElements1
     SoSFShort		 numElements2
     SoSFShort		 numElements3
     SoSFVec3f		 separation1
     SoSFVec3f		 separation2
     SoSFVec3f		 separation3
     SoSFEnum		 origin

	  Methods from class SoArray:

			 SoArray()
     static SoType	 getClassTypeId()

	  Methods from class SoGroup:

     void		 addChild(SoNode *child)
     void		 insertChild(SoNode *child, int	newChildIndex)
     SoNode *		 getChild(int index) const
     int		 findChild(const SoNode	*child)	const
     int		 getNumChildren() const
     void		 removeChild(int index)
     void		 removeChild(SoNode *child)
     void		 removeAllChildren()
     void		 replaceChild(int index, SoNode	*newChild)
     void		 replaceChild(SoNode *oldChild,	SoNode *newChild)

	  Methods from class SoNode:

     void		 setOverride(SbBool state)
     SbBool		 isOverride() const
     SoNode *		 copy(SbBool copyConnections = FALSE) const
     virtual SbBool	 affectsState()	const
     static SoNode *	 getByName(const SbName	&name)
     static int		 getByName(const SbName	&name, SoNodeList &list)

	  Methods from class SoFieldContainer:

     void		 setToDefaults()
     SbBool		 hasDefaultValues() const
     SbBool		 fieldsAreEqual(const SoFieldContainer *fc) const
     void		 copyFieldValues(const	SoFieldContainer  *fc,	SbBool
			      copyConnections =	FALSE)
     SbBool		 set(const char	*fieldDataString)
     void		 get(SbString &fieldDataString)
     virtual int	 getFields(SoFieldList &resultList) const
     virtual SoField *	 getField(const	SbName &fieldName) const
     SbBool		 getFieldName(const SoField *field, SbName &fieldName)
			      const
     SbBool		 isNotifyEnabled() const
     SbBool		 enableNotify(SbBool flag)

	  Methods from class SoBase:

     void		 ref()
     void		 unref() const
     void		 unrefNoDelete() const
     void		 touch()
     virtual SoType	 getTypeId() const
     SbBool		 isOfType(SoType type) const
     virtual void	 setName(const SbName &name)
     virtual SbName	 getName() const

DESCRIPTION
       This group node traverses its children, in order, several times,	creat-
       ing a regular 3D	array of copies	of them. The number of copies in  each
       of the three directions is specified by fields, as are the vectors used
       to separate the copies in each of the three dimensions.

       For example, an SoArray node can	be used	to create  a  2x3x4  array  of
       copies  of  its children, where the separation vectors between adjacent
       copies in the three  array  dimensions  are  (1,2,3),  (-4,-5,-6),  and
       (7,8,9),	respectively. The base point of	the array can be set to	one of
       several values, as described in the origin field.

       Copies are traversed so that the	first dimension	cycles	most  quickly,
       followed	by the second, and then	the third. This	order is important be-
       cause SoArray sets the current switch value to N	before traversing  the
       children	 for  the Nth time (for	use with inherited switch values - see
       SoSwitch).

FIELDS
     SoSFShort		 numElements1
     SoSFShort		 numElements2
     SoSFShort		 numElements3
	  Number of elements in	each of	the three array	dimensions.

     SoSFVec3f		 separation1
     SoSFVec3f		 separation2
     SoSFVec3f		 separation3
	  Separation vector in each of the three array dimensions.

     SoSFEnum		 origin
	  Defines the base point from which copies are distributed.

METHODS
			 SoArray()
	  Creates an array node	with default settings.

     static SoType	 getClassTypeId()
	  Returns type identifier for this class.

ACTION BEHAVIOR
       SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction,  SoRayPick-
       Action
	  Traverses  all children for each array element, saving and restoring
	  state	before and after each traversal.

     SoSearchAction
	  Traverses all	children once, setting the inherited switch  value  to
	  SO_SWITCH_ALL	first.

FILE FORMAT/DEFAULTS
       Array {
	  numElements1	1
	  numElements2	1
	  numElements3	1
	  separation1	1 0 0
	  separation2	0 1 0
	  separation3	0 0 1
	  origin	FIRST
     }

SEE ALSO
       SoMultipleCopy, SoSwitch

								SoArray(3IV)()

NAME | INHERITS FROM | SYNOPSIS | DESCRIPTION | FIELDS | METHODS | ACTION BEHAVIOR | FILE FORMAT/DEFAULTS | SEE ALSO

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

home | help