From c60a1ad4f6aa4904e80280586b440a584b5ff061 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Mon, 22 Apr 2019 15:17:45 -0400
Subject: [PATCH] Refactoring phase 2
---
Geometry.java | 2
VehicleDemo.java | 8
MorphNode.java | 2
SwitchNode.java | 2
Merge.java | 2
GLShapeDrawer.java | 12
GenericJoint.java | 20 +-
ScriptNode.java | 2
cMesh.java | 2
iCameraPane.java | 6
FrameSelector.java | 2
TriMesh.java | 199 +-----------------------
CameraPane.java | 194 ++++++++++++++++++++++++
PhysicsNode.java | 2
cSpring.java | 4
ParticleNode.java | 4
16 files changed, 246 insertions(+), 217 deletions(-)
diff --git a/CameraPane.java b/CameraPane.java
index 36fbe8d..c4bdcc2 100644
--- a/CameraPane.java
+++ b/CameraPane.java
@@ -192,6 +192,11 @@
/// INTERFACE
+ public boolean IsBoxMode()
+ {
+ return BOXMODE;
+ }
+
public void ClearDepth()
{
GetGL().glClear(GetGL().GL_DEPTH_BUFFER_BIT);
@@ -566,6 +571,195 @@
}
}
+ /**
+ * <code>draw</code> renders a <code>TriMesh</code> object including
+ * it's normals, colors, textures and vertices.
+ *
+ * @see Renderer#draw(TriMesh)
+ * @param tris
+ * the mesh to render.
+ */
+ public void DrawParticles(TriMesh geo, Object3D shape, boolean selected, boolean rotate) // TriMesh tris)
+ {
+ CameraPane display = this;
+
+ float r = display.modelParams0[0];
+ float g = display.modelParams0[1];
+ float b = display.modelParams0[2];
+ float opacity = display.modelParams5[1];
+
+ //final GL gl = GLU.getCurrentGL();
+ GL gl = display.GetGL(); // getGL();
+
+ FloatBuffer vertBuf = geo.vertBuf;
+
+ int v = vertBuf.capacity();
+
+ int count = 0;
+
+ boolean cf = gl.glIsEnabled(gl.GL_CULL_FACE);
+ gl.glEnable(gl.GL_CULL_FACE);
+ // gl.glScalef(1.0f/1024,1.0f/1024,1.0f/1024);
+ for (int i=0; i<v/3; i++)
+ {
+ int index3 = i*3;
+
+ if (geo.sizeBuf.get(index3+1) == 0)
+ continue;
+
+ count++;
+
+ int index4 = i*4;
+
+ float tx = vertBuf.get(index3);
+ float ty = vertBuf.get(index3+1);
+ float tz = vertBuf.get(index3+2);
+
+ // if (tx == 0 && ty == 0 && tz == 0)
+ // continue;
+
+ gl.glMatrixMode(gl.GL_TEXTURE);
+ gl.glPushMatrix();
+
+ float[] texmat = geo.texmat;
+ texmat[12] = texmat[13] = texmat[14] = i;
+
+ gl.glMultMatrixf(texmat, 0);
+
+ gl.glMatrixMode(gl.GL_MODELVIEW);
+ gl.glPushMatrix();
+
+ gl.glTranslatef(tx,ty,tz);
+
+ if (rotate)
+ gl.glRotatef(i, 0, 1, 0);
+
+ float size = geo.sizeBuf.get(index3) / 100;
+ gl.glScalef(size,size,size);
+
+ float cr = geo.colorBuf.get(index4);
+ float cg = geo.colorBuf.get(index4+1);
+ float cb = geo.colorBuf.get(index4+2);
+ float ca = geo.colorBuf.get(index4+3);
+
+ display.modelParams0[0] = r * cr;
+ display.modelParams0[1] = g * cg;
+ display.modelParams0[2] = b * cb;
+
+ display.modelParams5[1] = opacity * ca;
+
+ gl.glProgramEnvParameter4fvARB(gl.GL_FRAGMENT_PROGRAM_ARB, 0, display.modelParams0, 0);
+ gl.glProgramEnvParameter4fvARB(gl.GL_FRAGMENT_PROGRAM_ARB, 5, display.modelParams5, 0);
+
+ RandomNode.globalseed = (int)geo.sizeBuf.get(index3+2); // i;
+ RandomNode.globalseed2 = RandomNode.globalseed;
+
+// gl.glColor4f(cr,cg,cb,ca);
+ // gl.glScalef(1024/16,1024/16,1024/16);
+ shape.Draw/*Node*/(display,null,selected,false); // blocked
+ // gl.glScalef(16.0f/1024,16.0f/1024,16.0f/1024);
+ //gl.glTranslatef(-tx,-ty,-tz);
+ gl.glPopMatrix();
+
+ gl.glMatrixMode(gl.GL_TEXTURE);
+ gl.glPopMatrix();
+ }
+ // gl.glScalef(1024,1024,1024);
+ if (!cf)
+ gl.glDisable(gl.GL_CULL_FACE);
+
+ display.modelParams0[0] = r;
+ display.modelParams0[1] = g;
+ display.modelParams0[2] = b;
+
+ display.modelParams5[1] = opacity;
+
+ gl.glProgramEnvParameter4fvARB(gl.GL_FRAGMENT_PROGRAM_ARB, 0, display.modelParams0, 0);
+ gl.glProgramEnvParameter4fvARB(gl.GL_FRAGMENT_PROGRAM_ARB, 5, display.modelParams5, 0);
+
+ gl.glMatrixMode(gl.GL_MODELVIEW);
+
+// System.err.println("total = " + v/3 + "; displayed = " + count);
+ if (true)
+ return;
+
+//// if (!tris.predraw(this))
+//// {
+//// return;
+//// }
+//// if (Debug.stats)
+//// {
+//// StatCollector.addStat(StatType.STAT_TRIANGLE_COUNT, tris.getTriangleCount());
+//// StatCollector.addStat(StatType.STAT_VERTEX_COUNT, tris.getVertexCount());
+//// StatCollector.addStat(StatType.STAT_GEOM_COUNT, 1);
+//// }
+////
+//// if (tris.getDisplayListID() != -1)
+//// {
+//// renderDisplayList(tris);
+//// return;
+//// }
+////
+//// if (!generatingDisplayList)
+//// {
+//// applyStates(tris.states, tris);
+//// }
+//// if (Debug.stats)
+//// {
+//// StatCollector.startStat(StatType.STAT_RENDER_TIMER);
+//// }
+//// boolean transformed = doTransforms(tris);
+//
+// int glMode = GL.GL_TRIANGLES;
+// switch (getMode())
+// {
+// case Triangles:
+// glMode = GL.GL_TRIANGLES;
+// break;
+// case Strip:
+// glMode = GL.GL_TRIANGLE_STRIP;
+// break;
+// case Fan:
+// glMode = GL.GL_TRIANGLE_FAN;
+// break;
+// }
+//
+// if (!predrawGeometry(gl))
+// {
+// // make sure only the necessary indices are sent through on old
+// // cards.
+// IntBuffer indices = this.getIndexBuffer();
+// if (indices == null)
+// {
+// logger.severe("missing indices on geometry object: " + this.toString());
+// } else
+// {
+// indices.rewind();
+// indices.limit(this.getMaxIndex());
+//
+// gl.glDrawElements(glMode, indices.limit(), GL.GL_UNSIGNED_INT, indices); // TODO Check <count> and assumed <type> of GL_UNSIGNED_INT
+//
+// indices.clear();
+// }
+// } else
+// {
+// gl.glDrawElements(glMode, this.getIndexBuffer().limit(),
+// GL.GL_UNSIGNED_INT, 0);
+// }
+//
+//// postdrawGeometry(tris);
+//// if (transformed)
+//// {
+//// undoTransforms(tris);
+//// }
+////
+//// if (Debug.stats)
+//// {
+//// StatCollector.endStat(StatType.STAT_RENDER_TIMER);
+//// }
+//// tris.postdraw(this);
+ }
+
/// INTERFACE
void SetColor(Object3D obj, Vertex p0)
diff --git a/FrameSelector.java b/FrameSelector.java
index 91ff1ec..d811fba 100644
--- a/FrameSelector.java
+++ b/FrameSelector.java
@@ -16,7 +16,7 @@
frame = 0;
}
- void DrawNode(CameraPane display, Object3D /*Composite*/ root, boolean selected)
+ void DrawNode(iCameraPane display, Object3D /*Composite*/ root, boolean selected)
{
while (realframe == 0)
{
diff --git a/GLShapeDrawer.java b/GLShapeDrawer.java
index f516e61..38fb421 100644
--- a/GLShapeDrawer.java
+++ b/GLShapeDrawer.java
@@ -136,13 +136,13 @@
}
private static float[] glMat = new float[16];
- static public void drawOpenGL(CameraPane display, Transform trans, CollisionShape shape, Vector3f color, int debugMode) {
+ static public void drawOpenGL(iCameraPane display, Transform trans, CollisionShape shape, Vector3f color, int debugMode) {
ObjectPool<Transform> transformsPool = ObjectPool.get(Transform.class);
ObjectPool<Vector3f> vectorsPool = ObjectPool.get(Vector3f.class);
//System.out.println("shape="+shape+" type="+BroadphaseNativeTypes.forValue(shape.getShapeType()));
- GL gl = display.getGL();
+ GL gl = display.GetGL();
gl.glPushMatrix();
trans.getOpenGLMatrix(glMat);
@@ -550,9 +550,9 @@
private static Map<SphereKey, Integer> sphereDisplayLists = new HashMap<SphereKey, Integer>();
private static SphereKey sphereKey = new SphereKey();
- static public void drawSphere(CameraPane display, float radius, int slices, int stacks)
+ static public void drawSphere(iCameraPane display, float radius, int slices, int stacks)
{
- GL gl = display.getGL();
+ GL gl = display.GetGL();
sphereKey.radius = radius;
Integer glList = sphereDisplayLists.get(sphereKey);
@@ -622,9 +622,9 @@
private static Map<CylinderKey, Integer> cylinderDisplayLists = new HashMap<CylinderKey, Integer>();
private static CylinderKey cylinderKey = new CylinderKey();
- static public void drawCylinder(CameraPane display, float radius, float halfHeight, int upAxis)
+ static public void drawCylinder(iCameraPane display, float radius, float halfHeight, int upAxis)
{
- GL gl = display.getGL();
+ GL gl = display.GetGL();
gl.glPushMatrix();
switch (upAxis)
diff --git a/GenericJoint.java b/GenericJoint.java
index b6d18be..90f9509 100644
--- a/GenericJoint.java
+++ b/GenericJoint.java
@@ -314,7 +314,7 @@
bRep = null;
}
- void DrawNode(CameraPane display, Object3D /*Composite*/ root, boolean selected) // ??
+ void DrawNode(iCameraPane display, Object3D /*Composite*/ root, boolean selected) // ??
{
// super.DrawNode(display,root,selected);
@@ -451,9 +451,9 @@
int startvertex;
int currentobject;
- public void renderme(CameraPane display)
+ public void renderme(iCameraPane display)
{
- GL gl = display!=null?display.getGL():null;
+ GL gl = display!=null?display.GetGL():null;
// gl0 = gl;
if (GetDynamicsWorld() != null)
@@ -796,9 +796,9 @@
}
}
- public void drawCube(CameraPane display, float extent)
+ public void drawCube(iCameraPane display, float extent)
{
- GL gl = display.getGL();
+ GL gl = display.GetGL();
extent = extent * 0.5f;
@@ -838,7 +838,7 @@
private /*static*/ float[] glMat = new float[16];
- public void drawOpenGL(CameraPane display, Transform trans, CollisionShape shape, Vector3f color, int debugMode)
+ public void drawOpenGL(iCameraPane display, Transform trans, CollisionShape shape, Vector3f color, int debugMode)
{
GL gl = null; // display.getGL();
@@ -1522,9 +1522,9 @@
private static Map<SphereKey, Integer> sphereDisplayLists = new HashMap<SphereKey, Integer>();
private static SphereKey sphereKey = new SphereKey();
- public void drawSphere(CameraPane display, float radius, int slices, int stacks)
+ public void drawSphere(iCameraPane display, float radius, int slices, int stacks)
{
- GL gl = display.getGL();
+ GL gl = display.GetGL();
sphereKey.radius = radius;
Integer glList = sphereDisplayLists.get(sphereKey);
@@ -1594,9 +1594,9 @@
private static Map<CylinderKey, Integer> cylinderDisplayLists = new HashMap<CylinderKey, Integer>();
private static CylinderKey cylinderKey = new CylinderKey();
- public void drawCylinder(CameraPane display, float radius, float halfHeight, int upAxis)
+ public void drawCylinder(iCameraPane display, float radius, float halfHeight, int upAxis)
{
- GL gl = display.getGL();
+ GL gl = display.GetGL();
gl.glPushMatrix();
switch (upAxis)
diff --git a/Geometry.java b/Geometry.java
index 15468cc..13f98a8 100755
--- a/Geometry.java
+++ b/Geometry.java
@@ -75,7 +75,7 @@
{
static final long serialVersionUID = 0;
- abstract void DrawParticles(CameraPane display, Object3D geo, boolean selected, boolean rotate);
+ abstract void DrawParticles(iCameraPane display, Object3D geo, boolean selected, boolean rotate);
private static final Logger logger = Logger.getLogger(Geometry.class.getName());
// private static final long serialVersionUID = 1;
diff --git a/Merge.java b/Merge.java
index 1c276fb..aa47522 100644
--- a/Merge.java
+++ b/Merge.java
@@ -135,7 +135,7 @@
// ObjectArrayList<Transform> initialmatrices;
- void DrawNode(CameraPane display, Object3D /*Composite*/ root, boolean selected) // ??
+ void DrawNode(iCameraPane display, Object3D /*Composite*/ root, boolean selected) // ??
{
//if (support == null)
// System.err.println("DrawNode Merge # " + ((Mocap)object).frame);
diff --git a/MorphNode.java b/MorphNode.java
index c783c97..01079dc 100644
--- a/MorphNode.java
+++ b/MorphNode.java
@@ -42,7 +42,7 @@
morphobject.count = 1; // hide
}
- void DrawNode(CameraPane display, Object3D /*Composite*/ root, boolean selected)
+ void DrawNode(iCameraPane display, Object3D /*Composite*/ root, boolean selected)
{
//System.err.println("Frame # " + frame);
diff --git a/ParticleNode.java b/ParticleNode.java
index e05819c..dcf5821 100644
--- a/ParticleNode.java
+++ b/ParticleNode.java
@@ -344,9 +344,9 @@
}
}
- void DrawNode(CameraPane display, Object3D /*Composite*/ root, boolean selected) // ??
+ void DrawNode(iCameraPane display, Object3D /*Composite*/ root, boolean selected) // ??
{
- if (display.DrawMode() == display.SELECTION || display.BOXMODE)
+ if (display.DrawMode() == display.SELECTION || display.IsBoxMode())
return; // hum...
Object3D geo = test;
diff --git a/PhysicsNode.java b/PhysicsNode.java
index 97369ee..77051fd 100644
--- a/PhysicsNode.java
+++ b/PhysicsNode.java
@@ -108,7 +108,7 @@
float totalms = 0;
- void drawSelf(CameraPane display, Object3D /*Composite*/ root, boolean selected, boolean blocked)
+ void drawSelf(iCameraPane display, Object3D /*Composite*/ root, boolean selected, boolean blocked)
{
if (Globals.isLIVE() && live && display.DrawMode() == display.SHADOW) // FUCK
{
diff --git a/ScriptNode.java b/ScriptNode.java
index d341a50..a856be3 100644
--- a/ScriptNode.java
+++ b/ScriptNode.java
@@ -1785,7 +1785,7 @@
return live;
}
- void DrawNode(CameraPane display, Object3D /*Composite*/ root, boolean selected)
+ void DrawNode(iCameraPane display, Object3D /*Composite*/ root, boolean selected)
{
if (CameraPane.ABORTED)
{
diff --git a/SwitchNode.java b/SwitchNode.java
index 0297c96..b06c2aa 100644
--- a/SwitchNode.java
+++ b/SwitchNode.java
@@ -46,7 +46,7 @@
transient boolean toggleneutral;
- void DrawNode(CameraPane display, Object3D /*Composite*/ root, boolean selected)
+ void DrawNode(iCameraPane display, Object3D /*Composite*/ root, boolean selected)
{
//System.err.println("Frame # " + frame);
diff --git a/TriMesh.java b/TriMesh.java
index efb3206..6068a2e 100755
--- a/TriMesh.java
+++ b/TriMesh.java
@@ -70,13 +70,28 @@
*/
public class TriMesh extends Geometry implements Serializable
{
+ /**
+ * <code>draw</code> renders a <code>TriMesh</code> object including
+ * it's normals, colors, textures and vertices.
+ *
+ * @see Renderer#draw(TriMesh)
+ * @param tris
+ * the mesh to render.
+ */
+ void DrawParticles(iCameraPane display, Object3D geo, boolean selected, boolean rotate) // TriMesh tris)
+ {
+ display.DrawParticles(this, geo, selected, rotate);
+ }
+
static final long serialVersionUID = 0;
boolean IsStatic()
{
return false;
}
+
private static final Logger logger = Logger.getLogger(TriMesh.class.getName());
+
// private static final long serialVersionUID = 2L;
public enum Mode
{
@@ -270,190 +285,6 @@
float[] texmat = { 1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1 };
- // super.DrawNode(...);
- /**
- * <code>draw</code> renders a <code>TriMesh</code> object including
- * it's normals, colors, textures and vertices.
- *
- * @see Renderer#draw(TriMesh)
- * @param tris
- * the mesh to render.
- */
- void DrawParticles(CameraPane display, Object3D geo, boolean selected, boolean rotate) // TriMesh tris)
- {
- float r = display.modelParams0[0];
- float g = display.modelParams0[1];
- float b = display.modelParams0[2];
- float opacity = display.modelParams5[1];
-
- //final GL gl = GLU.getCurrentGL();
- GL gl = display.GetGL(); // getGL();
-
- int v = vertBuf.capacity();
-
- int count = 0;
-
- boolean cf = gl.glIsEnabled(gl.GL_CULL_FACE);
- gl.glEnable(gl.GL_CULL_FACE);
- // gl.glScalef(1.0f/1024,1.0f/1024,1.0f/1024);
- for (int i=0; i<v/3; i++)
- {
- int index3 = i*3;
-
- if (sizeBuf.get(index3+1) == 0)
- continue;
-
- count++;
-
- int index4 = i*4;
-
- float tx = vertBuf.get(index3);
- float ty = vertBuf.get(index3+1);
- float tz = vertBuf.get(index3+2);
-
- // if (tx == 0 && ty == 0 && tz == 0)
- // continue;
-
- gl.glMatrixMode(gl.GL_TEXTURE);
- gl.glPushMatrix();
- texmat[12] = texmat[13] = texmat[14] = i;
-
- gl.glMultMatrixf(texmat, 0);
-
- gl.glMatrixMode(gl.GL_MODELVIEW);
- gl.glPushMatrix();
-
- gl.glTranslatef(tx,ty,tz);
-
- if (rotate)
- gl.glRotatef(i, 0, 1, 0);
-
- float size = sizeBuf.get(index3) / 100;
- gl.glScalef(size,size,size);
-
- float cr = colorBuf.get(index4);
- float cg = colorBuf.get(index4+1);
- float cb = colorBuf.get(index4+2);
- float ca = colorBuf.get(index4+3);
-
- display.modelParams0[0] = r * cr;
- display.modelParams0[1] = g * cg;
- display.modelParams0[2] = b * cb;
-
- display.modelParams5[1] = opacity * ca;
-
- gl.glProgramEnvParameter4fvARB(gl.GL_FRAGMENT_PROGRAM_ARB, 0, display.modelParams0, 0);
- gl.glProgramEnvParameter4fvARB(gl.GL_FRAGMENT_PROGRAM_ARB, 5, display.modelParams5, 0);
-
- RandomNode.globalseed = (int)sizeBuf.get(index3+2); // i;
- RandomNode.globalseed2 = RandomNode.globalseed;
-
-// gl.glColor4f(cr,cg,cb,ca);
- // gl.glScalef(1024/16,1024/16,1024/16);
- geo.Draw/*Node*/(display,null,selected,false); // blocked
- // gl.glScalef(16.0f/1024,16.0f/1024,16.0f/1024);
- //gl.glTranslatef(-tx,-ty,-tz);
- gl.glPopMatrix();
-
- gl.glMatrixMode(gl.GL_TEXTURE);
- gl.glPopMatrix();
- }
- // gl.glScalef(1024,1024,1024);
- if (!cf)
- gl.glDisable(gl.GL_CULL_FACE);
-
- display.modelParams0[0] = r;
- display.modelParams0[1] = g;
- display.modelParams0[2] = b;
-
- display.modelParams5[1] = opacity;
-
- gl.glProgramEnvParameter4fvARB(gl.GL_FRAGMENT_PROGRAM_ARB, 0, display.modelParams0, 0);
- gl.glProgramEnvParameter4fvARB(gl.GL_FRAGMENT_PROGRAM_ARB, 5, display.modelParams5, 0);
-
- gl.glMatrixMode(gl.GL_MODELVIEW);
-
-// System.err.println("total = " + v/3 + "; displayed = " + count);
- if (true)
- return;
-
-//// if (!tris.predraw(this))
-//// {
-//// return;
-//// }
-//// if (Debug.stats)
-//// {
-//// StatCollector.addStat(StatType.STAT_TRIANGLE_COUNT, tris.getTriangleCount());
-//// StatCollector.addStat(StatType.STAT_VERTEX_COUNT, tris.getVertexCount());
-//// StatCollector.addStat(StatType.STAT_GEOM_COUNT, 1);
-//// }
-////
-//// if (tris.getDisplayListID() != -1)
-//// {
-//// renderDisplayList(tris);
-//// return;
-//// }
-////
-//// if (!generatingDisplayList)
-//// {
-//// applyStates(tris.states, tris);
-//// }
-//// if (Debug.stats)
-//// {
-//// StatCollector.startStat(StatType.STAT_RENDER_TIMER);
-//// }
-//// boolean transformed = doTransforms(tris);
-//
-// int glMode = GL.GL_TRIANGLES;
-// switch (getMode())
-// {
-// case Triangles:
-// glMode = GL.GL_TRIANGLES;
-// break;
-// case Strip:
-// glMode = GL.GL_TRIANGLE_STRIP;
-// break;
-// case Fan:
-// glMode = GL.GL_TRIANGLE_FAN;
-// break;
-// }
-//
-// if (!predrawGeometry(gl))
-// {
-// // make sure only the necessary indices are sent through on old
-// // cards.
-// IntBuffer indices = this.getIndexBuffer();
-// if (indices == null)
-// {
-// logger.severe("missing indices on geometry object: " + this.toString());
-// } else
-// {
-// indices.rewind();
-// indices.limit(this.getMaxIndex());
-//
-// gl.glDrawElements(glMode, indices.limit(), GL.GL_UNSIGNED_INT, indices); // TODO Check <count> and assumed <type> of GL_UNSIGNED_INT
-//
-// indices.clear();
-// }
-// } else
-// {
-// gl.glDrawElements(glMode, this.getIndexBuffer().limit(),
-// GL.GL_UNSIGNED_INT, 0);
-// }
-//
-//// postdrawGeometry(tris);
-//// if (transformed)
-//// {
-//// undoTransforms(tris);
-//// }
-////
-//// if (Debug.stats)
-//// {
-//// StatCollector.endStat(StatType.STAT_RENDER_TIMER);
-//// }
-//// tris.postdraw(this);
- }
-
final boolean supportsVBO = false;
private FloatBuffer prevVerts;
diff --git a/VehicleDemo.java b/VehicleDemo.java
index 1641446..2c1a8af 100755
--- a/VehicleDemo.java
+++ b/VehicleDemo.java
@@ -484,7 +484,7 @@
}
- void DrawNode(CameraPane display, Object3D /*Composite*/ root, boolean selected) // ??
+ void DrawNode(iCameraPane display, Object3D /*Composite*/ root, boolean selected) // ??
{
// super.DrawNode(display,root,selected);
@@ -526,10 +526,10 @@
return debugMode;
}
- public void renderme0(CameraPane display)
+ public void renderme0(iCameraPane display)
{
//updateCamera();
- GL gl = display.getGL();
+ GL gl = display.GetGL();
if (dynamicsWorld != null) {
int numObjects = dynamicsWorld.getNumCollisionObjects();
@@ -755,7 +755,7 @@
// // to be implemented by the demo
// @Override
- public void renderme(CameraPane display)
+ public void renderme(iCameraPane display)
{
// updateCamera();
diff --git a/cMesh.java b/cMesh.java
index c2eb4ad..863e918 100644
--- a/cMesh.java
+++ b/cMesh.java
@@ -484,7 +484,7 @@
}
- void DrawNode(CameraPane display, Object3D /*Composite*/ root, boolean selected) // ??
+ void DrawNode(iCameraPane display, Object3D /*Composite*/ root, boolean selected) // ??
{
// ?????? if (size() > 0)
// {
diff --git a/cSpring.java b/cSpring.java
index fcf1d91..47b7769 100644
--- a/cSpring.java
+++ b/cSpring.java
@@ -543,13 +543,13 @@
}
// serial lost
- void DrawNode0(CameraPane display)
+ void DrawNode0(iCameraPane display)
{
super.DrawNode(display, null, false);
}
- void DrawNode/*notused*/(CameraPane display, Object3D /*Composite*/ root, boolean selected)
+ void DrawNode/*notused*/(iCameraPane display, Object3D /*Composite*/ root, boolean selected)
{
// assert displaylist == -1;
diff --git a/iCameraPane.java b/iCameraPane.java
index 5fa0b77..9d55774 100644
--- a/iCameraPane.java
+++ b/iCameraPane.java
@@ -5,7 +5,9 @@
static final public int SELECTION = 1;
static final public int SHADOW = 2;
static final public int OCCLUSION = 3;
-
+
+ boolean IsBoxMode();
+
void ClearDepth();
void DepthTest(boolean depthtest);
@@ -50,4 +52,6 @@
void ReleaseTextures(cTexture tex);
void DrawFace(Object3D obj, Vertex pv, Vertex qv, Vertex rv, Face face);
+
+ void DrawParticles(TriMesh geo, Object3D shape, boolean selected, boolean rotate);
}
--
Gitblit v1.6.2