GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  SOARRAY (3)

NAME

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

CONTENTS

Inherits From
Synopsis
Description
Fields
Methods
Action Behavior
File Format/defaults
See Also

INHERITS FROM

SoBase > SoFieldContainer > SoNode > SoGroup > SoArray

SYNOPSIS

#include <Inventor/nodes/SoArray.h>

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

Fields from class SoArray:

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

Methods from class SoArray:

       
                    
                     SoArray()    
static SoType    
                    
static SoType        getClassTypeId()

Methods from class SoGroup:

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

Methods from class SoNode:

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

Methods from class SoFieldContainer:

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

Methods from class SoBase:

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

DESCRIPTION

This group node traverses its children, in order, several times, creating 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 because 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    
                    
SoSFShort            numElements1    
SoSFShort    
                    
SoSFShort            numElements2    
SoSFShort    
                    
SoSFShort            numElements3
Number of elements in each of the three array dimensions.

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

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

METHODS

       
                    
                     SoArray()
Creates an array node with default settings.

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

ACTION BEHAVIOR

SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoRayPickAction
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

Search for    or go to Top of page |  Section 3 |  Main Index


SOARRAY(3IV) (-->)

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.