summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/classes/share/javax/media/j3d/RenderBin.java63
1 files changed, 30 insertions, 33 deletions
diff --git a/src/classes/share/javax/media/j3d/RenderBin.java b/src/classes/share/javax/media/j3d/RenderBin.java
index 485d945..4f2f68a 100644
--- a/src/classes/share/javax/media/j3d/RenderBin.java
+++ b/src/classes/share/javax/media/j3d/RenderBin.java
@@ -258,12 +258,12 @@ ArrayList<OrderedBin> obList = new ArrayList<OrderedBin>(5);
ArrayList<ArrayList<OrderedBin>> orderedBinsList = new ArrayList<ArrayList<OrderedBin>>(5);
ArrayList<ArrayList<OrderedBin>> toBeAddedBinList = new ArrayList<ArrayList<OrderedBin>>(5);
- /**
- * arraylist of geometry that should be locked to ensure
- * that the same snapshot of the geometry is rendered
- * across all canvases
- */
- ArrayList lockGeometryList = new ArrayList(5);
+/**
+ * arraylist of geometry that should be locked to ensure
+ * that the same snapshot of the geometry is rendered
+ * across all canvases
+ */
+ArrayList<GeometryRetained> lockGeometryList = new ArrayList<GeometryRetained>(5);
/**
@@ -307,11 +307,11 @@ ArrayList<OrderedBin> bgOrderedBins = new ArrayList<OrderedBin>(5);
ArrayList<TextureBin> textureBinList = new ArrayList<TextureBin>(5);
- /**
- * arraylist of refernce geometry that should be locked when transparency
- * is on, so that we can make a mirror copy of the colors safely
- */
- ArrayList dirtyReferenceGeomList = new ArrayList(5);
+/**
+ * arraylist of refernce geometry that should be locked when transparency
+ * is on, so that we can make a mirror copy of the colors safely
+ */
+ArrayList<GeometryArrayRetained> dirtyReferenceGeomList = new ArrayList(5);
// list of all Oriented RenderAtoms
ArrayList<RenderAtom> orientedRAs = new ArrayList<RenderAtom>(5);
@@ -599,7 +599,7 @@ ArrayList<RenderAtomListInfo> dirtyList = new ArrayList<RenderAtomListInfo>(5);
Canvas3D canvases[] = view.getCanvases();
for (i = 0; i < size; i++) {
- geo = (GeometryArrayRetained) dirtyReferenceGeomList.get(i);
+ geo = dirtyReferenceGeomList.get(i);
// Evaluate the nodeComponentList for all the canvases
geo.geomLock.getLock();
j = 0;
@@ -5660,29 +5660,27 @@ void reEvaluateEnv(ArrayList<LightRetained> mLts, ArrayList<FogRetained> fogs,
// release after building the display list (which happens
// for the first canvas rendered)
void lockGeometry() {
- GeometryRetained geo;
- int i, size;
+ int size;
// Vertex array is locked for every time renderer is run
size = lockGeometryList.size();
- for (i = 0; i < size; i++) {
- geo = (GeometryRetained) lockGeometryList.get(i);
- geo.geomLock.getLock();
-
+ for (int i = 0; i < size; i++) {
+ GeometryRetained geo = lockGeometryList.get(i);
+ geo.geomLock.getLock();
}
// dlist is locked only when they are rebuilt
size = dlistLockList.size();
- for (i = 0; i < size ; i++) {
- geo = (GeometryRetained) dlistLockList.get(i);
+ for (int i = 0; i < size ; i++) {
+ GeometryRetained geo = (GeometryRetained) dlistLockList.get(i);
geo.geomLock.getLock();
}
// Lock all the by reference image components
size = nodeComponentList.size();
- for (i = 0; i < size; i++) {
+ for (int i = 0; i < size; i++) {
ImageComponentRetained nc = (ImageComponentRetained)nodeComponentList.get(i);
nc.geomLock.getLock();
}
@@ -5690,49 +5688,48 @@ void reEvaluateEnv(ArrayList<LightRetained> mLts, ArrayList<FogRetained> fogs,
// Release all geometry after rendering to the last canvas
void releaseGeometry() {
- GeometryRetained geo;
- int i, size;
+ int size;
size = lockGeometryList.size();
- for (i = 0; i < size; i++) {
- geo = (GeometryRetained) lockGeometryList.get(i);
- geo.geomLock.unLock();
+ for (int i = 0; i < size; i++) {
+ GeometryRetained geo = lockGeometryList.get(i);
+ geo.geomLock.unLock();
}
size = dlistLockList.size();
- for (i = 0; i < size; i++) {
- geo = (GeometryRetained) dlistLockList.get(i);
+ for (int i = 0; i < size; i++) {
+ GeometryRetained geo = (GeometryRetained) dlistLockList.get(i);
geo.geomLock.unLock();
}
// Clear the display list clear list
dlistLockList.clear();
// Lock all the by reference image components
size = nodeComponentList.size();
- for (i = 0; i < size; i++) {
+ for (int i = 0; i < size; i++) {
ImageComponentRetained nc = (ImageComponentRetained)nodeComponentList.get(i);
nc.geomLock.unLock();
}
}
- void addGeometryToLockList(Object geo) {
+ void addGeometryToLockList(GeometryRetained geo) {
// just add it to the list, if its a shared geometry
// it may be added more than once, thats OK since we
// now have nested locks!
lockGeometryList.add(geo);
}
- void removeGeometryFromLockList(Object geo) {
+ void removeGeometryFromLockList(GeometryRetained geo) {
lockGeometryList.remove(geo);
}
- void addDirtyReferenceGeometry(Object geo) {
+void addDirtyReferenceGeometry(GeometryArrayRetained geo) {
// just add it to the list, if its a shared geometry
// it may be added more than once, thats OK since we
// now have nested locks!
dirtyReferenceGeomList.add(geo);
- }
+}
void addNodeComponent(Object nc) {