aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/classes/share/javax/media/j3d/Shape3DCompileRetained.java119
1 files changed, 21 insertions, 98 deletions
diff --git a/src/classes/share/javax/media/j3d/Shape3DCompileRetained.java b/src/classes/share/javax/media/j3d/Shape3DCompileRetained.java
index 56c1fea..ab2d237 100644
--- a/src/classes/share/javax/media/j3d/Shape3DCompileRetained.java
+++ b/src/classes/share/javax/media/j3d/Shape3DCompileRetained.java
@@ -143,13 +143,7 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
geometryList.add(cgeo);
cgeo.setSource(((SceneGraphObjectRetained)curList.get(0)).source);
}
- if (separateList[i] != null) {
- ArrayList<GeometryArrayRetained> glist = separateList[i];
- for (int k = 0; k < glist.size(); k++) {
- geometryList.add(glist.get(k));
- }
-
- }
+ addSeparateList(separateList[i]);
break;
case GeometryArrayRetained.GEO_TYPE_TRI_SET:
if (mergedList[i] != null) {
@@ -159,13 +153,7 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
geometryList.add(cgeo);
cgeo.setSource(((SceneGraphObjectRetained)curList.get(0)).source);
}
- if (separateList[i] != null) {
- ArrayList<GeometryArrayRetained> glist = separateList[i];
- for (int k = 0; k < glist.size(); k++) {
- geometryList.add(glist.get(k));
- }
-
- }
+ addSeparateList(separateList[i]);
break;
case GeometryArrayRetained.GEO_TYPE_POINT_SET:
if (mergedList[i] != null) {
@@ -175,13 +163,7 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
geometryList.add(cgeo);
cgeo.setSource(((SceneGraphObjectRetained)curList.get(0)).source);
}
- if (separateList[i] != null) {
- ArrayList<GeometryArrayRetained> glist = separateList[i];
- for (int k = 0; k < glist.size(); k++) {
- geometryList.add(glist.get(k));
- }
-
- }
+ addSeparateList(separateList[i]);
break;
case GeometryArrayRetained.GEO_TYPE_LINE_SET:
if (mergedList[i] != null) {
@@ -191,13 +173,7 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
geometryList.add(cgeo);
cgeo.setSource(((SceneGraphObjectRetained)curList.get(0)).source);
}
- if (separateList[i] != null) {
- ArrayList<GeometryArrayRetained> glist = separateList[i];
- for (int k = 0; k < glist.size(); k++) {
- geometryList.add(glist.get(k));
- }
-
- }
+ addSeparateList(separateList[i]);
break;
case GeometryArrayRetained.GEO_TYPE_TRI_STRIP_SET:
if (mergedList[i] != null) {
@@ -207,13 +183,7 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
geometryList.add(cgeo);
cgeo.setSource(((SceneGraphObjectRetained)curList.get(0)).source);
}
- if (separateList[i] != null) {
- ArrayList<GeometryArrayRetained> glist = separateList[i];
- for (int k = 0; k < glist.size(); k++) {
- geometryList.add(glist.get(k));
- }
-
- }
+ addSeparateList(separateList[i]);
break;
case GeometryArrayRetained.GEO_TYPE_TRI_FAN_SET:
if (mergedList[i] != null) {
@@ -223,13 +193,7 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
geometryList.add(cgeo);
cgeo.setSource(((SceneGraphObjectRetained)curList.get(0)).source);
}
- if (separateList[i] != null) {
- ArrayList<GeometryArrayRetained> glist = separateList[i];
- for (int k = 0; k < glist.size(); k++) {
- geometryList.add(glist.get(k));
- }
-
- }
+ addSeparateList(separateList[i]);
break;
case GeometryArrayRetained.GEO_TYPE_LINE_STRIP_SET:
if (mergedList[i] != null) {
@@ -239,13 +203,7 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
geometryList.add(cgeo);
cgeo.setSource(((SceneGraphObjectRetained)curList.get(0)).source);
}
- if (separateList[i] != null) {
- ArrayList<GeometryArrayRetained> glist = separateList[i];
- for (int k = 0; k < glist.size(); k++) {
- geometryList.add(glist.get(k));
- }
-
- }
+ addSeparateList(separateList[i]);
break;
case GeometryArrayRetained.GEO_TYPE_INDEXED_QUAD_SET:
if (mergedList[i] != null) {
@@ -255,13 +213,7 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
geometryList.add(cgeo);
cgeo.setSource(((SceneGraphObjectRetained)curList.get(0)).source);
}
- if (separateList[i] != null) {
- ArrayList<GeometryArrayRetained> glist = separateList[i];
- for (int k = 0; k < glist.size(); k++) {
- geometryList.add(glist.get(k));
- }
-
- }
+ addSeparateList(separateList[i]);
break;
case GeometryArrayRetained.GEO_TYPE_INDEXED_TRI_SET:
if (mergedList[i] != null) {
@@ -271,13 +223,7 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
geometryList.add(cgeo);
cgeo.setSource(((SceneGraphObjectRetained)curList.get(0)).source);
}
- if (separateList[i] != null) {
- ArrayList<GeometryArrayRetained> glist = separateList[i];
- for (int k = 0; k < glist.size(); k++) {
- geometryList.add(glist.get(k));
- }
-
- }
+ addSeparateList(separateList[i]);
break;
case GeometryArrayRetained.GEO_TYPE_INDEXED_POINT_SET:
if (mergedList[i] != null) {
@@ -287,13 +233,7 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
geometryList.add(cgeo);
cgeo.setSource(((SceneGraphObjectRetained)curList.get(0)).source);
}
- if (separateList[i] != null) {
- ArrayList<GeometryArrayRetained> glist = separateList[i];
- for (int k = 0; k < glist.size(); k++) {
- geometryList.add(glist.get(k));
- }
-
- }
+ addSeparateList(separateList[i]);
break;
case GeometryArrayRetained.GEO_TYPE_INDEXED_LINE_SET:
if (mergedList[i] != null) {
@@ -303,13 +243,7 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
geometryList.add(cgeo);
cgeo.setSource(((SceneGraphObjectRetained)curList.get(0)).source);
}
- if (separateList[i] != null) {
- ArrayList<GeometryArrayRetained> glist = separateList[i];
- for (int k = 0; k < glist.size(); k++) {
- geometryList.add(glist.get(k));
- }
-
- }
+ addSeparateList(separateList[i]);
break;
case GeometryArrayRetained.GEO_TYPE_INDEXED_TRI_STRIP_SET:
if (mergedList[i] != null) {
@@ -319,13 +253,7 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
geometryList.add(cgeo);
cgeo.setSource(((SceneGraphObjectRetained)curList.get(0)).source);
}
- if (separateList[i] != null) {
- ArrayList<GeometryArrayRetained> glist = separateList[i];
- for (int k = 0; k < glist.size(); k++) {
- geometryList.add(glist.get(k));
- }
-
- }
+ addSeparateList(separateList[i]);
break;
case GeometryArrayRetained.GEO_TYPE_INDEXED_TRI_FAN_SET:
if (mergedList[i] != null) {
@@ -335,13 +263,7 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
geometryList.add(cgeo);
cgeo.setSource(((SceneGraphObjectRetained)curList.get(0)).source);
}
- if (separateList[i] != null) {
- ArrayList<GeometryArrayRetained> glist = separateList[i];
- for (int k = 0; k < glist.size(); k++) {
- geometryList.add(glist.get(k));
- }
-
- }
+ addSeparateList(separateList[i]);
break;
case GeometryArrayRetained.GEO_TYPE_INDEXED_LINE_STRIP_SET:
if (mergedList[i] != null) {
@@ -351,13 +273,7 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
geometryList.add(cgeo);
cgeo.setSource(((SceneGraphObjectRetained)curList.get(0)).source);
}
- if (separateList[i] != null) {
- ArrayList<GeometryArrayRetained> glist = separateList[i];
- for (int k = 0; k < glist.size(); k++) {
- geometryList.add(glist.get(k));
- }
-
- }
+ addSeparateList(separateList[i]);
break;
}
}
@@ -365,7 +281,14 @@ ArrayList<ArrayList<Geometry>> geometryInfo = null;
}
+private void addSeparateList(ArrayList<GeometryArrayRetained> glist) {
+ if (glist == null)
+ return;
+ for (int k = 0; k < glist.size(); k++) {
+ geometryList.add(glist.get(k));
+ }
+}
Bounds getCollisionBounds(int childIndex) {
return collisionBound;
}