1SoMultipleCopy(3IV)() SoMultipleCopy(3IV)()
2
3
4
6 SoMultipleCopy — group node that traverses multiple times, applying
7 matrices
8
10 SoBase > SoFieldContainer > SoNode > SoGroup > SoMultipleCopy
11
13 #include <Inventor/nodes/SoMultipleCopy.h>
14
15 Fields from class SoMultipleCopy:
16
17 SoMFMatrix matrix
18
19 Methods from class SoMultipleCopy:
20
21 SoMultipleCopy()
22 static SoType getClassTypeId()
23
24 Methods from class SoGroup:
25
26 void addChild(SoNode *child)
27 void insertChild(SoNode *child, int newChildIndex)
28 SoNode * getChild(int index) const
29 int findChild(const SoNode *child) const
30 int getNumChildren() const
31 void removeChild(int index)
32 void removeChild(SoNode *child)
33 void removeAllChildren()
34 void replaceChild(int index, SoNode *newChild)
35 void replaceChild(SoNode *oldChild, SoNode *newChild)
36
37 Methods from class SoNode:
38
39 void setOverride(SbBool state)
40 SbBool isOverride() const
41 SoNode * copy(SbBool copyConnections = FALSE) const
42 virtual SbBool affectsState() const
43 static SoNode * getByName(const SbName &name)
44 static int getByName(const SbName &name, SoNodeList &list)
45
46 Methods from class SoFieldContainer:
47
48 void setToDefaults()
49 SbBool hasDefaultValues() const
50 SbBool fieldsAreEqual(const SoFieldContainer *fc) const
51 void copyFieldValues(const SoFieldContainer *fc, SbBool
52 copyConnections = FALSE)
53 SbBool set(const char *fieldDataString)
54 void get(SbString &fieldDataString)
55 virtual int getFields(SoFieldList &resultList) const
56 virtual SoField * getField(const SbName &fieldName) const
57 SbBool getFieldName(const SoField *field, SbName &fieldName)
58 const
59 SbBool isNotifyEnabled() const
60 SbBool enableNotify(SbBool flag)
61
62 Methods from class SoBase:
63
64 void ref()
65 void unref() const
66 void unrefNoDelete() const
67 void touch()
68 virtual SoType getTypeId() const
69 SbBool isOfType(SoType type) const
70 virtual void setName(const SbName &name)
71 virtual SbName getName() const
72
73
75 This group node traverses its children, in order, several times, apply‐
76 ing a different matrix each time. The matrices are stored in the multi‐
77 ple-value matrix field. Each matrix is concatenated to the current
78 transformation matrix, and all of the children are traversed. This
79 allows the user to put multiple copies of the same data in different
80 locations easily and efficiently.
81
82 Traversing the Nth child sets the current switch value to N, for use
83 with inherited switch values (see SoSwitch).
84
86 SoMFMatrix matrix
87 Set of matrices to apply to children.
88
89
91 SoMultipleCopy()
92 Creates a multiple copy node with default settings.
93
94 static SoType getClassTypeId()
95 Returns type identifier for this class.
96
97
99 SoGLRenderAction, SoCallbackAction, SoGetBoundingBoxAction, SoRayPick‐
100 Action
101 Traverses all children for each matrix, saving and restoring state
102 before and after each traversal.
103
104 SoSearchAction
105 Traverses all children once, setting the inherited switch value to
106 SO_SWITCH_ALL first.
107
108
110 MultipleCopy {
111 matrix 1 0 0 0
112 0 1 0 0
113 0 0 1 0
114 0 0 0 1
115 }
116
118 SoArray, SoSwitch
119
120
121
122
123 SoMultipleCopy(3IV)()