From: Michael T H. <mic...@us...> - 2003-11-03 23:57:50
|
Update of /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/g3d In directory sc8-pr-cvs1:/tmp/cvs-serv8424/src/org/openscience/jmol/viewer/g3d Modified Files: Colix.java Graphics3D.java Log Message: first drawing of boxes Index: Colix.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/g3d/Colix.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Colix.java 3 Nov 2003 19:05:36 -0000 1.3 +++ Colix.java 3 Nov 2003 23:57:47 -0000 1.4 @@ -130,14 +130,4 @@ shades = ashades[colix] = Shade3D.getShades(argbs[colix]); return shades; } - - public static int getArgbSurface(short colix, - float x, float y, float z) { - int intensity = (z >= 0 - ? Shade3D.calcIntensity(x, y, z) - : Shade3D.calcIntensity(-x, -y, -z)); - if (intensity > Shade3D.intensitySpecularSurfaceLimit) - intensity = Shade3D.intensitySpecularSurfaceLimit; - return getShades(colix)[intensity]; - } } Index: Graphics3D.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/g3d/Graphics3D.java,v retrieving revision 1.46 retrieving revision 1.47 diff -u -r1.46 -r1.47 --- Graphics3D.java 3 Nov 2003 19:05:36 -0000 1.46 +++ Graphics3D.java 3 Nov 2003 23:57:47 -0000 1.47 @@ -35,7 +35,6 @@ import java.awt.FontMetrics; import java.awt.Rectangle; import javax.vecmath.Point3i; -import javax.vecmath.Vector3f; final public class Graphics3D { @@ -437,14 +436,16 @@ triangle3d.fillTriangle(); } - public void drawfillTriangle(short colix, Vector3f normal, - Point3i screenA, - Point3i screenB, Point3i screenC) { - int argb = argbCurrent = - Colix.getArgbSurface(colix, normal.x, normal.y, normal.z); - drawLine(screenA, screenB); - drawLine(screenA, screenC); - drawLine(screenB, screenC); + public void fillQuadrilateral(short colix, + Point3i screenA, Point3i screenB, + Point3i screenC, Point3i screenD) { + fillTriangle(colix, screenA, screenB, screenC); + fillTriangle(colix, screenA, screenC, screenD); + } + + public void fillTriangle(short colix, Point3i screenA, + Point3i screenB, Point3i screenC) { + calcSurfaceShade(colix, screenA, screenB, screenC); int[] t; t = triangle3d.ax; t[0] = screenA.x; t[1] = screenB.x; t[2] = screenC.x; @@ -455,6 +456,15 @@ triangle3d.fillTriangle(); } + + int intensity = 0; + + void calcSurfaceShade(short colix, Point3i screenA, + Point3i screenB, Point3i screenC) { + argbCurrent = Colix.getShades(colix)[intensity]; + intensity = (intensity + 10) & 63; + } + public void drawfillTriangle(short colix, int xA, int yA, int zA, int xB, int yB, int zB, int xC, int yC, int zC) { |