1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package net.jbeans.j3d.universe;
24
25 /* ------------------ Import classes (packages) ------------------- *//package-summary/html">class="comment"> ------------------ Import classes (packages) ------------------- *//package-summary.html">class="comment">/* ------------------ Import classes (packages) ------------------- *//package-summary.html">class="comment"> ------------------ Import classes (packages) ------------------- */
26 import javax.media.j3d.*;
27
28
29
30
31 /***
32 * generally describe MultiTransformGroup in here
33 *
34 * @version $Revision: 1.3 $
35 * @author Masahiro Takatsuka (masa@jbeans.net)
36 * @see MultiTransformGroup
37 */
38
39
40
41
42 final class MultiTransformGroup extends com.sun.j3d.utils.universe.MultiTransformGroup {
43 /***
44 * an array of TransformGroup.
45 */
46 private TransformGroup[] transforms;
47
48 /***
49 * Constructs a new MultiTransformGroup.
50 */
51 MultiTransformGroup() {
52 this(1);
53 }
54
55 /***
56 * Constructs a new MultiTransformGroup.
57 */
58 MultiTransformGroup(int i) {
59
60 if (i < 1) {
61 i = 1;
62 }
63 this.transforms = new TransformGroup[i];
64 this.transforms[0] = new net.jbeans.j3d.transform.ResettableTransformGroup();
65 this.transforms[0].setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
66 this.transforms[0].setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
67 this.transforms[0].setCapability(Group.ALLOW_CHILDREN_WRITE);
68 this.transforms[0].setCapability(Group.ALLOW_CHILDREN_EXTEND);
69 for (int j = 1; j < i; j++) {
70 if (j < (i - 1)) {
71 this.transforms[j] = new TransformGroup();
72 } else {
73 this.transforms[j] = new net.jbeans.j3d.transform.ResettableTransformGroup();
74 }
75 this.transforms[j].setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
76 this.transforms[j].setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
77 this.transforms[j].setCapability(Group.ALLOW_CHILDREN_WRITE);
78 this.transforms[j].setCapability(Group.ALLOW_CHILDREN_EXTEND);
79 this.transforms[j - 1].addChild(this.transforms[j]);
80 }
81 }
82
83 /***
84 * returns the number of TransformGroup this object holds.
85 */
86 public final int getNumTransforms() {
87 return this.transforms.length;
88 }
89
90 /***
91 * returns the number of TransformGroup this object holds.
92 */
93 public final TransformGroup getTransformGroup(int i) {
94 if (i >= this.transforms.length || i < 0) {
95 return null;
96 } else {
97 return this.transforms[i];
98 }
99 }
100 }