Can i add more than 1 child to a Transform node using Xj3D ?
my code looks like this:
[...]
X3DNode transform[] = new X3DNode[27];
SAINode transformPrincipal = (SAINode) mainScene
.createNode("Transform");
X3DInspector.showFields(transformPrincipal);
// SFRotation
// rotation=(SFRotation)transformPrincipal.getField("rotation");
MFNode children = (MFNode)
transformPrincipal.getField("children");
int c = 0;
for (int i = 0; i != 3; i++)
for (int j = 0; j != 3; j++)
for (int k = 0; k != 3; k++) {
transform[c] = createTransformBox(x3dBrowser,
mainScene,
i * 4 - 4, j * 4 - 4, k * 4 - 4);
c++;
}
// HERE FAILS <--------------------------------
children.setValue(27, transform);
// -------------------------
mainScene.addRootNode(transformPrincipal);
[...]
My createTransformBox looks like:
private SAINode createTransformBox(ExternalBrowser x3dBrowser,
X3DScene x3dScene, float x, float y, float z) {
SAINode transform = (SAINode) x3dScene.createNode("Transform");
SFVec3f translation = (SFVec3f)
transform.getField("translation");
translation.setValue(new float[] { x, y, z });
MFNode children = (MFNode) transform.getField("children");
SAINode shape = (SAINode) x3dScene.createNode("Shape");
SFNode nodeGeometry = (SFNode) shape.getField("geometry");
SAINode node = (SAINode) x3dScene.createNode("Box");
nodeGeometry.setValue(node);
children.setValue(1, new X3DNode[] { shape });
return transform;
}