You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
(116) |
May
(220) |
Jun
(52) |
Jul
(30) |
Aug
(35) |
Sep
(24) |
Oct
(49) |
Nov
(44) |
Dec
(70) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(21) |
Feb
(30) |
Mar
(9) |
Apr
(44) |
May
(2) |
Jun
|
Jul
(10) |
Aug
(20) |
Sep
(25) |
Oct
(12) |
Nov
(16) |
Dec
(4) |
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
(25) |
Aug
|
Sep
|
Oct
|
Nov
(26) |
Dec
(10) |
2006 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(33) |
2007 |
Jan
(4) |
Feb
(57) |
Mar
(17) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <ma...@us...> - 2003-04-23 04:44:15
|
Update of /cvsroot/jrman/drafts/src/org/jrman/grid In directory sc8-pr-cvs1:/tmp/cvs-serv15977/src/org/jrman/grid Modified Files: FloatGrid.java Tuple3fGrid.java Log Message: Small fixes in grid implementations. Implemented ShaderVariables. Index: FloatGrid.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/grid/FloatGrid.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** FloatGrid.java 21 Apr 2003 00:09:34 -0000 1.3 --- FloatGrid.java 23 Apr 2003 04:44:09 -0000 1.4 *************** *** 33,36 **** --- 33,37 ---- data = new float[uSize * vSize]; } + public int getUSize() { return uSize; *************** *** 976,980 **** /* ! * noise */ --- 977,981 ---- /* ! * cellnoise */ *************** *** 982,985 **** --- 983,1001 ---- /* + * xcomp + */ + + public void xcomp(Tuple3fGrid t) { + for (int i = 0; i < data.length; i++) + data[i] = t.data[i].x; + } + + public void xcomp(Tuple3fGrid t, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = t.data[i].x; + } + + /* * ycomp */ *************** *** 1000,1009 **** */ ! public void xcomp(Tuple3fGrid t) { for (int i = 0; i < data.length; i++) data[i] = t.data[i].z; } ! public void xcomp(Tuple3fGrid t, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) --- 1016,1025 ---- */ ! public void zcomp(Tuple3fGrid t) { for (int i = 0; i < data.length; i++) data[i] = t.data[i].z; } ! public void zcomp(Tuple3fGrid t, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) Index: Tuple3fGrid.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/grid/Tuple3fGrid.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Tuple3fGrid.java 21 Apr 2003 00:09:34 -0000 1.3 --- Tuple3fGrid.java 23 Apr 2003 04:44:09 -0000 1.4 *************** *** 646,656 **** } - /* - * dummy - */ - - void dummy() { - // TODO remove dummy method - } - } --- 646,648 ---- |
Update of /cvsroot/jrman/drafts/src/org/jrman/grid In directory sc8-pr-cvs1:/tmp/cvs-serv19950/src/org/jrman/grid Modified Files: Color3fGrid.java BooleanGrid.java FloatGrid.java Vector3fGrid.java Point3fGrid.java Tuple3fGrid.java Added Files: Grid.java Log Message: Finished implementing Grid types (for now). --- NEW FILE: Grid.java --- /* Grid.java Copyright (C) 2003 Gerardo Horvilleur Martinez This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.jrman.grid; public class Grid { protected static int uSize; protected static int vSize; public static void setSize(int newUSize, int newVSize) { uSize = newUSize; vSize = newVSize; } protected Grid() { } } Index: Color3fGrid.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/grid/Color3fGrid.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Color3fGrid.java 20 Apr 2003 03:59:09 -0000 1.1 --- Color3fGrid.java 21 Apr 2003 00:09:34 -0000 1.2 *************** *** 24,30 **** public class Color3fGrid extends Tuple3fGrid { ! public Color3fGrid(int uSize, int vSize) { ! this.uSize = uSize; ! this.vSize = vSize; data = new Color3f[uSize * vSize]; for (int i = 0; i < data.length; i++) --- 24,28 ---- public class Color3fGrid extends Tuple3fGrid { ! public Color3fGrid() { data = new Color3f[uSize * vSize]; for (int i = 0; i < data.length; i++) Index: BooleanGrid.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/grid/BooleanGrid.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BooleanGrid.java 20 Apr 2003 03:59:09 -0000 1.2 --- BooleanGrid.java 21 Apr 2003 00:09:34 -0000 1.3 *************** *** 22,36 **** import javax.vecmath.Tuple3f; ! public class BooleanGrid { ! ! protected int uSize; ! ! protected int vSize; public boolean[] data; ! public BooleanGrid(int uSize, int vSize) { ! this.uSize = uSize; ! this.vSize = vSize; data = new boolean[uSize * vSize]; } --- 22,30 ---- import javax.vecmath.Tuple3f; ! public class BooleanGrid extends Grid { public boolean[] data; ! public BooleanGrid() { data = new boolean[uSize * vSize]; } Index: FloatGrid.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/grid/FloatGrid.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** FloatGrid.java 19 Apr 2003 04:57:23 -0000 1.2 --- FloatGrid.java 21 Apr 2003 00:09:34 -0000 1.3 *************** *** 26,40 **** import org.jrman.util.Calc; ! public class FloatGrid { ! ! protected int uSize; ! ! protected int vSize; public float[] data; ! public FloatGrid(int uSize, int vSize) { ! this.uSize = uSize; ! this.vSize = vSize; data = new float[uSize * vSize]; } --- 26,34 ---- import org.jrman.util.Calc; ! public class FloatGrid extends Grid { public float[] data; ! public FloatGrid() { data = new float[uSize * vSize]; } Index: Vector3fGrid.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/grid/Vector3fGrid.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Vector3fGrid.java 19 Apr 2003 04:57:23 -0000 1.1 --- Vector3fGrid.java 21 Apr 2003 00:09:34 -0000 1.2 *************** *** 22,34 **** import javax.vecmath.Vector3f; public class Vector3fGrid extends Tuple3fGrid { ! public Vector3fGrid(int uSize, int vSize) { ! this.uSize = uSize; ! this.vSize = vSize; ! data = new Vector3f[uSize * vSize]; ! for (int i = 0; i < data.length; i++) ! data[i] = new Vector3f(); ! } ! } --- 22,91 ---- import javax.vecmath.Vector3f; + import org.jrman.geom.Transform; + public class Vector3fGrid extends Tuple3fGrid { ! public Vector3fGrid() { ! data = new Vector3f[uSize * vSize]; ! for (int i = 0; i < data.length; i++) ! data[i] = new Vector3f(); ! } ! ! /* ! * normalize ! */ ! ! public void normalize(Vector3fGrid v) { ! Vector3f[] tdata = (Vector3f[]) data; ! Vector3f[] vdata = (Vector3f[]) v.data; ! for (int i = 0; i < tdata.length; i++) ! tdata[i].normalize(vdata[i]); ! } ! ! public void normalize(Vector3fGrid v, BooleanGrid cond) { ! Vector3f[] tdata = (Vector3f[]) data; ! Vector3f[] vdata = (Vector3f[]) v.data; ! for (int i = 0; i < tdata.length; i++) ! if (cond.data[i]) ! tdata[i].normalize(vdata[i]); ! } ! ! /* ! * vtransform ! */ ! ! public void vtransform(Vector3fGrid v, Transform transform) { ! Vector3f[] tdata = (Vector3f[]) data; ! Vector3f[] vdata = (Vector3f[]) v.data; ! for (int i = 0; i < tdata.length; i++) ! transform.transformVector(vdata[i], tdata[i]); ! } ! ! public void vtransform(Vector3fGrid v, Transform transform, BooleanGrid cond) { ! Vector3f[] tdata = (Vector3f[]) data; ! Vector3f[] vdata = (Vector3f[]) v.data; ! for (int i = 0; i < tdata.length; i++) ! if (cond.data[i]) ! transform.transformVector(vdata[i], tdata[i]); ! } ! ! /* ! * ntransform ! */ ! ! public void ntransform(Vector3fGrid n, Transform transform) { ! Vector3f[] tdata = (Vector3f[]) data; ! Vector3f[] ndata = (Vector3f[]) n.data; ! for (int i = 0; i < tdata.length; i++) ! transform.transformNormal(ndata[i], tdata[i]); ! } ! ! public void ntransform(Vector3fGrid n, Transform transform, BooleanGrid cond) { ! Vector3f[] tdata = (Vector3f[]) data; ! Vector3f[] ndata = (Vector3f[]) n.data; ! for (int i = 0; i < tdata.length; i++) ! if (cond.data[i]) ! transform.transformNormal(ndata[i], tdata[i]); ! } ! } Index: Point3fGrid.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/grid/Point3fGrid.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Point3fGrid.java 18 Apr 2003 22:52:13 -0000 1.2 --- Point3fGrid.java 21 Apr 2003 00:09:34 -0000 1.3 *************** *** 22,34 **** import javax.vecmath.Point3f; public class Point3fGrid extends Tuple3fGrid { ! public Point3fGrid(int uSize, int vSize) { ! this.uSize = uSize; ! this.vSize = vSize; data = new Point3f[uSize * vSize]; for (int i = 0; i < data.length; i++) ! data[i] = new Point3f(); } ! } --- 22,53 ---- import javax.vecmath.Point3f; + import org.jrman.geom.Transform; + public class Point3fGrid extends Tuple3fGrid { ! public Point3fGrid() { data = new Point3f[uSize * vSize]; for (int i = 0; i < data.length; i++) ! data[i] = new Point3f(); } ! ! /* ! * transform ! */ ! ! public void transform(Point3fGrid p, Transform transform) { ! Point3f[] tdata = (Point3f[]) data; ! Point3f[] pdata = (Point3f[]) p.data; ! for (int i = 0; i < tdata.length; i++) ! transform.transformPoint(pdata[i], tdata[i]); ! } ! ! public void transform(Point3fGrid p, Transform transform, BooleanGrid cond) { ! Point3f[] tdata = (Point3f[]) data; ! Point3f[] pdata = (Point3f[]) p.data; ! for (int i = 0; i < tdata.length; i++) ! if (cond.data[i]) ! transform.transformPoint(pdata[i], tdata[i]); ! } ! } Index: Tuple3fGrid.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/grid/Tuple3fGrid.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Tuple3fGrid.java 20 Apr 2003 03:59:09 -0000 1.2 --- Tuple3fGrid.java 21 Apr 2003 00:09:34 -0000 1.3 *************** *** 24,32 **** import org.jrman.util.Calc; ! public class Tuple3fGrid { ! ! protected int uSize; ! ! protected int vSize; public Tuple3f[] data; --- 24,28 ---- import org.jrman.util.Calc; ! public class Tuple3fGrid extends Grid { public Tuple3f[] data; |
From: <ma...@us...> - 2003-04-20 03:59:13
|
Update of /cvsroot/jrman/drafts/src/org/jrman/grid In directory sc8-pr-cvs1:/tmp/cvs-serv5054/src/org/jrman/grid Modified Files: BooleanGrid.java Tuple3fGrid.java Added Files: Color3fGrid.java Log Message: Almost finished implementing grids (for now...) --- NEW FILE: Color3fGrid.java --- /* Color3fGrid.java Copyright (C) 2003 Gerardo Horvilleur Martinez This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.jrman.grid; import javax.vecmath.Color3f; public class Color3fGrid extends Tuple3fGrid { public Color3fGrid(int uSize, int vSize) { this.uSize = uSize; this.vSize = vSize; data = new Color3f[uSize * vSize]; for (int i = 0; i < data.length; i++) data[i] = new Color3f(); } } Index: BooleanGrid.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/grid/BooleanGrid.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BooleanGrid.java 18 Apr 2003 22:52:12 -0000 1.1 --- BooleanGrid.java 20 Apr 2003 03:59:09 -0000 1.2 *************** *** 20,23 **** --- 20,25 ---- package org.jrman.grid; + import javax.vecmath.Tuple3f; + public class BooleanGrid { *************** *** 55,58 **** --- 57,391 ---- public void set(int u, int v, boolean in) { set(v * uSize + u, in); + } + + /* + * set + */ + + public void set(boolean b) { + for (int i = 0; i < data.length; i++) + data[i] = b; + } + + public void set(boolean b, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = b; + } + + public void set(BooleanGrid b) { + for (int i = 0; i < data.length; i++) + data[i] = b.data[i]; + } + + public void set(BooleanGrid b, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = b.data[i]; + } + + /* + * allTrue + */ + + public boolean allTrue() { + for (int i = 0; i < data.length; i++) + if (!data[i]) + return false; + return true; + } + + public boolean allTrue(BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + if (!data[i]) + return false; + return true; + } + + /* + * allFalse + */ + + public boolean allFalse() { + for (int i = 0; i < data.length; i++) + if (data[i]) + return false; + return true; + } + + public boolean allFalse(BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + if (data[i]) + return false; + return true; + } + + /* + * and + */ + + public void and(BooleanGrid b1, boolean b2) { + for (int i = 0; i < data.length; i++) + data[i] = (b1.data[i] & b2); + } + + public void and(BooleanGrid b1, boolean b2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (b1.data[i] & b2); + } + + public void and(BooleanGrid b1, BooleanGrid b2) { + for (int i = 0; i < data.length; i++) + data[i] = (b1.data[i] & b2.data[i]); + } + + public void and(BooleanGrid b1, BooleanGrid b2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (b1.data[i] & b2.data[i]); + } + + /* + * or + */ + + public void or(BooleanGrid b1, boolean b2) { + for (int i = 0; i < data.length; i++) + data[i] = (b1.data[i] | b2); + } + + public void or(BooleanGrid b1, boolean b2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (b1.data[i] | b2); + } + + public void or(BooleanGrid b1, BooleanGrid b2) { + for (int i = 0; i < data.length; i++) + data[i] = (b1.data[i] | b2.data[i]); + } + + public void or(BooleanGrid b1, BooleanGrid b2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (b1.data[i] | b2.data[i]); + } + + /* + * not + */ + + public void not(BooleanGrid b1) { + for (int i = 0; i < data.length; i++) + data[i] = !(b1.data[i]); + } + + public void not(BooleanGrid b1, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = !(b1.data[i]); + } + + /* + * equal + */ + + public void equal(FloatGrid f1, float f2) { + for (int i = 0; i < data.length; i++) + data[i] = (f1.data[i] == f2); + } + + public void equal(FloatGrid f1, float f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (f1.data[i] == f2); + } + + public void equal(FloatGrid f1, FloatGrid f2) { + for (int i = 0; i < data.length; i++) + data[i] = (f1.data[i] == f2.data[i]); + } + + public void equal(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (f1.data[i] == f2.data[i]); + } + + public void equal(Tuple3fGrid t1, Tuple3f t2) { + for (int i = 0; i < data.length; i++) + data[i] = t1.data[i].equals(t2); + } + + public void equal(Tuple3fGrid t1, Tuple3f t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = t1.data[i].equals(t2); + } + + public void equal(Tuple3fGrid t1, Tuple3fGrid t2) { + for (int i = 0; i < data.length; i++) + data[i] = t1.data[i].equals(t2.data[i]); + } + + public void equal(Tuple3fGrid t1, Tuple3fGrid t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = t1.data[i].equals(t2.data[i]); + } + + /* + * notEqual + */ + + public void notEqual(FloatGrid f1, float f2) { + for (int i = 0; i < data.length; i++) + data[i] = (f1.data[i] != f2); + } + + public void notEqual(FloatGrid f1, float f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (f1.data[i] != f2); + } + + public void notEqual(FloatGrid f1, FloatGrid f2) { + for (int i = 0; i < data.length; i++) + data[i] = (f1.data[i] != f2.data[i]); + } + + public void notEqual(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (f1.data[i] != f2.data[i]); + } + + public void notEqual(Tuple3fGrid t1, Tuple3f t2) { + for (int i = 0; i < data.length; i++) + data[i] = !(t1.data[i].equals(t2)); + } + + public void notEqual(Tuple3fGrid t1, Tuple3f t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = !(t1.data[i].equals(t2)); + } + + public void notEqual(Tuple3fGrid t1, Tuple3fGrid t2) { + for (int i = 0; i < data.length; i++) + data[i] = !(t1.data[i].equals(t2.data[i])); + } + + public void notEqual(Tuple3fGrid t1, Tuple3fGrid t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = !(t1.data[i].equals(t2.data[i])); + } + + /* + * less + */ + + public void less(FloatGrid f1, float f2) { + for (int i = 0; i < data.length; i++) + data[i] = (f1.data[i] < f2); + } + + public void less(FloatGrid f1, float f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (f1.data[i] < f2); + } + + public void less(FloatGrid f1, FloatGrid f2) { + for (int i = 0; i < data.length; i++) + data[i] = (f1.data[i] < f2.data[i]); + } + + public void less(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (f1.data[i] < f2.data[i]); + } + + /* + * lessOrEqual + */ + + public void lessOrEqual(FloatGrid f1, float f2) { + for (int i = 0; i < data.length; i++) + data[i] = (f1.data[i] <= f2); + } + + public void lessOrEqual(FloatGrid f1, float f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (f1.data[i] <= f2); + } + + public void lessOrEqual(FloatGrid f1, FloatGrid f2) { + for (int i = 0; i < data.length; i++) + data[i] = (f1.data[i] <= f2.data[i]); + } + + public void lessOrEqual(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (f1.data[i] <= f2.data[i]); + } + + /* + * greater + */ + + public void greater(FloatGrid f1, float f2) { + for (int i = 0; i < data.length; i++) + data[i] = (f1.data[i] > f2); + } + + public void greater(FloatGrid f1, float f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (f1.data[i] > f2); + } + + public void greater(FloatGrid f1, FloatGrid f2) { + for (int i = 0; i < data.length; i++) + data[i] = (f1.data[i] > f2.data[i]); + } + + public void greater(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (f1.data[i] > f2.data[i]); + } + + /* + * greaterOrEqual + */ + + public void greaterOrEqual(FloatGrid f1, float f2) { + for (int i = 0; i < data.length; i++) + data[i] = (f1.data[i] >= f2); + } + + public void greaterOrEqual(FloatGrid f1, float f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (f1.data[i] >= f2); + } + + public void greaterOrEqual(FloatGrid f1, FloatGrid f2) { + for (int i = 0; i < data.length; i++) + data[i] = (f1.data[i] >= f2.data[i]); + } + + public void greaterOrEqual(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (f1.data[i] >= f2.data[i]); } Index: Tuple3fGrid.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/grid/Tuple3fGrid.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Tuple3fGrid.java 18 Apr 2003 22:52:13 -0000 1.1 --- Tuple3fGrid.java 20 Apr 2003 03:59:09 -0000 1.2 *************** *** 22,25 **** --- 22,27 ---- import javax.vecmath.Tuple3f; + import org.jrman.util.Calc; + public class Tuple3fGrid { *************** *** 29,33 **** public Tuple3f[] data; ! protected Tuple3fGrid() { } --- 31,35 ---- public Tuple3f[] data; ! protected Tuple3fGrid() { } *************** *** 56,64 **** set(v * uSize + u, in); } ! public void set(Tuple3f in) { for (int i = 0; i < data.length; i++) { data[i].set(in); } } --- 58,659 ---- set(v * uSize + u, in); } ! ! /* ! * set ! */ ! public void set(Tuple3f in) { for (int i = 0; i < data.length; i++) { data[i].set(in); } + } + + public void set(Tuple3f in, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].set(in); + } + + public void set(Tuple3fGrid t) { + for (int i = 0; i < data.length; i++) + data[i].set(t.data[i]); + } + + public void set(Tuple3fGrid t, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].set(t.data[i]); + } + + /* + * negate + */ + + public void negate(Tuple3fGrid t) { + for (int i = 0; i < data.length; i++) + data[i].negate(t.data[i]); + } + + public void negate(Tuple3fGrid t, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].negate(t.data[i]); + } + + /* + * add + */ + + public void add(Tuple3fGrid t1, Tuple3f t2) { + for (int i = 0; i < data.length; i++) + data[i].add(t1.data[i], t2); + } + + public void add(Tuple3fGrid t1, Tuple3f t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].add(t1.data[i], t2); + } + + public void add(Tuple3fGrid t1, Tuple3fGrid t2) { + for (int i = 0; i < data.length; i++) + data[i].add(t1.data[i], t2.data[i]); + } + + public void add(Tuple3fGrid t1, Tuple3fGrid t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].add(t1.data[i], t2.data[i]); + } + + /* + * sub + */ + + public void sub(Tuple3fGrid t1, Tuple3f t2) { + for (int i = 0; i < data.length; i++) + data[i].sub(t1.data[i], t2); + } + + public void sub(Tuple3fGrid t1, Tuple3f t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].sub(t1.data[i], t2); + } + + public void sub(Tuple3f t1, Tuple3fGrid t2) { + for (int i = 0; i < data.length; i++) + data[i].sub(t1, t2.data[i]); + } + + public void sub(Tuple3f t1, Tuple3fGrid t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].sub(t1, t2.data[i]); + } + + public void sub(Tuple3fGrid t1, Tuple3fGrid t2) { + for (int i = 0; i < data.length; i++) + data[i].sub(t1.data[i], t2.data[i]); + } + + public void sub(Tuple3fGrid t1, Tuple3fGrid t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].sub(t1.data[i], t2.data[i]); + } + + /* + * mul + */ + + public void mul(Tuple3fGrid t1, Tuple3f t2) { + for (int i = 0; i < data.length; i++) { + data[i].x = t1.data[i].x * t2.x; + data[i].y = t1.data[i].y * t2.y; + data[i].z = t1.data[i].z * t2.z; + } + } + + public void mul(Tuple3fGrid t1, Tuple3f t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = t1.data[i].x * t2.x; + data[i].y = t1.data[i].y * t2.y; + data[i].z = t1.data[i].z * t2.z; + } + } + + public void mul(Tuple3fGrid t1, Tuple3fGrid t2) { + for (int i = 0; i < data.length; i++) { + data[i].x = t1.data[i].x * t2.data[i].x; + data[i].y = t1.data[i].y * t2.data[i].y; + data[i].z = t1.data[i].z * t2.data[i].z; + } + } + + public void mul(Tuple3fGrid t1, Tuple3fGrid t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = t1.data[i].x * t2.data[i].x; + data[i].y = t1.data[i].y * t2.data[i].y; + data[i].z = t1.data[i].z * t2.data[i].z; + } + } + + /* + * div + */ + + public void div(Tuple3fGrid t1, Tuple3f t2) { + for (int i = 0; i < data.length; i++) { + data[i].x = t1.data[i].x / t2.x; + data[i].y = t1.data[i].y / t2.y; + data[i].z = t1.data[i].z / t2.z; + } + } + + public void div(Tuple3fGrid t1, Tuple3f t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = t1.data[i].x / t2.x; + data[i].y = t1.data[i].y / t2.y; + data[i].z = t1.data[i].z / t2.z; + } + } + + public void div(Tuple3f t1, Tuple3fGrid t2) { + for (int i = 0; i < data.length; i++) { + data[i].x = t1.x / t2.data[i].x; + data[i].y = t1.y / t2.data[i].y; + data[i].z = t1.z / t2.data[i].z; + } + } + + public void div(Tuple3f t1, Tuple3fGrid t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = t1.x / t2.data[i].x; + data[i].y = t1.y / t2.data[i].y; + data[i].z = t1.z / t2.data[i].z; + } + } + + public void div(Tuple3fGrid t1, Tuple3fGrid t2) { + for (int i = 0; i < data.length; i++) { + data[i].x = t1.data[i].x / t2.data[i].x; + data[i].y = t1.data[i].y / t2.data[i].y; + data[i].z = t1.data[i].z / t2.data[i].z; + } + } + + public void div(Tuple3fGrid t1, Tuple3fGrid t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = t1.data[i].x / t2.data[i].x; + data[i].y = t1.data[i].y / t2.data[i].y; + data[i].z = t1.data[i].z / t2.data[i].z; + } + } + + /* + * min + */ + + public void min(Tuple3fGrid t1, Tuple3f t2) { + for (int i = 0; i < data.length; i++) { + data[i].x = Math.min(t1.data[i].x, t2.x); + data[i].y = Math.min(t1.data[i].y, t2.y); + data[i].z = Math.min(t1.data[i].z, t2.z); + } + } + + public void min(Tuple3fGrid t1, Tuple3f t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = Math.min(t1.data[i].x, t2.x); + data[i].y = Math.min(t1.data[i].y, t2.y); + data[i].z = Math.min(t1.data[i].z, t2.z); + } + } + + public void min(Tuple3fGrid t1, Tuple3fGrid t2) { + for (int i = 0; i < data.length; i++) { + data[i].x = Math.min(t1.data[i].x, t2.data[i].x); + data[i].y = Math.min(t1.data[i].y, t2.data[i].y); + data[i].z = Math.min(t1.data[i].z, t2.data[i].z); + } + } + + public void min(Tuple3fGrid t1, Tuple3fGrid t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = Math.min(t1.data[i].x, t2.data[i].x); + data[i].y = Math.min(t1.data[i].y, t2.data[i].y); + data[i].z = Math.min(t1.data[i].z, t2.data[i].z); + } + } + + /* + * max + */ + + public void max(Tuple3fGrid t1, Tuple3f t2) { + for (int i = 0; i < data.length; i++) { + data[i].x = Math.max(t1.data[i].x, t2.x); + data[i].y = Math.max(t1.data[i].y, t2.y); + data[i].z = Math.max(t1.data[i].z, t2.z); + } + } + + public void max(Tuple3fGrid t1, Tuple3f t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = Math.max(t1.data[i].x, t2.x); + data[i].y = Math.max(t1.data[i].y, t2.y); + data[i].z = Math.max(t1.data[i].z, t2.z); + } + } + + public void max(Tuple3fGrid t1, Tuple3fGrid t2) { + for (int i = 0; i < data.length; i++) { + data[i].x = Math.max(t1.data[i].x, t2.data[i].x); + data[i].y = Math.max(t1.data[i].y, t2.data[i].y); + data[i].z = Math.max(t1.data[i].z, t2.data[i].z); + } + } + + public void max(Tuple3fGrid t1, Tuple3fGrid t2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = Math.max(t1.data[i].x, t2.data[i].x); + data[i].y = Math.max(t1.data[i].y, t2.data[i].y); + data[i].z = Math.max(t1.data[i].z, t2.data[i].z); + } + } + + /* + * clamp + */ + + public void clamp(Tuple3fGrid t, Tuple3f min, Tuple3f max) { + for (int i = 0; i < data.length; i++) { + data[i].x = Calc.clamp(t.data[i].x, min.x, max.x); + data[i].y = Calc.clamp(t.data[i].y, min.x, max.y); + data[i].z = Calc.clamp(t.data[i].z, min.x, max.z); + } + } + + public void clamp(Tuple3fGrid t, Tuple3f min, Tuple3f max, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = Calc.clamp(t.data[i].x, min.x, max.x); + data[i].y = Calc.clamp(t.data[i].y, min.x, max.y); + data[i].z = Calc.clamp(t.data[i].z, min.x, max.z); + } + } + + /* + * mix + */ + + public void mix(Tuple3f t1, Tuple3f t2, FloatGrid alpha) { + for (int i = 0; i < data.length; i++) { + data[i].x = Calc.interpolate(t1.x, t2.x, alpha.data[i]); + data[i].y = Calc.interpolate(t1.y, t2.y, alpha.data[i]); + data[i].z = Calc.interpolate(t1.z, t2.z, alpha.data[i]); + } + } + + public void mix(Tuple3f t1, Tuple3f t2, FloatGrid alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = Calc.interpolate(t1.x, t2.x, alpha.data[i]); + data[i].y = Calc.interpolate(t1.y, t2.y, alpha.data[i]); + data[i].z = Calc.interpolate(t1.z, t2.z, alpha.data[i]); + } + } + + public void mix(Tuple3f t1, Tuple3fGrid t2, float alpha) { + for (int i = 0; i < data.length; i++) { + data[i].x = Calc.interpolate(t1.x, t2.data[i].x, alpha); + data[i].y = Calc.interpolate(t1.y, t2.data[i].y, alpha); + data[i].z = Calc.interpolate(t1.z, t2.data[i].z, alpha); + } + } + + public void mix(Tuple3f t1, Tuple3fGrid t2, float alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = Calc.interpolate(t1.x, t2.data[i].x, alpha); + data[i].y = Calc.interpolate(t1.y, t2.data[i].y, alpha); + data[i].z = Calc.interpolate(t1.z, t2.data[i].z, alpha); + } + } + + public void mix(Tuple3f t1, Tuple3fGrid t2, FloatGrid alpha) { + for (int i = 0; i < data.length; i++) { + data[i].x = Calc.interpolate(t1.x, t2.data[i].x, alpha.data[i]); + data[i].y = Calc.interpolate(t1.y, t2.data[i].y, alpha.data[i]); + data[i].z = Calc.interpolate(t1.z, t2.data[i].z, alpha.data[i]); + } + } + + public void mix(Tuple3f t1, Tuple3fGrid t2, FloatGrid alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = Calc.interpolate(t1.x, t2.data[i].x, alpha.data[i]); + data[i].y = Calc.interpolate(t1.y, t2.data[i].y, alpha.data[i]); + data[i].z = Calc.interpolate(t1.z, t2.data[i].z, alpha.data[i]); + } + } + + public void mix(Tuple3fGrid t1, Tuple3f t2, float alpha) { + for (int i = 0; i < data.length; i++) { + data[i].x = Calc.interpolate(t1.data[i].x, t2.x, alpha); + data[i].y = Calc.interpolate(t1.data[i].y, t2.y, alpha); + data[i].z = Calc.interpolate(t1.data[i].z, t2.z, alpha); + } + } + + public void mix(Tuple3fGrid t1, Tuple3f t2, float alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = Calc.interpolate(t1.data[i].x, t2.x, alpha); + data[i].y = Calc.interpolate(t1.data[i].y, t2.y, alpha); + data[i].z = Calc.interpolate(t1.data[i].z, t2.z, alpha); + } + } + + public void mix(Tuple3fGrid t1, Tuple3f t2, FloatGrid alpha) { + for (int i = 0; i < data.length; i++) { + data[i].x = Calc.interpolate(t1.data[i].x, t2.x, alpha.data[i]); + data[i].y = Calc.interpolate(t1.data[i].y, t2.y, alpha.data[i]); + data[i].z = Calc.interpolate(t1.data[i].z, t2.z, alpha.data[i]); + } + } + + public void mix(Tuple3fGrid t1, Tuple3f t2, FloatGrid alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = Calc.interpolate(t1.data[i].x, t2.x, alpha.data[i]); + data[i].y = Calc.interpolate(t1.data[i].y, t2.y, alpha.data[i]); + data[i].z = Calc.interpolate(t1.data[i].z, t2.z, alpha.data[i]); + } + } + + public void mix(Tuple3fGrid t1, Tuple3fGrid t2, float alpha) { + for (int i = 0; i < data.length; i++) { + data[i].x = Calc.interpolate(t1.data[i].x, t2.data[i].x, alpha); + data[i].y = Calc.interpolate(t1.data[i].y, t2.data[i].y, alpha); + data[i].z = Calc.interpolate(t1.data[i].z, t2.data[i].z, alpha); + } + } + + public void mix(Tuple3fGrid t1, Tuple3fGrid t2, float alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = Calc.interpolate(t1.data[i].x, t2.data[i].x, alpha); + data[i].y = Calc.interpolate(t1.data[i].y, t2.data[i].y, alpha); + data[i].z = Calc.interpolate(t1.data[i].z, t2.data[i].z, alpha); + } + } + + public void mix(Tuple3fGrid t1, Tuple3fGrid t2, FloatGrid alpha) { + for (int i = 0; i < data.length; i++) { + data[i].x = Calc.interpolate(t1.data[i].x, t2.data[i].x, alpha.data[i]); + data[i].y = Calc.interpolate(t1.data[i].y, t2.data[i].y, alpha.data[i]); + data[i].z = Calc.interpolate(t1.data[i].z, t2.data[i].z, alpha.data[i]); + } + } + + public void mix(Tuple3fGrid t1, Tuple3fGrid t2, FloatGrid alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) { + data[i].x = Calc.interpolate(t1.data[i].x, t2.data[i].x, alpha.data[i]); + data[i].y = Calc.interpolate(t1.data[i].y, t2.data[i].y, alpha.data[i]); + data[i].z = Calc.interpolate(t1.data[i].z, t2.data[i].z, alpha.data[i]); + } + } + + /* + * Du + */ + + public void Du(Tuple3fGrid t, FloatGrid du) { + for (int i = 0; i < data.length; i += uSize) { + for (int j = 0; j < uSize; j++) { + data[i + j].sub(t.data[i + j + 1], t.data[i + j]); + data[i + j].scale(1f / du.data[i + j]); + } + data[i + uSize - 1].sub(t.data[i + uSize - 1], t.data[i + uSize - 2]); + data[i + uSize - 1].scale(1f / du.data[i + uSize - 1]); + } + } + + public void Du(Tuple3fGrid t, FloatGrid du, BooleanGrid cond) { + for (int i = 0; i < data.length; i += uSize) { + for (int j = 0; j < uSize; j++) + if (cond.data[i + j]) { + data[i + j].sub(t.data[i + j + 1], t.data[i + j]); + data[i + j].scale(1f / du.data[i + j]); + } + if (cond.data[i + uSize - 1]) { + data[i + uSize - 1].sub(t.data[i + uSize - 1], t.data[i + uSize - 2]); + data[i + uSize - 1].scale(1f / du.data[i + uSize - 1]); + } + } + } + + /* + * Dv + */ + + public void Dv(Tuple3fGrid t, FloatGrid dv) { + for (int i = 0; i < data.length - uSize; i += uSize) + for (int j = 0; j < uSize; j++) { + data[i + j].sub(t.data[i + j + uSize], t.data[i + j]); + data[i + j].scale(1f / dv.data[i + j]); + } + for (int i = data.length - uSize; i < data.length; i++) { + data[i].sub(t.data[i], t.data[i - uSize]); + data[i].scale(1f / dv.data[i]); + } + } + + public void Dv(Tuple3fGrid t, FloatGrid dv, BooleanGrid cond) { + for (int i = 0; i < data.length - uSize; i += uSize) + for (int j = 0; j < uSize; j++) + if (cond.data[i + j]) { + data[i + j].sub(t.data[i + j + uSize], t.data[i + j]); + data[i + j].scale(1f / dv.data[i + j]); + } + for (int i = data.length - uSize; i < data.length; i++) + if (cond.data[i]) { + data[i].sub(t.data[i], t.data[i - uSize]); + data[i].scale(1f / dv.data[i]); + } + } + + /* + * random + */ + + public void random() { + for (int i = 0; i < data.length; i++) + data[i].set((float) Math.random(), (float) Math.random(), (float) Math.random()); + } + + public void random(BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].set( + (float) Math.random(), + (float) Math.random(), + (float) Math.random()); + } + + /* + * noise + */ + + // TODO implement Tuple3f noise + + /* + * pnoise + */ + + // TODO implement Tuple3f pnoise + + /* + * cellnoise + */ + + // TODO implement Tuple3f cellnoise + + /* + * setxcomp + */ + + public void setxcomp(float x) { + for (int i = 0; i < data.length; i++) + data[i].x = x; + } + + public void setxcomp(float x, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].x = x; + } + + public void setxcomp(FloatGrid x) { + for (int i = 0; i < data.length; i++) + data[i].x = x.data[i]; + } + + public void setxcomp(FloatGrid x, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].x = x.data[i]; + } + + /* + * setycomp + */ + + public void setycomp(float y) { + for (int i = 0; i < data.length; i++) + data[i].y = y; + } + + public void setycomp(float y, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].y = y; + } + + public void setycomp(FloatGrid y) { + for (int i = 0; i < data.length; i++) + data[i].y = y.data[i]; + } + + public void setycomp(FloatGrid y, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].y = y.data[i]; + } + + /* + * setzcomp + */ + + public void setzcomp(float z) { + for (int i = 0; i < data.length; i++) + data[i].z = z; + } + + public void setzcomp(float z, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].z = z; + } + + public void setzcomp(FloatGrid z) { + for (int i = 0; i < data.length; i++) + data[i].z = z.data[i]; + } + + public void setzcomp(FloatGrid z, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i].z = z.data[i]; + } + + /* + * dummy + */ + + void dummy() { + // TODO remove dummy method } |
From: <ma...@us...> - 2003-04-19 04:57:27
|
Update of /cvsroot/jrman/drafts/src/org/jrman/grid In directory sc8-pr-cvs1:/tmp/cvs-serv15533/src/org/jrman/grid Modified Files: FloatGrid.java Added Files: Vector3fGrid.java Log Message: Finished implementing FloatGrid (for now). --- NEW FILE: Vector3fGrid.java --- /* Vector3fGrid.java Copyright (C) 2003 Gerardo Horvilleur Martinez This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.jrman.grid; import javax.vecmath.Vector3f; public class Vector3fGrid extends Tuple3fGrid { public Vector3fGrid(int uSize, int vSize) { this.uSize = uSize; this.vSize = vSize; data = new Vector3f[uSize * vSize]; for (int i = 0; i < data.length; i++) data[i] = new Vector3f(); } } Index: FloatGrid.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/grid/FloatGrid.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** FloatGrid.java 18 Apr 2003 22:52:12 -0000 1.1 --- FloatGrid.java 19 Apr 2003 04:57:23 -0000 1.2 *************** *** 20,23 **** --- 20,27 ---- package org.jrman.grid; + import javax.vecmath.Point3f; + import javax.vecmath.Vector3f; + + import org.jrman.geom.Transform; import org.jrman.util.Calc; *************** *** 348,360 **** /* ! * atan2 */ ! public void atan2(FloatGrid f1, float f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.atan2(f1.data[i], f2); } ! public void atan2(FloatGrid f1, float f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) --- 352,364 ---- /* ! * atan (2 args) */ ! public void atan(FloatGrid f1, float f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.atan2(f1.data[i], f2); } ! public void atan(FloatGrid f1, float f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) *************** *** 362,371 **** } ! public void atan2(float f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.atan2(f1, f2.data[i]); } ! public void atan2(float f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) --- 366,375 ---- } ! public void atan(float f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.atan2(f1, f2.data[i]); } ! public void atan(float f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) *************** *** 373,382 **** } ! public void atan2(FloatGrid f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.atan2(f1.data[i], f2.data[i]); } ! public void atan2(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) --- 377,386 ---- } ! public void atan(FloatGrid f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.atan2(f1.data[i], f2.data[i]); } ! public void atan(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) *************** *** 635,638 **** --- 639,1155 ---- * mix */ + + public void mix(float f1, float f2, FloatGrid alpha) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.interpolate(f1, f2, alpha.data[i]); + } + + public void mix(float f1, float f2, FloatGrid alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.interpolate(f1, f2, alpha.data[i]); + } + + public void mix(float f1, FloatGrid f2, float alpha) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.interpolate(f1, f2.data[i], alpha); + } + + public void mix(float f1, FloatGrid f2, float alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.interpolate(f1, f2.data[i], alpha); + } + + public void mix(float f1, FloatGrid f2, FloatGrid alpha) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.interpolate(f1, f2.data[i], alpha.data[i]); + } + + public void mix(float f1, FloatGrid f2, FloatGrid alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.interpolate(f1, f2.data[i], alpha.data[i]); + } + + public void mix(FloatGrid f1, float f2, float alpha) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.interpolate(f1.data[i], f2, alpha); + } + + public void mix(FloatGrid f1, float f2, float alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.interpolate(f1.data[i], f2, alpha); + } + + public void mix(FloatGrid f1, float f2, FloatGrid alpha) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.interpolate(f1.data[i], f2, alpha.data[i]); + } + + public void mix(FloatGrid f1, float f2, FloatGrid alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.interpolate(f1.data[i], f2, alpha.data[i]); + } + + public void mix(FloatGrid f1, FloatGrid f2, float alpha) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.interpolate(f1.data[i], f2.data[i], alpha); + } + + public void mix(FloatGrid f1, FloatGrid f2, float alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.interpolate(f1.data[i], f2.data[i], alpha); + } + + public void mix(FloatGrid f1, FloatGrid f2, FloatGrid alpha) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.interpolate(f1.data[i], f2.data[i], alpha.data[i]); + } + + public void mix(FloatGrid f1, FloatGrid f2, FloatGrid alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.interpolate(f1.data[i], f2.data[i], alpha.data[i]); + } + + /* + * floor + */ + + public void floor(FloatGrid f) { + for (int i = 0; i < data.length; i++) + data[i] = (float) Math.floor(f.data[i]); + } + + public void floor(FloatGrid f, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (float) Math.floor(f.data[i]); + } + + /* + * ceil + */ + + public void ceil(FloatGrid f) { + for (int i = 0; i < data.length; i++) + data[i] = (float) Math.ceil(f.data[i]); + } + + public void ceil(FloatGrid f, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (float) Math.ceil(f.data[i]); + } + + /* + * round + */ + + public void round(FloatGrid f) { + for (int i = 0; i < data.length; i++) + data[i] = Math.round(f.data[i]); + } + + public void round(FloatGrid f, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Math.round(f.data[i]); + } + + /* + * step + */ + + public void step(FloatGrid f1, float f2) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.step(f1.data[i], f2); + } + + public void step(FloatGrid f1, float f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.step(f1.data[i], f2); + } + + public void step(float f1, FloatGrid f2) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.step(f1, f2.data[i]); + } + + public void step(float f1, FloatGrid f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.step(f1, f2.data[i]); + } + + public void step(FloatGrid f1, FloatGrid f2) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.step(f1.data[i], f2.data[i]); + } + + public void step(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.step(f1.data[i], f2.data[i]); + } + + /* + * smoothstep + */ + + public void smoothstep(float f1, float f2, FloatGrid alpha) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.smoothstep(f1, f2, alpha.data[i]); + } + + public void smoothstep(float f1, float f2, FloatGrid alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.smoothstep(f1, f2, alpha.data[i]); + } + + public void smoothstep(float f1, FloatGrid f2, float alpha) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.smoothstep(f1, f2.data[i], alpha); + } + + public void smoothstep(float f1, FloatGrid f2, float alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.smoothstep(f1, f2.data[i], alpha); + } + + public void smoothstep(float f1, FloatGrid f2, FloatGrid alpha) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.smoothstep(f1, f2.data[i], alpha.data[i]); + } + + public void smoothstep(float f1, FloatGrid f2, FloatGrid alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.smoothstep(f1, f2.data[i], alpha.data[i]); + } + + public void smoothstep(FloatGrid f1, float f2, float alpha) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.smoothstep(f1.data[i], f2, alpha); + } + + public void smoothstep(FloatGrid f1, float f2, float alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.smoothstep(f1.data[i], f2, alpha); + } + + public void smoothstep(FloatGrid f1, float f2, FloatGrid alpha) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.smoothstep(f1.data[i], f2, alpha.data[i]); + } + + public void smoothstep(FloatGrid f1, float f2, FloatGrid alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.smoothstep(f1.data[i], f2, alpha.data[i]); + } + + public void smoothstep(FloatGrid f1, FloatGrid f2, float alpha) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.smoothstep(f1.data[i], f2.data[i], alpha); + } + + public void smoothstep(FloatGrid f1, FloatGrid f2, float alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.smoothstep(f1.data[i], f2.data[i], alpha); + } + + public void smoothstep(FloatGrid f1, FloatGrid f2, FloatGrid alpha) { + for (int i = 0; i < data.length; i++) + data[i] = Calc.smoothstep(f1.data[i], f2.data[i], alpha.data[i]); + } + + public void smoothstep(FloatGrid f1, FloatGrid f2, FloatGrid alpha, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.smoothstep(f1.data[i], f2.data[i], alpha.data[i]); + } + + /* + * filterstep + */ + + // TODO implement float filterstep + + /* + * spline + */ + + // TODO implement float spline + + /* + * Du + */ + + public void du(FloatGrid u) { + for (int i = 0; i < data.length; i += uSize) { + for (int j = 0; j < uSize - 1; j++) + data[i + j] = u.data[i + j + 1] - u.data[i + j]; + data[i + uSize - 1] = u.data[i + uSize - 1] - u.data[i + uSize - 2]; + } + } + + public void Du(FloatGrid f1, FloatGrid du) { + for (int i = 0; i < data.length; i += uSize) { + for (int j = 0; j < uSize - 1; j++) + data[i + j] = (f1.data[i + j + 1] - f1.data[i + j]) / du.data[i + j]; + data[i + uSize - 1] = + (f1.data[i + uSize - 1] - f1.data[i + uSize - 2]) / du.data[i + uSize - 1]; + } + } + + public void Du(FloatGrid f1, FloatGrid du, BooleanGrid cond) { + for (int i = 0; i < data.length; i += uSize) { + for (int j = 0; j < uSize - 1; j++) + if (cond.data[i + j]) + data[i + j] = (f1.data[i + j + 1] - f1.data[i + j]) / du.data[i + j]; + if (cond.data[i + uSize - 1]) + data[i + uSize - 1] = + (f1.data[i + uSize - 1] - f1.data[i + uSize - 2]) / du.data[i + uSize - 1]; + } + } + + /* + * Dv + */ + + public void dv(FloatGrid v) { + for (int i = 0; i < data.length - uSize; i += uSize) + for (int j = 0; j < uSize; j++) + data[i + j] = v.data[i + j + uSize] - v.data[i + j]; + for (int i = data.length - uSize; i < data.length; i++) + data[i] = v.data[i] - v.data[i - uSize]; + } + + public void Dv(FloatGrid f1, FloatGrid dv) { + for (int i = 0; i < data.length - uSize; i += uSize) + for (int j = 0; j < uSize; j++) + data[i + j] = (f1.data[i + j + uSize] - f1.data[i + j]) / dv.data[i + j]; + for (int i = data.length - uSize; i < data.length; i++) + data[i] = (f1.data[i] - f1.data[i - uSize]) / dv.data[i]; + } + + public void Dv(FloatGrid f1, FloatGrid dv, BooleanGrid cond) { + for (int i = 0; i < data.length - uSize; i += uSize) + for (int j = 0; j < uSize; j++) + if (cond.data[i + j]) + data[i + j] = (f1.data[i + j + uSize] - f1.data[i + j]) / dv.data[i + j]; + for (int i = data.length - uSize; i < data.length; i++) + if (cond.data[i]) + data[i] = (f1.data[i] - f1.data[i - uSize]) / dv.data[i]; + } + + /* + * random + */ + + public void random() { + for (int i = 0; i < data.length; i++) + data[i] = (float) Math.random(); + } + + public void random(BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = (float) Math.random(); + } + + /* + * noise + */ + + // TODO implement float noise + + /* + * pnoise + */ + + // TODO implement float pnoise + + /* + * noise + */ + + // TODO implement float cellnoise + + /* + * ycomp + */ + + public void ycomp(Tuple3fGrid t) { + for (int i = 0; i < data.length; i++) + data[i] = t.data[i].y; + } + + public void ycomp(Tuple3fGrid t, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = t.data[i].y; + } + + /* + * zcomp + */ + + public void xcomp(Tuple3fGrid t) { + for (int i = 0; i < data.length; i++) + data[i] = t.data[i].z; + } + + public void xcomp(Tuple3fGrid t, BooleanGrid cond) { + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = t.data[i].z; + } + + /* + * length + */ + + public void length(Vector3fGrid v) { + Vector3f[] vdata = (Vector3f[]) v.data; + for (int i = 0; i < data.length; i++) + data[i] = vdata[i].length(); + } + + public void length(Vector3fGrid v, BooleanGrid cond) { + Vector3f[] vdata = (Vector3f[]) v.data; + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = vdata[i].length(); + } + + /* + * distance + */ + + public void distance(Point3fGrid p1, Point3f p2) { + Point3f[] p1data = (Point3f[]) p1.data; + for (int i = 0; i < data.length; i++) + data[i] = p1data[i].distance(p2); + } + + public void distance(Point3fGrid p1, Point3f p2, BooleanGrid cond) { + Point3f[] p1data = (Point3f[]) p1.data; + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = p1data[i].distance(p2); + } + + public void distance(Point3fGrid p1, Point3fGrid p2) { + Point3f[] p1data = (Point3f[]) p1.data; + Point3f[] p2data = (Point3f[]) p2.data; + for (int i = 0; i < data.length; i++) + data[i] = p1data[i].distance(p2data[i]); + } + + public void distance(Point3fGrid p1, Point3fGrid p2, BooleanGrid cond) { + Point3f[] p1data = (Point3f[]) p1.data; + Point3f[] p2data = (Point3f[]) p2.data; + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = p1data[i].distance(p2data[i]); + } + + /* + * ptlined + */ + + // TODO implement ptlined + + /* + * area + */ + + public void area(Point3fGrid p) { + Point3f[] pdata = (Point3f[]) p.data; + Vector3f uv = new Vector3f(); + Vector3f vv = new Vector3f(); + Vector3f ucrossv = new Vector3f(); + for (int i = 0; i < data.length - uSize; i += uSize) { + for (int j = 0; j < uSize - 1; j++) { + uv.sub(pdata[i + j + 1], pdata[i + j]); + vv.sub(pdata[i + j + uSize], pdata[i + j]); + ucrossv.cross(uv, vv); + data[i + j] = ucrossv.length(); + } + data[i + uSize - 1] = data[i + uSize - 2]; + } + for (int i = data.length - uSize; i < data.length; i++) + data[i] = data[i - uSize]; + } + + public void area(Point3fGrid p, BooleanGrid cond) { + Point3f[] pdata = (Point3f[]) p.data; + Vector3f uv = new Vector3f(); + Vector3f vv = new Vector3f(); + Vector3f ucrossv = new Vector3f(); + for (int i = 0; i < data.length - uSize; i += uSize) { + for (int j = 0; j < uSize - 1; j++) + if (cond.data[i + j]) { + uv.sub(pdata[i + j + 1], pdata[i + j]); + vv.sub(pdata[i + j + uSize], pdata[i + j]); + ucrossv.cross(uv, vv); + data[i + j] = ucrossv.length(); + } + if (cond.data[i + uSize - 1]) { + uv.sub(pdata[i + uSize - 1], pdata[i + uSize - 2]); + vv.sub(pdata[i + uSize - 2 + uSize], pdata[i + uSize - 2]); + ucrossv.cross(uv, vv); + data[i + uSize - 1] = ucrossv.length(); + } + } + for (int i = data.length - uSize; i < data.length - 1; i++) + if (cond.data[i]) { + uv.sub(pdata[i - uSize + 1], pdata[i - uSize]); + vv.sub(pdata[i], pdata[i - uSize]); + ucrossv.cross(uv, vv); + data[i] = ucrossv.length(); + } + if (cond.data[data.length - 1]) { + uv.sub(pdata[data.length - uSize - 1], pdata[data.length - uSize - 2]); + vv.sub(pdata[data.length - 2], pdata[data.length - uSize - 2]); + ucrossv.cross(uv, vv); + data[data.length - 1] = ucrossv.length(); + } + } + + /* + * depth + */ + + public void depth(Point3fGrid p, Transform toCamera, float near, float far) { + Point3f[] pdata = (Point3f[]) p.data; + Point3f tmp = new Point3f(); + for (int i = 0; i < data.length; i++) + data[i] = Calc.depth(pdata[i], toCamera, near, far, tmp); + } + + public void depth( + Point3fGrid p, + Transform toCamera, + float near, + float far, + BooleanGrid cond) { + Point3f[] pdata = (Point3f[]) p.data; + Point3f tmp = new Point3f(); + for (int i = 0; i < data.length; i++) + if (cond.data[i]) + data[i] = Calc.depth(pdata[i], toCamera, near, far, tmp); + } } |
From: <ma...@us...> - 2003-04-19 04:57:27
|
Update of /cvsroot/jrman/drafts/src/org/jrman/util In directory sc8-pr-cvs1:/tmp/cvs-serv15533/src/org/jrman/util Modified Files: Calc.java Log Message: Finished implementing FloatGrid (for now). Index: Calc.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/util/Calc.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Calc.java 18 Apr 2003 22:52:13 -0000 1.4 --- Calc.java 19 Apr 2003 04:57:23 -0000 1.5 *************** *** 26,29 **** --- 26,31 ---- import javax.vecmath.Vector3f; + import org.jrman.geom.Transform; + public class Calc { *************** *** 47,52 **** --- 49,79 ---- } + public static float step(float min, float value) { + if (value < min) + return 0f; + return 1f; + } + + public static float smoothstep(float min, float max, float value) { + if (value < min) + return 0f; + if (value >= max) + return 1f; + value = ( value - min) / (max - min); + return value * value * (3 - 2 * value); + } + public static float clamp(float v, float min, float max) { return Math.min(Math.max(v, min), max); + } + + public static float depth(Point3f p, Transform toCamera, float near, float far, Point3f tmp) { + toCamera.transformPoint(p, tmp); + return (tmp.z - near) / (far - near); + } + + public static float depth(Point3f p, Transform toCamera, float near, float far) { + Point3f tmp = new Point3f(); + return depth(p, toCamera, near, far, tmp); } |
From: <ma...@us...> - 2003-04-18 22:52:16
|
Update of /cvsroot/jrman/drafts/src/org/jrman/util In directory sc8-pr-cvs1:/tmp/cvs-serv13452/src/org/jrman/util Modified Files: Calc.java Log Message: Restarted implementing grid ops.... Index: Calc.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/util/Calc.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Calc.java 15 Apr 2003 10:15:15 -0000 1.3 --- Calc.java 18 Apr 2003 22:52:13 -0000 1.4 *************** *** 35,38 **** --- 35,50 ---- } + public static float log(float x, float base) { + return (float) (Math.log(x) / Math.log(base)); + } + + public static float sign(float x) { + if (x < 0) + return -1f; + else if (x > 0) + return 1f; + return 0f; + } + public static float clamp(float v, float min, float max) { return Math.min(Math.max(v, min), max); |
From: <ma...@us...> - 2003-04-18 22:52:16
|
Update of /cvsroot/jrman/drafts/eclipse-config In directory sc8-pr-cvs1:/tmp/cvs-serv13452/eclipse-config Modified Files: templates.xml Log Message: Restarted implementing grid ops.... Index: templates.xml =================================================================== RCS file: /cvsroot/jrman/drafts/eclipse-config/templates.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** templates.xml 18 Apr 2003 04:51:36 -0000 1.1 --- templates.xml 18 Apr 2003 22:52:13 -0000 1.2 *************** *** 61,95 **** }</template><template name="test" description="test method" context="java" enabled="true">public void test${name}() { ${cursor} ! }</template><template name="systrace" description="print current method to standard out" context="java" enabled="true">System.out.println("${enclosing_type}.${enclosing_method}()");</template><template name="for" description="Grid modifying for" context="java" enabled="true">public void ${op}(${type} ${param}) { ! for (int i = 0; i < data.length; i++) { ! data[i].${op}(${param}.data[i]); ! } ! }</template><template name="for" description="Grid non modifying for" context="java" enabled="true">public void ${op}(${type} ${param}, ${type} ${out}) { ! for (int i = 0; i < data.length; i++) { ! ${out}.data[i].${op}(${param}.data[i], data[i]); ! } ! }</template><template name="for" description="Grid modifying for special op" context="java" enabled="true">public void ${op}(${type} ${param}) { ! for (int i = 0; i < data.length; i++) { ! data[i].x ${oper} ${param}.data[i].x; ! data[i].y ${oper} ${param}.data[i].y; ! data[i].z ${oper} ${param}.data[i].z; ! } ! }</template><template name="for" description="Grid non modifying for special op" context="java" enabled="true">public void ${op}(${type} ${param}, ${type} ${out}) { ! for (int i = 0; i < data.length; i++) { ! ${out}.data[i].x = data[i].x ${oper} ${param}.data[i].x; ! ${out}.data[i].y = data[i].y ${oper} ${param}.data[i].y; ! ${out}.data[i].z = data[i].z ${oper} ${param}.data[i].z; ! } ! }</template><template name="for" description="Grid modifying fun 2 args" context="java" enabled="true">public void ${op}(${type} ${param}) { ! for (int i = 0; i < data.length; i++) { ! data[i].x = ${fun}(data[i].x, ${param}.data[i].x); ! data[i].y = ${fun}(data[i].y, ${param}.data[i].y); ! data[i].z = ${fun}(data[i].z, ${param}.data[i].z); ! } ! }</template><template name="for" description="Grid non modifying for fun 2 args" context="java" enabled="true">public void ${op}(${type} ${param}, ${type} ${out}) { ! for (int i = 0; i < data.length; i++) { ! ${out}.data[i].x = ${fun}(data[i].x, ${param}.data[i].x); ! ${out}.data[i].y = ${fun}(data[i].y, ${param}.data[i].y); ! ${out}.data[i].z = ${fun}(data[i].z, ${param}.data[i].z); ! } ! }</template></templates> \ No newline at end of file --- 61,64 ---- }</template><template name="test" description="test method" context="java" enabled="true">public void test${name}() { ${cursor} ! }</template><template name="systrace" description="print current method to standard out" context="java" enabled="true">System.out.println("${enclosing_type}.${enclosing_method}()");</template><template name="for" description="Grid for" context="java" enabled="true">for (int i = 0; i < data.length; i++)</template><template name="for" description="Grid conditional for" context="java" enabled="true">for (int i = 0; i < data.length; i++) ! if (cond.data[i])</template></templates> \ No newline at end of file |
From: <ma...@us...> - 2003-04-18 22:52:16
|
Update of /cvsroot/jrman/drafts/src/org/jrman/grid In directory sc8-pr-cvs1:/tmp/cvs-serv13452/src/org/jrman/grid Modified Files: Point3fGrid.java Added Files: BooleanGrid.java FloatGrid.java Tuple3fGrid.java Log Message: Restarted implementing grid ops.... --- NEW FILE: BooleanGrid.java --- /* BooleanGrid.java Copyright (C) 2003 Gerardo Horvilleur Martinez This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.jrman.grid; public class BooleanGrid { protected int uSize; protected int vSize; public boolean[] data; public BooleanGrid(int uSize, int vSize) { this.uSize = uSize; this.vSize = vSize; data = new boolean[uSize * vSize]; } public int getUSize() { return uSize; } public int getVSize() { return vSize; } public boolean get(int i) { return data[i]; } public void set(int i, boolean in) { data[i] = in; } public boolean get(int u, int v) { return get(v * uSize + u); } public void set(int u, int v, boolean in) { set(v * uSize + u, in); } } --- NEW FILE: FloatGrid.java --- /* FloatGrid.java Copyright (C) 2003 Gerardo Horvilleur Martinez This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.jrman.grid; import org.jrman.util.Calc; public class FloatGrid { protected int uSize; protected int vSize; public float[] data; public FloatGrid(int uSize, int vSize) { this.uSize = uSize; this.vSize = vSize; data = new float[uSize * vSize]; } public int getUSize() { return uSize; } public int getVSize() { return vSize; } public float get(int i) { return data[i]; } public void set(int i, float in) { data[i] = in; } public float get(int u, int v) { return get(v * uSize + u); } public void set(int u, int v, float in) { set(v * uSize + u, in); } /* * set */ public void set(float f) { for (int i = 0; i < data.length; i++) data[i] = f; } public void set(float f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = f; } public void set(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = f.data[i]; } public void set(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = f.data[i]; } /* * negate */ public void negate(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = -f.data[i]; } public void negate(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = -f.data[i]; } /* * add */ public void add(FloatGrid f1, float f2) { for (int i = 0; i < data.length; i++) data[i] = f1.data[i] + f2; } public void add(FloatGrid f1, float f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = f1.data[i] + f2; } public void add(FloatGrid f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = f1.data[i] + f2.data[i]; } public void add(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = f1.data[i] + f2.data[i]; } /* * sub */ public void sub(FloatGrid f1, float f2) { for (int i = 0; i < data.length; i++) data[i] = f1.data[i] - f2; } public void sub(FloatGrid f1, float f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = f1.data[i] - f2; } public void sub(float f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = f1 - f2.data[i]; } public void sub(float f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = f1 - f2.data[i]; } public void sub(FloatGrid f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = f1.data[i] - f2.data[i]; } public void sub(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = f1.data[i] - f2.data[i]; } /* * mul */ public void mul(FloatGrid f1, float f2) { for (int i = 0; i < data.length; i++) data[i] = f1.data[i] * f2; } public void mul(FloatGrid f1, float f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = f1.data[i] * f2; } public void mul(FloatGrid f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = f1.data[i] * f2.data[i]; } public void mul(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = f1.data[i] * f2.data[i]; } /* * div */ public void div(FloatGrid f1, float f2) { for (int i = 0; i < data.length; i++) data[i] = f1.data[i] / f2; } public void div(FloatGrid f1, float f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = f1.data[i] / f2; ; } public void div(float f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = f1 / f2.data[i]; } public void div(float f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = f1 / f2.data[i]; } public void div(FloatGrid f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = f1.data[i] / f2.data[i]; } public void div(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = f1.data[i] / f2.data[i]; } /* * toRadians */ public void toRadians(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.toRadians(f.data[i]); } public void toRadians(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.toRadians(f.data[i]); } /* * toDegrees */ public void toDegrees(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.toDegrees(f.data[i]); } public void toDegrees(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.toDegrees(f.data[i]); } /* * sin */ public void sin(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.sin(f.data[i]); } public void sin(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.sin(f.data[i]); } /* * asin */ public void asin(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.asin(f.data[i]); } public void asin(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.asin(f.data[i]); } /* * cos */ public void cos(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.cos(f.data[i]); } public void cos(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.cos(f.data[i]); } /* * acos */ public void acos(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.acos(f.data[i]); } public void acos(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.acos(f.data[i]); } /* * tan */ public void tan(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.tan(f.data[i]); } public void tan(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.tan(f.data[i]); } /* * atan */ public void atan(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.atan(f.data[i]); } public void atan(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.atan(f.data[i]); } /* * atan2 */ public void atan2(FloatGrid f1, float f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.atan2(f1.data[i], f2); } public void atan2(FloatGrid f1, float f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.atan2(f1.data[i], f2); } public void atan2(float f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.atan2(f1, f2.data[i]); } public void atan2(float f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.atan2(f1, f2.data[i]); } public void atan2(FloatGrid f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.atan2(f1.data[i], f2.data[i]); } public void atan2(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.atan2(f1.data[i], f2.data[i]); } /* * pow */ public void pow(FloatGrid f1, float f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.pow(f1.data[i], f2); } public void pow(FloatGrid f1, float f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.pow(f1.data[i], f2); } public void pow(float f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.pow(f1, f2.data[i]); } public void pow(float f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.pow(f1, f2.data[i]); } public void pow(FloatGrid f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.pow(f1.data[i], f2.data[i]); } public void pow(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.pow(f1.data[i], f2.data[i]); } /* * exp */ public void exp(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.exp(f.data[i]); } public void exp(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.exp(f.data[i]); } /* * sqrt */ public void sqrt(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.sqrt(f.data[i]); } public void sqrt(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.sqrt(f.data[i]); } /* * isqrt */ public void isqrt(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = 1f / (float) Math.sqrt(f.data[i]); } public void isqrt(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = 1f / (float) Math.sqrt(f.data[i]); } /* * log */ public void log(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.log(f.data[i]); } public void log(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.log(f.data[i]); } /* * log base */ public void log(FloatGrid f, float base) { double baseLog = Math.log(base); for (int i = 0; i < data.length; i++) data[i] = (float) (Math.log(f.data[i]) / baseLog); } public void log(FloatGrid f, float base, BooleanGrid cond) { double baseLog = Math.log(base); for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) (Math.log(f.data[i]) / baseLog); } /* * mod */ public void mod(FloatGrid f1, float f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.IEEEremainder(f1.data[i], f2); } public void mod(FloatGrid f1, float f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.IEEEremainder(f1.data[i], f2); } public void mod(float f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.IEEEremainder(f1, f2.data[i]); } public void mod(float f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.IEEEremainder(f1, f2.data[i]); } public void mod(FloatGrid f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.IEEEremainder(f1.data[i], f2.data[i]); } public void mod(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.IEEEremainder(f1.data[i], f2.data[i]); } /* * abs */ public void abs(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.abs(f.data[i]); } public void abs(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.abs(f.data[i]); } /* * sign */ public void sign(FloatGrid f) { for (int i = 0; i < data.length; i++) data[i] = (float) Calc.sign(f.data[i]); } public void sign(FloatGrid f, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Calc.sign(f.data[i]); } /* * min */ public void min(FloatGrid f1, float f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.min(f1.data[i], f2); } public void min(FloatGrid f1, float f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.min(f1.data[i], f2); } public void min(FloatGrid f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.min(f1.data[i], f2.data[i]); } public void min(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.min(f1.data[i], f2.data[i]); } /* * max */ public void max(FloatGrid f1, float f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.max(f1.data[i], f2); } public void max(FloatGrid f1, float f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.max(f1.data[i], f2); } public void max(FloatGrid f1, FloatGrid f2) { for (int i = 0; i < data.length; i++) data[i] = (float) Math.max(f1.data[i], f2.data[i]); } public void max(FloatGrid f1, FloatGrid f2, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = (float) Math.max(f1.data[i], f2.data[i]); } /* * clamp */ public void clamp(FloatGrid f, float min, float max) { for (int i = 0; i < data.length; i++) data[i] = Calc.clamp(f.data[i], min, max); } public void clamp(FloatGrid f, float min, float max, BooleanGrid cond) { for (int i = 0; i < data.length; i++) if (cond.data[i]) data[i] = Calc.clamp(f.data[i], min, max); } /* * mix */ } --- NEW FILE: Tuple3fGrid.java --- /* Tuple3fGrid.java Copyright (C) 2003 Gerardo Horvilleur Martinez This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.jrman.grid; import javax.vecmath.Tuple3f; public class Tuple3fGrid { protected int uSize; protected int vSize; public Tuple3f[] data; protected Tuple3fGrid() { } public int getUSize() { return uSize; } public int getVSize() { return vSize; } public void get(int i, Tuple3f out) { out.set(data[i]); } public void set(int i, Tuple3f in) { data[i].set(in); } public void get(int u, int v, Tuple3f out) { get(v * uSize + u, out); } public void set(int u, int v, Tuple3f in) { set(v * uSize + u, in); } public void set(Tuple3f in) { for (int i = 0; i < data.length; i++) { data[i].set(in); } } } Index: Point3fGrid.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/grid/Point3fGrid.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Point3fGrid.java 18 Apr 2003 04:51:36 -0000 1.1 --- Point3fGrid.java 18 Apr 2003 22:52:13 -0000 1.2 *************** *** 21,193 **** import javax.vecmath.Point3f; - import javax.vecmath.Tuple3f; - - import org.jrman.util.Calc; ! public class Point3fGrid { ! ! final int uSize; ! ! final int vSize; ! ! final public Point3f[] data; ! public Point3fGrid(int uSize, int vSize) { this.uSize = uSize; this.vSize = vSize; data = new Point3f[uSize * vSize]; - } - - public int getUSize() { - return uSize; - } - - public int getVSize() { - return vSize; - } - - public void get(int i, Tuple3f out) { - out.set(data[i]); - } - - public void set(int i, Tuple3f in) { - data[i].set(in); - } - - public void get(int u, int v, Tuple3f out) { - get(v * uSize + u, out); - } - - public void set(int u, int v, Tuple3f in) { - set(v * uSize + u, in); - } - - public void set(Point3fGrid pg) { for (int i = 0; i < data.length; i++) ! data[i].set(pg.data[i]); ! } ! ! public void negate() { ! for (int i = 0; i < data.length; i++) ! data[i].negate(); ! } ! ! public void negate(Point3fGrid out) { ! for (int i = 0; i < data.length; i++) ! data[i].negate(out.data[i]); ! } ! ! public void add(Point3fGrid pg) { ! for (int i = 0; i < data.length; i++) ! data[i].add(pg.data[i]); ! } ! ! public void add(Point3fGrid pg, Point3fGrid out) { ! for (int i = 0; i < data.length; i++) ! out.data[i].add(pg.data[i], data[i]); ! } ! ! public void sub(Point3fGrid pg) { ! for (int i = 0; i < data.length; i++) { ! data[i].sub(pg.data[i]); ! } ! } ! ! public void sub(Point3fGrid pg, Point3fGrid out) { ! for (int i = 0; i < data.length; i++) { ! out.data[i].sub(pg.data[i], data[i]); ! } ! } ! ! public void mul(Point3fGrid pg) { ! for (int i = 0; i < data.length; i++) { ! data[i].x *= pg.data[i].x; ! data[i].y *= pg.data[i].y; ! data[i].z *= pg.data[i].z; ! } ! } ! ! public void mul(Point3fGrid pg, Point3fGrid out) { ! for (int i = 0; i < data.length; i++) { ! out.data[i].x = data[i].x * pg.data[i].x; ! out.data[i].y = data[i].y * pg.data[i].y; ! out.data[i].z = data[i].z * pg.data[i].z; ! } ! } ! ! public void div(Point3fGrid pg) { ! for (int i = 0; i < data.length; i++) { ! data[i].x /= pg.data[i].x; ! data[i].y /= pg.data[i].y; ! data[i].z /= pg.data[i].z; ! } ! } ! ! public void div(Point3fGrid pg, Point3fGrid out) { ! for (int i = 0; i < data.length; i++) { ! out.data[i].x = data[i].x / pg.data[i].x; ! out.data[i].y = data[i].y / pg.data[i].y; ! out.data[i].z = data[i].z / pg.data[i].z; ! } ! } ! ! public void min(Point3fGrid pg) { ! for (int i = 0; i < data.length; i++) { ! data[i].x = Math.min(data[i].x, pg.data[i].x); ! data[i].y = Math.min(data[i].y, pg.data[i].y); ! data[i].z = Math.min(data[i].z, pg.data[i].z); ! } ! } ! ! public void min(Point3fGrid pg, Point3fGrid out) { ! for (int i = 0; i < data.length; i++) { ! out.data[i].x = Math.min(data[i].x, pg.data[i].x); ! out.data[i].y = Math.min(data[i].y, pg.data[i].y); ! out.data[i].z = Math.min(data[i].z, pg.data[i].z); ! } ! } ! ! public void max(Point3fGrid pg) { ! for (int i = 0; i < data.length; i++) { ! data[i].x = Math.max(data[i].x, pg.data[i].x); ! data[i].y = Math.max(data[i].y, pg.data[i].y); ! data[i].z = Math.max(data[i].z, pg.data[i].z); ! } ! } ! ! public void max(Point3fGrid pg, Point3fGrid out) { ! for (int i = 0; i < data.length; i++) { ! out.data[i].x = Math.max(data[i].x, pg.data[i].x); ! out.data[i].y = Math.max(data[i].y, pg.data[i].y); ! out.data[i].z = Math.max(data[i].z, pg.data[i].z); ! } ! } ! ! public void clamp(Point3fGrid pg1, Point3fGrid pg2) { ! for (int i = 0; i < data.length; i++) { ! data[i].x = Calc.clamp(data[i].x, pg1.data[i].x, pg2.data[i].x); ! data[i].y = Calc.clamp(data[i].y, pg1.data[i].y, pg2.data[i].y); ! data[i].z = Calc.clamp(data[i].z, pg1.data[i].z, pg2.data[i].z); ! } ! } ! ! public void clamp(Point3fGrid pg1, Point3fGrid pg2, Point3fGrid out) { ! for (int i = 0; i < data.length; i++) { ! out.data[i].x = Calc.clamp(data[i].x, pg1.data[i].x, pg2.data[i].x); ! out.data[i].y = Calc.clamp(data[i].y, pg1.data[i].y, pg2.data[i].y); ! out.data[i].z = Calc.clamp(data[i].z, pg1.data[i].z, pg2.data[i].z); ! } ! } ! ! public void mix(Point3fGrid pg, float alpha) { ! for (int i = 0; i < data.length; i++) { ! data[i].interpolate(pg.data[i], alpha); ! } ! } ! ! public void mix(Point3fGrid pg, Point3fGrid out, float alpha) { ! for (int i = 0; i < data.length; i++) { ! out.data[i].interpolate(pg.data[i], data[i], alpha); ! } } --- 21,33 ---- import javax.vecmath.Point3f; ! public class Point3fGrid extends Tuple3fGrid { ! public Point3fGrid(int uSize, int vSize) { this.uSize = uSize; this.vSize = vSize; data = new Point3f[uSize * vSize]; for (int i = 0; i < data.length; i++) ! data[i] = new Point3f(); } |
From: <ma...@us...> - 2003-04-18 04:51:40
|
Update of /cvsroot/jrman/drafts/src/org/jrman/primitive In directory sc8-pr-cvs1:/tmp/cvs-serv8058/src/org/jrman/primitive Modified Files: Sphere.java Log Message: Started implementing grid ops. Defined eclipse templates to reduce typing... Index: Sphere.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/primitive/Sphere.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Sphere.java 16 Apr 2003 09:19:33 -0000 1.8 --- Sphere.java 18 Apr 2003 04:51:36 -0000 1.9 *************** *** 76,81 **** r = (float) Math.cos(phiMin) * r; ConvexHull3f ch = new ConvexHull3f(); ! // TODO adjust number according to thetaMax - thetaMin ! float incr = (thetaMax - thetaMin) / 4; for (float angle = thetaMin; angle <= thetaMax; angle += incr) { --- 76,88 ---- r = (float) Math.cos(phiMin) * r; ConvexHull3f ch = new ConvexHull3f(); ! int sides = 4; ! float thetaDelta = thetaMax - thetaMin; ! if (thetaDelta < Math.PI / 4) ! sides = 1; ! else if (thetaDelta < Math.PI / 2) ! sides = 2; ! else if (thetaDelta < Math.PI * 3f / 4) ! sides = 3; ! float incr = thetaDelta / sides; for (float angle = thetaMin; angle <= thetaMax; angle += incr) { |
From: <ma...@us...> - 2003-04-18 04:51:39
|
Update of /cvsroot/jrman/drafts/src/org/jrman/grid In directory sc8-pr-cvs1:/tmp/cvs-serv8058/src/org/jrman/grid Added Files: Point3fGrid.java Log Message: Started implementing grid ops. Defined eclipse templates to reduce typing... --- NEW FILE: Point3fGrid.java --- /* Point3fGrid.java Copyright (C) 2003 Gerardo Horvilleur Martinez This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.jrman.grid; import javax.vecmath.Point3f; import javax.vecmath.Tuple3f; import org.jrman.util.Calc; public class Point3fGrid { final int uSize; final int vSize; final public Point3f[] data; public Point3fGrid(int uSize, int vSize) { this.uSize = uSize; this.vSize = vSize; data = new Point3f[uSize * vSize]; } public int getUSize() { return uSize; } public int getVSize() { return vSize; } public void get(int i, Tuple3f out) { out.set(data[i]); } public void set(int i, Tuple3f in) { data[i].set(in); } public void get(int u, int v, Tuple3f out) { get(v * uSize + u, out); } public void set(int u, int v, Tuple3f in) { set(v * uSize + u, in); } public void set(Point3fGrid pg) { for (int i = 0; i < data.length; i++) data[i].set(pg.data[i]); } public void negate() { for (int i = 0; i < data.length; i++) data[i].negate(); } public void negate(Point3fGrid out) { for (int i = 0; i < data.length; i++) data[i].negate(out.data[i]); } public void add(Point3fGrid pg) { for (int i = 0; i < data.length; i++) data[i].add(pg.data[i]); } public void add(Point3fGrid pg, Point3fGrid out) { for (int i = 0; i < data.length; i++) out.data[i].add(pg.data[i], data[i]); } public void sub(Point3fGrid pg) { for (int i = 0; i < data.length; i++) { data[i].sub(pg.data[i]); } } public void sub(Point3fGrid pg, Point3fGrid out) { for (int i = 0; i < data.length; i++) { out.data[i].sub(pg.data[i], data[i]); } } public void mul(Point3fGrid pg) { for (int i = 0; i < data.length; i++) { data[i].x *= pg.data[i].x; data[i].y *= pg.data[i].y; data[i].z *= pg.data[i].z; } } public void mul(Point3fGrid pg, Point3fGrid out) { for (int i = 0; i < data.length; i++) { out.data[i].x = data[i].x * pg.data[i].x; out.data[i].y = data[i].y * pg.data[i].y; out.data[i].z = data[i].z * pg.data[i].z; } } public void div(Point3fGrid pg) { for (int i = 0; i < data.length; i++) { data[i].x /= pg.data[i].x; data[i].y /= pg.data[i].y; data[i].z /= pg.data[i].z; } } public void div(Point3fGrid pg, Point3fGrid out) { for (int i = 0; i < data.length; i++) { out.data[i].x = data[i].x / pg.data[i].x; out.data[i].y = data[i].y / pg.data[i].y; out.data[i].z = data[i].z / pg.data[i].z; } } public void min(Point3fGrid pg) { for (int i = 0; i < data.length; i++) { data[i].x = Math.min(data[i].x, pg.data[i].x); data[i].y = Math.min(data[i].y, pg.data[i].y); data[i].z = Math.min(data[i].z, pg.data[i].z); } } public void min(Point3fGrid pg, Point3fGrid out) { for (int i = 0; i < data.length; i++) { out.data[i].x = Math.min(data[i].x, pg.data[i].x); out.data[i].y = Math.min(data[i].y, pg.data[i].y); out.data[i].z = Math.min(data[i].z, pg.data[i].z); } } public void max(Point3fGrid pg) { for (int i = 0; i < data.length; i++) { data[i].x = Math.max(data[i].x, pg.data[i].x); data[i].y = Math.max(data[i].y, pg.data[i].y); data[i].z = Math.max(data[i].z, pg.data[i].z); } } public void max(Point3fGrid pg, Point3fGrid out) { for (int i = 0; i < data.length; i++) { out.data[i].x = Math.max(data[i].x, pg.data[i].x); out.data[i].y = Math.max(data[i].y, pg.data[i].y); out.data[i].z = Math.max(data[i].z, pg.data[i].z); } } public void clamp(Point3fGrid pg1, Point3fGrid pg2) { for (int i = 0; i < data.length; i++) { data[i].x = Calc.clamp(data[i].x, pg1.data[i].x, pg2.data[i].x); data[i].y = Calc.clamp(data[i].y, pg1.data[i].y, pg2.data[i].y); data[i].z = Calc.clamp(data[i].z, pg1.data[i].z, pg2.data[i].z); } } public void clamp(Point3fGrid pg1, Point3fGrid pg2, Point3fGrid out) { for (int i = 0; i < data.length; i++) { out.data[i].x = Calc.clamp(data[i].x, pg1.data[i].x, pg2.data[i].x); out.data[i].y = Calc.clamp(data[i].y, pg1.data[i].y, pg2.data[i].y); out.data[i].z = Calc.clamp(data[i].z, pg1.data[i].z, pg2.data[i].z); } } public void mix(Point3fGrid pg, float alpha) { for (int i = 0; i < data.length; i++) { data[i].interpolate(pg.data[i], alpha); } } public void mix(Point3fGrid pg, Point3fGrid out, float alpha) { for (int i = 0; i < data.length; i++) { out.data[i].interpolate(pg.data[i], data[i], alpha); } } } |
From: <ma...@us...> - 2003-04-18 04:51:39
|
Update of /cvsroot/jrman/drafts/src/org/jrman/parser In directory sc8-pr-cvs1:/tmp/cvs-serv8058/src/org/jrman/parser Modified Files: Frame.java Parser.java Log Message: Started implementing grid ops. Defined eclipse templates to reduce typing... Index: Frame.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/Frame.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Frame.java 14 Apr 2003 17:22:37 -0000 1.2 --- Frame.java 18 Apr 2003 04:51:36 -0000 1.3 *************** *** 177,181 **** frameAspectRatio = (horizontalResolution * pixelAspectRatio) / verticalResolution; if (screenWindow == null) { ! float h = (float) Math.tan(Math.PI * fieldOfView / 360f); if (frameAspectRatio >= 1f) screenWindow = --- 177,181 ---- frameAspectRatio = (horizontalResolution * pixelAspectRatio) / verticalResolution; if (screenWindow == null) { ! float h = (float) Math.tan(Math.toRadians(fieldOfView / 2f)); if (frameAspectRatio >= 1f) screenWindow = Index: Parser.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/Parser.java,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** Parser.java 16 Apr 2003 09:19:34 -0000 1.30 --- Parser.java 18 Apr 2003 04:51:36 -0000 1.31 *************** *** 667,671 **** float phiMax = (float) ((zMax >= radius) ? Math.PI / 2 : Math.asin(zMax / radius)); float thetaMin = 0f; ! thetaMax = toRadians(thetaMax); renderer.addPrimitive( new Sphere( --- 667,671 ---- float phiMax = (float) ((zMax >= radius) ? Math.PI / 2 : Math.asin(zMax / radius)); float thetaMin = 0f; ! thetaMax = (float) Math.toRadians(thetaMax); renderer.addPrimitive( new Sphere( *************** *** 677,684 **** parameters, getAttributes())); - } - - private float toRadians(float angle) { - return (float) (angle * Math.PI / 180.0); } --- 677,680 ---- |
From: <ma...@us...> - 2003-04-18 04:51:39
|
Update of /cvsroot/jrman/drafts/src/org/jrman/geom In directory sc8-pr-cvs1:/tmp/cvs-serv8058/src/org/jrman/geom Modified Files: PerspectiveTransform.java Log Message: Started implementing grid ops. Defined eclipse templates to reduce typing... Index: PerspectiveTransform.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/geom/PerspectiveTransform.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** PerspectiveTransform.java 15 Apr 2003 13:07:56 -0000 1.4 --- PerspectiveTransform.java 18 Apr 2003 04:51:36 -0000 1.5 *************** *** 36,40 **** private static float fovToH(float fov) { ! return (float) Math.tan(fov * Math.PI / 360f); } --- 36,40 ---- private static float fovToH(float fov) { ! return (float) Math.toRadians(fov / 2f); } |
From: <ma...@us...> - 2003-04-18 04:51:39
|
Update of /cvsroot/jrman/drafts/src/org/jrman/parser/keywords In directory sc8-pr-cvs1:/tmp/cvs-serv8058/src/org/jrman/parser/keywords Modified Files: KeywordPerspective.java Log Message: Started implementing grid ops. Defined eclipse templates to reduce typing... Index: KeywordPerspective.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/keywords/KeywordPerspective.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** KeywordPerspective.java 9 Apr 2003 04:34:23 -0000 1.3 --- KeywordPerspective.java 18 Apr 2003 04:51:36 -0000 1.4 *************** *** 29,33 **** float fov = (float) st.nval; parser.perspective(fov); - } --- 29,32 ---- |
From: <ma...@us...> - 2003-04-18 04:51:39
|
Update of /cvsroot/jrman/drafts/eclipse-config In directory sc8-pr-cvs1:/tmp/cvs-serv8058/eclipse-config Added Files: preferences.epf code-generation.xml templates.xml Log Message: Started implementing grid ops. Defined eclipse templates to reduce typing... --- NEW FILE: preferences.epf --- #Thu Apr 17 21:12:44 CDT 2003 org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.ORG_ECLIPSE_PDE_SOURCE_SRC=C\:/eclipse/plugins/org.eclipse.pde.source_2.1.0/src org.eclipse.pde.core=2.1.0 org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core/org.eclipse.jdt.core.classpathContainer.Prueba|org.eclipse.jdt.launching.JRE_CONTAINER=<?xml version\="1.0" encoding\="UTF-8"?>\n<classpath><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/rt.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/sunrsasign.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/jsse.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/jce.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/charsets.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/dnsns.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/j3daudio.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/j3dcore.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/j3dutils.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/ldapsec.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/localedata.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/sunjce_provider.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/vecmath.jar" rootpath\="" sourcepath\=""/></classpath> org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.unusedLocal=warning org.eclipse.pde.core/platform_path=/extra/mago/progs/eclipse org.eclipse.team.cvs.ui/pref_text_ksubst=-kkv org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.source=1.4 org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.JRE_SRC=C\:/j2sdk1.4.1_01/src.zip org.eclipse.ui.workbench/org.eclipse.ui.commands=<?xml version\="1.0" encoding\="UTF-8"?>\n<org.eclipse.ui.commands><activeKeyConfiguration value\="org.eclipse.ui.emacsAcceleratorConfiguration"/></org.eclipse.ui.commands> org.eclipse.jdt.core/org.eclipse.jdt.core.codeComplete.visibilityCheck=enabled org.eclipse.debug.ui=2.1.0 org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.lineSplit=95 org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.compliance=1.4 org.eclipse.ui.editors=2.1.0 org.eclipse.jdt.ui/org.eclipse.jface.textfont=1|Sans|12|0|GTK|1|; org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_VM_XML=<?xml version\="1.0" encoding\="UTF-8"?>\n<vmSettings\n defaultVM\="57,org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType1,0" defaultVMConnector\="">\n <vmType id\="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType">\n <vm id\="0" javadocURL\="http\://java.sun.com/j2se/1.4.1/docs/api"\n name\="j2sdk1.4.1_01" path\="/extra/j2sdk1.4.1_01"/>\n </vmType>\n</vmSettings>\n org.eclipse.jdt.core/org.eclipse.jdt.core.classpathContainer.Demo|org.eclipse.jdt.launching.JRE_CONTAINER=<?xml version\="1.0" encoding\="UTF-8"?>\n<classpath><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/rt.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/sunrsasign.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/jsse.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/jce.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/charsets.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/dnsns.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/j3daudio.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/j3dcore.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/j3dutils.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/ldapsec.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/localedata.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/sunjce_provider.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/vecmath.jar" rootpath\="" sourcepath\=""/></classpath> org.eclipse.jdt.core=2.1.0 org.eclipse.jdt.ui/hoverModifiers=org.eclipse.jdt.ui.BestMatchHover;0;org.eclipse.jdt.ui.JavadocHover;\!0;org.eclipse.jdt.ui.ProblemHover;\!0;org.eclipse.jdt.ui.JavaSourceHover;Ctrl;org.eclipse.jdt.internal.debug.ui.JavaDebugHover;\!0; org.eclipse.jdt.ui/printMargin=true org.eclipse.jdt.ui=2.1.0 org.eclipse.jdt.junit=2.1.0 org.eclipse.ui.workbench=2.1.0 org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.JRE_SRCROOT= org.eclipse.ui.workbench/MyJava_persp=<?xml version\="1.0" encoding\="UTF-8"?>\n<perspective editorAreaVisible\="1" version\="0.016"><descriptor descriptor\="org.eclipse.jdt.ui.JavaPerspective" id\="MyJava" label\="MyJava"/><window height\="1012" width\="1286" x\="0" y\="0"/><actionSet id\="org.eclipse.ui.edit.text.actionSet.navigation"/><actionSet id\="org.eclipse.ui.externaltools.ExternalToolsSet"/><actionSet id\="org.eclipse.help.internal.ui.HelpActionSet"/><actionSet id\="org.eclipse.jdt.debug.ui.JDTDebugActionSet"/><actionSet id\="org.eclipse.jdt.ui.JavaElementCreationActionSet"/><actionSet id\="org.eclipse.jdt.ui.JavaActionSet"/><actionSet id\="org.eclipse.jdt.junit.JUnitActionSet"/><actionSet id\="org.eclipse.debug.ui.launchActionSet"/><actionSet id\="org.eclipse.ui.NavigateActionSet"/><actionSet id\="org.eclipse.search.searchActionSet"/><actionSet id\="org.eclipse.update.ui.softwareUpdates"/><actionSet id\="org.eclipse.jdt.ui.SearchActionSet"/><actionSet id\="org.eclipse.jdt.ui.A_OpenActionSet"/><actionSet id\="org.eclipse.jdt.ui.CodingActionSet"/><alwaysOnActionSet id\="org.eclipse.help.internal.ui.HelpActionSet"/><alwaysOnActionSet id\="org.eclipse.search.searchActionSet"/><alwaysOnActionSet id\="org.eclipse.ui.externaltools.ExternalToolsSet"/><alwaysOnActionSet id\="org.eclipse.ui.edit.text.actionSet.navigation"/><alwaysOnActionSet id\="org.eclipse.update.ui.softwareUpdates"/><alwaysOnActionSet id\="org.eclipse.debug.ui.launchActionSet"/><alwaysOnActionSet id\="org.eclipse.jdt.ui.JavaActionSet"/><alwaysOnActionSet id\="org.eclipse.jdt.ui.JavaElementCreationActionSet"/><alwaysOnActionSet id\="org.eclipse.ui.NavigateActionSet"/><alwaysOnActionSet id\="org.eclipse.jdt.debug.ui.JDTDebugActionSet"/><alwaysOnActionSet id\="org.eclipse.jdt.junit.JUnitActionSet"/><show_view_action id\="org.eclipse.ui.externaltools.AntView"/><show_view_action id\="org.eclipse.debug.ui.ConsoleView"/><show_view_action id\="org.eclipse.jdt.ui.TypeHierarchy"/><show_view_action id\="org.eclipse.ui.views.ResourceNavigator"/><show_view_action id\="org.eclipse.ui.views.ContentOutline"/><show_view_action id\="org.eclipse.jdt.ui.PackageExplorer"/><show_view_action id\="org.eclipse.search.SearchResultView"/><show_view_action id\="org.eclipse.ui.views.TaskList"/><new_wizard_action id\="org.eclipse.jdt.ui.wizards.NewClassCreationWizard"/><new_wizard_action id\="org.eclipse.ui.wizards.new.file"/><new_wizard_action id\="org.eclipse.ui.wizards.new.folder"/><new_wizard_action id\="org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard"/><new_wizard_action id\="org.eclipse.jdt.ui.wizards.NewPackageCreationWizard"/><new_wizard_action id\="org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard"/><new_wizard_action id\="org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard"/><perspective_action id\="org.eclipse.debug.ui.DebugPerspective"/><perspective_action id\="org.eclipse.jdt.ui.JavaPerspective"/><perspective_action id\="org.eclipse.jdt.ui.JavaBrowsingPerspective"/><view id\="org.eclipse.jdt.ui.PackageExplorer"/><view id\="org.eclipse.jdt.ui.TypeHierarchy"/><view id\="org.eclipse.ui.views.ContentOutline"/><view id\="org.eclipse.ui.views.TaskList"/><fastViews><view id\="org.eclipse.debug.ui.ConsoleView" ratio\="0.55877614"/></fastViews><layout><mainWindow><info folder\="true" part\="left"><folder activePageID\="org.eclipse.jdt.ui.PackageExplorer"><page content\="org.eclipse.ui.views.ResourceNavigator" label\="Navigator"/><page content\="org.eclipse.jdt.junit.ResultView" label\="JUnit"/><page content\="org.eclipse.debug.ui.ConsoleView" label\="Console"/><page content\="org.eclipse.jdt.ui.PackageExplorer" label\="Package Explorer"/><page content\="org.eclipse.jdt.ui.TypeHierarchy" label\="Hierarchy"/></folder></info><info part\="org.eclipse.ui.editorss" ratio\="0.2753623" relationship\="2" relative\="left"/><info folder\="true" part\="bottom" ratio\="0.81433225" relationship\="4" relative\="org.eclipse.ui.editorss"><folder><page content\="org.eclipse.ui.views.BookmarkNavigator" label\="Bookmarks"/><page content\="org.eclipse.search.SearchResultView" label\="Search"/></folder></info><info folder\="true" part\="org.eclipse.ui.internal.PartTabFolder@1a5fb5a" ratio\="0.7324415" relationship\="2" relative\="org.eclipse.ui.editorss"><folder activePageID\="org.eclipse.ui.views.ContentOutline"><page content\="org.eclipse.ui.externaltools.AntView" label\="Ant"/><page content\="org.eclipse.ui.views.ContentOutline" label\="Outline"/></folder></info><info folder\="true" part\="org.eclipse.ui.internal.PartTabFolder@11a74d1" ratio\="0.69846493" relationship\="4" relative\="left"><folder activePageID\="org.eclipse.ui.views.TaskList"><page content\="org.eclipse.ui.views.TaskList" label\="Tasks"/></folder></info></mainWindow></layout><toolbarLayout actionSet\="1"><itemSize x\="126" y\="26"/><itemSize x\="116" y\="26"/><itemSize x\="126" y\="26"/><itemSize x\="66" y\="26"/><itemSize x\="108" y\="26"/><itemSize x\="92" y\="26"/><wrapIndex index\="0"/><item id\="org.eclipse.ui.workbench.file"/><item id\="org.eclipse.debug.ui.launchActionSet"/><item id\="org.eclipse.jdt.ui.JavaElementCreationActionSet"/><item id\="org.eclipse.search.searchActionSet"/><item id\="org.eclipse.ui.workbench.navigate"/><item id\="org.eclipse.jdt.ui.CompilationUnitEditor"/></toolbarLayout></perspective> org.eclipse.debug.ui/org.eclipse.debug.ui.VariableView+org.eclipse.debug.ui.ShowTypesAction=true org.eclipse.jdt.core/org.eclipse.jdt.core.classpathContainer.HelloWorld|org.eclipse.jdt.launching.JRE_CONTAINER=<?xml version\="1.0" encoding\="UTF-8"?>\n<classpath><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/rt.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/sunrsasign.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/jsse.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/jce.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/charsets.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/dnsns.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/j3daudio.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/j3dcore.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/j3dutils.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/ldapsec.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/localedata.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/sunjce_provider.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/vecmath.jar" rootpath\="" sourcepath\=""/></classpath> org.eclipse.jdt.ui/outlinesortoption=T,SI,SF,SM,I,F,C,M, org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.tabulation.char=space org.eclipse.jdt.ui/printMarginColumn=95 org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.ORG_ECLIPSE_PLATFORM_SOURCE_SRC=C\:/eclipse/plugins/org.eclipse.platform.source_2.1.0/src org.eclipse.ui.workbench/ENABLED_DECORATORS=org.eclipse.pde.ui.binaryProjectDecorator\:false,org.eclipse.team.cvs.ui.decorator\:false,org.eclipse.ui.LinkedResourceDecorator\:true, org.eclipse.jdt.ui/org.eclipse.jdt.ui.wizards.srcBinFoldersInNewProjects=true org.eclipse.jdt.ui/content_assist_autoactivation=false org.eclipse.jdt.junit/org.eclipse.jdt.junit.active_filters=org.eclipse.jdt.internal.junit.runner.*,org.eclipse.jdt.internal.junit.ui.*,junit.framework.TestCase,junit.framework.TestResult,junit.framework.TestSuite,junit.framework.Assert,java.lang.reflect.Method.invoke org.eclipse.jdt.ui/spacesForTabs=true org.eclipse.team.cvs.ui=2.1.0 org.eclipse.ui.workbench/editors=<?xml version\="1.0" encoding\="UTF-8"?>\n<editors><descriptor class\="org.eclipse.jdt.internal.debug.ui.snippeteditor.JavaSnippetEditor" id\="org.eclipse.jdt.debug.ui.SnippetEditor" image\="icons/full/obj16/jsbook_obj.gif" internal\="true" label\="Scrapbook" open_in_place\="false" plugin\="org.eclipse.jdt.debug.ui"/><descriptor class\="org.eclipse.pde.internal.ui.editor.schema.SchemaEditor" id\="org.eclipse.pde.ui.schemaEditor" image\="icons/full/obj16/schema_obj.gif" internal\="true" label\="Extension Point Schema Editor" open_in_place\="false" plugin\="org.eclipse.pde.ui"/><descriptor class\="org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor" id\="org.eclipse.jdt.ui.CompilationUnitEditor" image\="icons/full/obj16/jcu_obj.gif" internal\="true" label\="Java Editor" open_in_place\="false" plugin\="org.eclipse.jdt.ui"/><descriptor class\="org.eclipse.pde.internal.ui.editor.feature.FeatureEditor" id\="org.eclipse.pde.ui.featureEditor" image\="icons/full/obj16/ftr_xml_obj.gif" internal\="true" label\="Feature Manifest Editor" open_in_place\="false" plugin\="org.eclipse.pde.ui"/><descriptor class\="org.eclipse.pde.internal.ui.editor.manifest.ManifestEditor" id\="org.eclipse.pde.ui.manifestEditor" image\="icons/full/obj16/plugin_mf_obj.gif" internal\="true" label\="Plug-in Manifest Editor" open_in_place\="false" plugin\="org.eclipse.pde.ui"/><descriptor class\="org.eclipse.pde.internal.ui.editor.build.BuildPropertiesEditor" id\="org.eclipse.pde.ui.buildEditor" image\="icons/full/obj16/build_exec.gif" internal\="true" label\="Build Properties Editor" open_in_place\="false" plugin\="org.eclipse.pde.ui"/><descriptor class\="org.eclipse.ui.externaltools.internal.ant.editor.PlantyEditor" id\="org.eclipse.ui.externaltools.internal.ant.editor.AntEditor" image\="icons/full/obj16/ant_buildfile.gif" internal\="true" label\="Ant Editor" open_in_place\="false" plugin\="org.eclipse.ui.externaltools"/><descriptor class\="org.eclipse.ui.editors.text.TextEditor" id\="org.eclipse.jdt.ui.DefaultTextEditor" image\="icons/full/obj16/file_obj.gif" internal\="true" label\="Properties File Editor" open_in_place\="false" plugin\="org.eclipse.jdt.ui"/><descriptor class\="org.eclipse.ui.editors.text.TextEditor" id\="org.eclipse.jdt.ui.JARDescEditor" image\="icons/full/obj16/jar_desc_obj.gif" internal\="true" label\="JAR Description Editor" open_in_place\="false" plugin\="org.eclipse.jdt.ui"/><descriptor class\="org.eclipse.jdt.internal.ui.javaeditor.ClassFileEditor" id\="org.eclipse.jdt.ui.ClassFileEditor" image\="icons/full/obj16/classf_obj.gif" internal\="true" label\="Class File Viewer" open_in_place\="false" plugin\="org.eclipse.jdt.ui"/><descriptor class\="org.eclipse.pde.internal.ui.editor.site.SiteEditor" id\="org.eclipse.pde.ui.siteEditor" image\="icons/full/obj16/site_xml_obj.gif" internal\="true" label\="Site Manifest Editor" open_in_place\="false" plugin\="org.eclipse.pde.ui"/><descriptor class\="org.eclipse.ui.editors.text.TextEditor" id\="org.eclipse.ui.DefaultTextEditor" image\="icons/full/obj16/file_obj.gif" internal\="true" label\="Text Editor" open_in_place\="false" plugin\="org.eclipse.ui"/><descriptor class\="org.eclipse.pde.internal.ui.editor.manifest.FragmentManifestEditor" id\="org.eclipse.pde.ui.fragmentEditor" image\="icons/full/obj16/frgmt_mf_obj.gif" internal\="true" label\="Fragment Manifest Editor" open_in_place\="false" plugin\="org.eclipse.pde.ui"/></editors> org.eclipse.ui.workbench/resourcetypes=<?xml version\="1.0" encoding\="UTF-8"?>\n<editors><info extension\="jpage" name\="*"><editor id\="org.eclipse.jdt.debug.ui.SnippetEditor"/></info><info extension\="exsd" name\="*"><editor id\="org.eclipse.pde.ui.schemaEditor"/></info><info extension\="java" name\="*"><editor id\="org.eclipse.jdt.ui.CompilationUnitEditor"/></info><info extension\="xml" name\="feature"><editor id\="org.eclipse.pde.ui.featureEditor"/></info><info extension\="xml" name\="plugin"><editor id\="org.eclipse.pde.ui.manifestEditor"/></info><info extension\="properties" name\="build"><editor id\="org.eclipse.pde.ui.buildEditor"/></info><info extension\="xml" name\="build"><editor id\="org.eclipse.ui.externaltools.internal.ant.editor.AntEditor"/></info><info extension\="properties" name\="*"><editor id\="org.eclipse.jdt.ui.DefaultTextEditor"/></info><info extension\="jardesc" name\="*"><editor id\="org.eclipse.jdt.ui.JARDescEditor"/></info><info extension\="class" name\="*"><editor id\="org.eclipse.jdt.ui.ClassFileEditor"/></info><info extension\="xml" name\="site"><editor id\="org.eclipse.pde.ui.siteEditor"/></info><info extension\="xsd" name\="*"><editor id\="org.eclipse.pde.ui.schemaEditor"/></info><info extension\="txt" name\="*"><editor id\="org.eclipse.ui.DefaultTextEditor"/></info><info extension\="xml" name\="fragment"><editor id\="org.eclipse.pde.ui.fragmentEditor"/></info><info extension\="mxsd" name\="*"><editor id\="org.eclipse.pde.ui.schemaEditor"/></info></editors> org.eclipse.pde.core/checkedPlugins=[savedAll] org.eclipse.jdt.launching=2.1.0 org.eclipse.ui.workbench/WELCOME_DIALOG=false org.eclipse.jdt.ui/org.eclipse.jdt.ui.javadoc=false org.eclipse.jdt.ui/content_assist_proposals_background=255,255,255 org.eclipse.debug.ui/org.eclipse.debug.ui.lastLaunchConfigSelection=<?xml version\="1.0" encoding\="UTF-8"?>\n<launchConfiguration local\="true" path\="jrman illum2.rib.launch"/>\n org.eclipse.jdt.core/org.eclipse.jdt.core.classpathContainer.drafts|org.eclipse.jdt.launching.JRE_CONTAINER=<?xml version\="1.0" encoding\="UTF-8"?>\n<classpath><classpathentry kind\="lib" path\="/extra/j2sdk1.4.1_01/jre/lib/rt.jar" rootpath\="" sourcepath\="/extra/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="/extra/j2sdk1.4.1_01/jre/lib/sunrsasign.jar" rootpath\="" sourcepath\="/extra/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="/extra/j2sdk1.4.1_01/jre/lib/jsse.jar" rootpath\="" sourcepath\="/extra/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="/extra/j2sdk1.4.1_01/jre/lib/jce.jar" rootpath\="" sourcepath\="/extra/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="/extra/j2sdk1.4.1_01/jre/lib/charsets.jar" rootpath\="" sourcepath\="/extra/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="/extra/j2sdk1.4.1_01/jre/lib/ext/sunjce_provider.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="/extra/j2sdk1.4.1_01/jre/lib/ext/dnsns.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="/extra/j2sdk1.4.1_01/jre/lib/ext/localedata.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="/extra/j2sdk1.4.1_01/jre/lib/ext/ldapsec.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="/extra/j2sdk1.4.1_01/jre/lib/ext/vecmath.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="/extra/j2sdk1.4.1_01/jre/lib/ext/j3dcore.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="/extra/j2sdk1.4.1_01/jre/lib/ext/j3daudio.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="/extra/j2sdk1.4.1_01/jre/lib/ext/j3dutils.jar" rootpath\="" sourcepath\=""/></classpath> org.eclipse.jdt.ui/org.eclipse.jdt.ui.importorder=java;javax;org;com; org.eclipse.jdt.ui/org.eclipse.jdt.ui.wizards.srcBinFoldersBinName=build org.eclipse.ui.workbench/perspectives=MyJava org.eclipse.jdt.ui/LexicalSortingAction.isChecked=true org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.ORG_ECLIPSE_JDT_SOURCE_SRC=C\:/eclipse/plugins/org.eclipse.jdt.source_2.1.0/src org.eclipse.jdt.core/org.eclipse.jdt.core.classpathContainer.Parser|org.eclipse.jdt.launching.JRE_CONTAINER=<?xml version\="1.0" encoding\="UTF-8"?>\n<classpath><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/rt.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/sunrsasign.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/jsse.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/jce.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/charsets.jar" rootpath\="" sourcepath\="C\:/j2sdk1.4.1_01/src.zip"/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/dnsns.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/j3daudio.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/j3dcore.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/j3dutils.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/ldapsec.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/localedata.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/sunjce_provider.jar" rootpath\="" sourcepath\=""/><classpathentry kind\="lib" path\="C\:/j2sdk1.4.1_01/jre/lib/ext/vecmath.jar" rootpath\="" sourcepath\=""/></classpath> org.eclipse.ui.workbench/org.eclipse.jdt.ui.editors.textfont=1|Sans|12|0|GTK|1|; org.eclipse.jdt.ui/Refactoring.savealleditors=true org.eclipse.jdt.ui/fontPropagated=true org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.ORG_ECLIPSE_PLATFORM_WIN32_SOURCE_SRC=C\:/eclipse/plugins/org.eclipse.platform.win32.source_2.1.0/src org.eclipse.ui.editors/printMarginColumn=95 org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.ECLIPSE_HOME=/extra/mago/progs/eclipse org.eclipse.debug.ui/org.eclipse.debug.ui.VariableView+org.eclipse.debug.ui.ShowDetailPaneAction=false org.eclipse.ui.editors/printMargin=true org.eclipse.team.cvs.ui/pref_compression_level=3 org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.JRE_LIB=C\:/j2sdk1.4.1_01/jre/lib/rt.jar org.eclipse.jdt.core/org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.unusedParameter=warning --- NEW FILE: code-generation.xml --- <?xml version="1.0" encoding="UTF-8"?> <templates><codetemplate name="constructorcomment" description="Comment for created constructors" context="constructorcomment_context" enabled="true">/** * ${tags} */</codetemplate><codetemplate name="typecomment" description="Comment for created types" context="typecomment_context" enabled="true">/** * @author ${user} * * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */</codetemplate><codetemplate name="methodcomment" description="Comment for non-overriding methods" context="methodcomment_context" enabled="true">/** * ${tags} */</codetemplate><codetemplate name="overridecomment" description="Comment for overriding methods" context="overridecomment_context" enabled="true">/* (non-Javadoc) * ${see_to_overridden} */</codetemplate><codetemplate name="newtype" description="New classes and interfaces" context="newtype_context" enabled="true">/* ${file_name} Copyright (C) 2003 Gerardo Horvilleur Martinez This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ ${package_declaration} ${type_declaration}</codetemplate><codetemplate name="catchblock" description="Code in new catch blocks" context="catchblock_context" enabled="true">// ${todo} Auto-generated catch block ${exception_var}.printStackTrace();</codetemplate><codetemplate name="methodbody" description="Code in created method stubs" context="methodbody_context" enabled="true">// ${todo} Auto-generated method stub ${body_statement}</codetemplate><codetemplate name="constructorbody" description="Code in created constructor stubs" context="constructorbody_context" enabled="true">${body_statement} // ${todo} Auto-generated constructor stub</codetemplate></templates> --- NEW FILE: templates.xml --- <?xml version="1.0" encoding="UTF-8"?> <templates><template name="for" description="iterate over array" context="java" enabled="true">for (int ${index} = 0; ${index} < ${array}.length; ${index}++) { ${line_selection}${cursor} }</template><template name="for" description="iterate over array w/ temporary variable" context="java" enabled="true">for (int ${index} = 0; ${index} < ${array}.length; ${index}++) { ${array_type} ${array_element} = ${array}[${index}]; ${cursor} }</template><template name="for" description="iterate over collection" context="java" enabled="true">for (Iterator ${iterator} = ${collection}.iterator(); ${iterator}.hasNext(); ) { ${type} ${element} = (${type}) ${iterator}.next(); ${cursor} }</template><template name="while" description="iterate with enumeration" context="java" enabled="true">while (${enumeration}.hasMoreElements()) { ${type} ${element} = (${type}) ${enumeration}.nextElement(); ${cursor} }</template><template name="while" description="iterate with iterator" context="java" enabled="true">while (${iterator}.hasNext()) { ${type} ${element} = (${type}) ${iterator}.next(); ${cursor} }</template><template name="do" description="do while statement" context="java" enabled="true">do { ${line_selection}${cursor} } while (${condition});</template><template name="switch" description="switch case statement" context="java" enabled="true">switch (${key}) { case ${value}: ${cursor} break; default: break; }</template><template name="if" description="if statement" context="java" enabled="true">if (${condition}) { ${line_selection}${cursor} }</template><template name="ifelse" description="if else statement" context="java" enabled="true">if (${condition}) { ${cursor} } else { }</template><template name="elseif" description="else if block" context="java" enabled="true">else if (${condition}) { ${cursor} }</template><template name="else" description="else block" context="java" enabled="true">else { ${cursor} }</template><template name="try" description="try catch block" context="java" enabled="true">try { ${line_selection}${cursor} } catch (${Exception} e) { // ${todo}: handle exception }</template><template name="catch" description="catch block" context="java" enabled="true">catch (${Exception} e) { ${cursor}// ${todo}: handle exception }</template><template name="main" description="main method" context="java" enabled="true">public static void main(String[] args) { ${cursor} }</template><template name="public_method" description="public method" context="java" enabled="true">public ${return_type} ${name}(${arguments}) { ${cursor} }</template><template name="protected_method" description="protected method" context="java" enabled="true">protected ${return_type} ${name}(${arguments}) { ${cursor} }</template><template name="private_method" description="private method" context="java" enabled="true">private ${return_type} ${name}(${arguments}) { ${cursor} }</template><template name="private_static_method" description="private static method" context="java" enabled="true">private static ${return_type} ${name}(${arguments}) { ${cursor} }</template><template name="instanceof" description="dynamic type test and cast" context="java" enabled="true">if (${name} instanceof ${type}) { ${type} ${new_name} = (${type})${name}; ${cursor} }</template><template name="cast" description="dynamic cast" context="java" enabled="true">${type} ${new_name} = (${type}) ${name};</template><template name="new" description="create new object" context="java" enabled="true">${type} ${name} = new ${type}(${arguments});</template><template name="lazy" description="lazy creation" context="java" enabled="true">if (${name} == null) { ${name} = new ${type}(${arguments}); ${cursor} } return ${name};</template><template name="toarray" description="convert collection to array" context="java" enabled="true">(${type}[]) ${collection}.toArray(new ${type}[${collection}.size()]);</template><template name="sysout" description="print to standard out" context="java" enabled="true">System.out.println(${word_selection}${cursor});</template><template name="syserr" description="print to standard error" context="java" enabled="true">System.err.println(${word_selection}${cursor});</template><template name="<code>" description="<code></code>" context="javadoc" enabled="true"><code>${word_selection}${cursor}</code></template><template name="<code>" description="<code>null</code>" context="javadoc" enabled="true"><code>null</code></template><template name="<pre>" description="<pre></pre>" context="javadoc" enabled="true"><pre>${word_selection}${cursor}</pre></template><template name="<b>" description="<b></b>" context="javadoc" enabled="true"><b>${word_selection}${cursor}</b></template><template name="<i>" description="<i></i>" context="javadoc" enabled="true"><i>${word_selection}${cursor}</i></template><template name="@author" description="author name" context="javadoc" enabled="true">@author ${user}</template><template name="while" description="while loop with condition" context="java" enabled="true">while (${condition}) { ${line_selection}${cursor} }</template><template name="test" description="test method" context="java" enabled="true">public void test${name}() { ${cursor} }</template><template name="systrace" description="print current method to standard out" context="java" enabled="true">System.out.println("${enclosing_type}.${enclosing_method}()");</template><template name="for" description="Grid modifying for" context="java" enabled="true">public void ${op}(${type} ${param}) { for (int i = 0; i < data.length; i++) { data[i].${op}(${param}.data[i]); } }</template><template name="for" description="Grid non modifying for" context="java" enabled="true">public void ${op}(${type} ${param}, ${type} ${out}) { for (int i = 0; i < data.length; i++) { ${out}.data[i].${op}(${param}.data[i], data[i]); } }</template><template name="for" description="Grid modifying for special op" context="java" enabled="true">public void ${op}(${type} ${param}) { for (int i = 0; i < data.length; i++) { data[i].x ${oper} ${param}.data[i].x; data[i].y ${oper} ${param}.data[i].y; data[i].z ${oper} ${param}.data[i].z; } }</template><template name="for" description="Grid non modifying for special op" context="java" enabled="true">public void ${op}(${type} ${param}, ${type} ${out}) { for (int i = 0; i < data.length; i++) { ${out}.data[i].x = data[i].x ${oper} ${param}.data[i].x; ${out}.data[i].y = data[i].y ${oper} ${param}.data[i].y; ${out}.data[i].z = data[i].z ${oper} ${param}.data[i].z; } }</template><template name="for" description="Grid modifying fun 2 args" context="java" enabled="true">public void ${op}(${type} ${param}) { for (int i = 0; i < data.length; i++) { data[i].x = ${fun}(data[i].x, ${param}.data[i].x); data[i].y = ${fun}(data[i].y, ${param}.data[i].y); data[i].z = ${fun}(data[i].z, ${param}.data[i].z); } }</template><template name="for" description="Grid non modifying for fun 2 args" context="java" enabled="true">public void ${op}(${type} ${param}, ${type} ${out}) { for (int i = 0; i < data.length; i++) { ${out}.data[i].x = ${fun}(data[i].x, ${param}.data[i].x); ${out}.data[i].y = ${fun}(data[i].y, ${param}.data[i].y); ${out}.data[i].z = ${fun}(data[i].z, ${param}.data[i].z); } }</template></templates> |
From: <ma...@us...> - 2003-04-18 04:50:52
|
Update of /cvsroot/jrman/drafts/eclipse-config In directory sc8-pr-cvs1:/tmp/cvs-serv7655/eclipse-config Log Message: Directory /cvsroot/jrman/drafts/eclipse-config added to the repository |
From: <ma...@us...> - 2003-04-18 04:50:52
|
Update of /cvsroot/jrman/drafts/src/org/jrman/grid In directory sc8-pr-cvs1:/tmp/cvs-serv7655/src/org/jrman/grid Log Message: Directory /cvsroot/jrman/drafts/src/org/jrman/grid added to the repository |
From: <ma...@us...> - 2003-04-16 09:20:10
|
Update of /cvsroot/jrman/drafts/src/org/jrman/render In directory sc8-pr-cvs1:/tmp/cvs-serv18922/src/org/jrman/render Modified Files: Renderer.java RendererHidden.java Log Message: Added skeleton for Affine. Fixed local declarations bug. Index: Renderer.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/render/Renderer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Renderer.java 15 Apr 2003 05:22:10 -0000 1.1 --- Renderer.java 16 Apr 2003 09:19:35 -0000 1.2 *************** *** 46,50 **** public abstract void render(); ! public void init(Frame frame, World world) { this.frame = frame; this.world = world; --- 46,50 ---- public abstract void render(); ! protected void init(Frame frame, World world) { this.frame = frame; this.world = world; Index: RendererHidden.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/render/RendererHidden.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** RendererHidden.java 15 Apr 2003 11:41:57 -0000 1.4 --- RendererHidden.java 16 Apr 2003 09:19:35 -0000 1.5 *************** *** 118,135 **** } - private void createBuckets() { - Point2f min = rasterWindow.getMin(); - Point2f max = rasterWindow.getMax(); - float width = max.x - min.x + 1; - float height = max.y - min.y + 1; - bucketWidth = frame.getBucketSizeX(); - bucketHeight = frame.getBucketSizeY(); - bucketColumns = (int) Math.ceil(width / bucketWidth); - bucketRows = (int) Math.ceil(height / bucketHeight); - buckets = new Bucket[bucketColumns * bucketRows]; - for (int i = 0; i < buckets.length; i++) - buckets[i] = new Bucket(); - } - private void createClippingVolume() { rasterWindow = createRasterWindow(); --- 118,121 ---- *************** *** 180,183 **** --- 166,183 ---- rymax = (float) Math.ceil(rymax + yw); return new Bounds2f(rxmin, rxmax, rymin, rymax); + } + + private void createBuckets() { + Point2f min = rasterWindow.getMin(); + Point2f max = rasterWindow.getMax(); + float width = max.x - min.x + 1; + float height = max.y - min.y + 1; + bucketWidth = frame.getBucketSizeX(); + bucketHeight = frame.getBucketSizeY(); + bucketColumns = (int) Math.ceil(width / bucketWidth); + bucketRows = (int) Math.ceil(height / bucketHeight); + buckets = new Bucket[bucketColumns * bucketRows]; + for (int i = 0; i < buckets.length; i++) + buckets[i] = new Bucket(); } |
From: <ma...@us...> - 2003-04-16 09:20:09
|
Update of /cvsroot/jrman/drafts/src/org/jrman/parser In directory sc8-pr-cvs1:/tmp/cvs-serv18922/src/org/jrman/parser Modified Files: Parser.java Added Files: Parameter.java Log Message: Added skeleton for Affine. Fixed local declarations bug. --- NEW FILE: Parameter.java --- /* Parameter.java Copyright (C) 2003 Gerardo Horvilleur Martinez This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.jrman.parser; public class Parameter { private Declaration declaration; private Object data; public Parameter(Declaration declaration, Object data) { this.declaration = declaration; this.data = data; } public Object getData() { return data; } public Declaration getDeclaration() { return declaration; } } Index: Parser.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/parser/Parser.java,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** Parser.java 15 Apr 2003 11:41:57 -0000 1.29 --- Parser.java 16 Apr 2003 09:19:34 -0000 1.30 *************** *** 76,80 **** private Frame frame; ! private Renderer renderer; --- 76,80 ---- private Frame frame; ! private Renderer renderer; *************** *** 334,337 **** --- 334,338 ---- popState(); } + public void frameEnd() { world = (World) worldStack.pop(); *************** *** 409,413 **** Declaration declaration = Global.getDeclaration(name); if (declaration != null) ! result.put(name, declaration.translateArray(array)); else { // Check for inline declaration --- 410,416 ---- Declaration declaration = Global.getDeclaration(name); if (declaration != null) ! result.put( ! name, ! new Parameter(declaration, declaration.translateArray(array))); else { // Check for inline declaration *************** *** 423,427 **** continue; } ! result.put(name, declaration.translateArray(array)); } } --- 426,432 ---- continue; } ! result.put( ! name, ! new Parameter(declaration, declaration.translateArray(array))); } } *************** *** 454,459 **** frame.setCameraProjection(cameraProjection); if (cameraProjection == CameraProjection.PERSPECTIVE) { ! float[][] fovParam = (float[][]) parameters.get("fov"); ! if (fovParam != null) { frame.setFieldOfView(fovParam[0][0]); frame.defineScreen(); --- 459,465 ---- frame.setCameraProjection(cameraProjection); if (cameraProjection == CameraProjection.PERSPECTIVE) { ! Parameter parameter = (Parameter) parameters.get("fov"); ! if (parameter != null) { ! float[][] fovParam = (float[][]) parameter.getData(); frame.setFieldOfView(fovParam[0][0]); frame.defineScreen(); *************** *** 486,490 **** saveCurrentTransformAs("screen"); // from "camera" to "screen" setIdentity(); ! Global.setTransform("raster", frame.getRasterTransform()); // from "screen" to "raster" Global.setTransform("NDC", frame.getNDCTransform()); // from "raster" to "NDC" } --- 492,497 ---- saveCurrentTransformAs("screen"); // from "camera" to "screen" setIdentity(); ! Global.setTransform("raster", frame.getRasterTransform()); ! // from "screen" to "raster" Global.setTransform("NDC", frame.getNDCTransform()); // from "raster" to "NDC" } *************** *** 538,543 **** public void setDisplay(String name, String type, String mode, Map parameters) { frame.setDisplay(new Display(name, type, mode)); ! int[][] origin = (int[][]) parameters.get("origin"); ! if (origin != null) { frame.setOriginX(origin[0][0]); frame.setOriginY(origin[0][1]); --- 545,551 ---- public void setDisplay(String name, String type, String mode, Map parameters) { frame.setDisplay(new Display(name, type, mode)); ! Parameter parameter = (Parameter) parameters.get("origin"); ! if (parameter != null) { ! int[][] origin = (int[][]) parameter.getData(); frame.setOriginX(origin[0][0]); frame.setOriginY(origin[0][1]); *************** *** 556,564 **** public void setOption(String name, Map parameters) { if (name.equals("limits")) { ! int[][] gridsize = (int[][]) parameters.get("gridsize"); ! if (gridsize != null) frame.setGridSize(gridsize[0][0]); ! int[][] bucketsize = (int[][]) parameters.get("bucketsize"); ! if (bucketsize != null) { frame.setBucketSizeX(bucketsize[0][0]); frame.setBucketSizeY(bucketsize[0][1]); --- 564,575 ---- public void setOption(String name, Map parameters) { if (name.equals("limits")) { ! Parameter parameter = (Parameter) parameters.get("gridsize"); ! if (parameter != null) { ! int[][] gridsize = (int[][]) parameter.getData(); frame.setGridSize(gridsize[0][0]); ! } ! parameter = (Parameter) parameters.get("bucketsize"); ! if (parameter != null) { ! int[][] bucketsize = (int[][]) parameter.getData(); frame.setBucketSizeX(bucketsize[0][0]); frame.setBucketSizeY(bucketsize[0][1]); *************** *** 569,586 **** public void setAttribute(String name, Map parameters) { if (name.equals("displacementbound")) { ! float[][] sphere = (float[][]) parameters.get("sphere"); ! if (sphere != null) currentAttributes.setDisplacementBound(sphere[0][0]); ! String[][] coordinatesystem = (String[][]) parameters.get("coordinatesystem"); ! if (coordinatesystem != null) currentAttributes.setDisplacementBoundCoordinateSystem(coordinatesystem[0][0]); } else if (name.equals("identifier")) { ! String[][] oname = (String[][]) parameters.get("name"); ! if (oname != null) currentAttributes.setObjectIdentifer(oname[0][0]); } else if (name.equals("trimcurve")) { ! String[][] sense = (String[][]) parameters.get("sense"); ! if (sense != null) currentAttributes.setTrimCurveSense(TrimCurveSense.getNamed(sense[0][0])); } } --- 580,605 ---- public void setAttribute(String name, Map parameters) { if (name.equals("displacementbound")) { ! Parameter parameter = (Parameter) parameters.get("sphere"); ! if (parameter != null) { ! float[][] sphere = (float[][]) parameter.getData(); currentAttributes.setDisplacementBound(sphere[0][0]); ! } ! parameter = (Parameter) parameters.get("coordinatesystem"); ! if (parameter != null) { ! String[][] coordinatesystem = (String[][]) parameter.getData(); currentAttributes.setDisplacementBoundCoordinateSystem(coordinatesystem[0][0]); + } } else if (name.equals("identifier")) { ! Parameter parameter = (Parameter) parameters.get("name"); ! if (parameter != null) { ! String[][] oname = (String[][]) parameter.getData(); currentAttributes.setObjectIdentifer(oname[0][0]); + } } else if (name.equals("trimcurve")) { ! Parameter parameter = (Parameter) parameters.get("sense"); ! if (parameter != null) { ! String[][] sense = (String[][]) parameter.getData(); currentAttributes.setTrimCurveSense(TrimCurveSense.getNamed(sense[0][0])); + } } } |
From: <ma...@us...> - 2003-04-16 09:20:09
|
Update of /cvsroot/jrman/drafts/src/org/jrman/primitive In directory sc8-pr-cvs1:/tmp/cvs-serv18922/src/org/jrman/primitive Modified Files: Quadric.java Sphere.java Log Message: Added skeleton for Affine. Fixed local declarations bug. Index: Quadric.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/primitive/Quadric.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Quadric.java 15 Apr 2003 05:22:10 -0000 1.2 --- Quadric.java 16 Apr 2003 09:19:33 -0000 1.3 *************** *** 31,35 **** import org.jrman.attributes.Attributes; import org.jrman.parser.Declaration; ! import org.jrman.parser.Global; import org.jrman.util.Calc; --- 31,35 ---- import org.jrman.attributes.Attributes; import org.jrman.parser.Declaration; ! import org.jrman.parser.Parameter; import org.jrman.util.Calc; *************** *** 44,61 **** for (Iterator iter = parameters.keySet().iterator(); iter.hasNext();) { String name = (String) iter.next(); ! Declaration declaration = Global.getDeclaration(name); Declaration.StorageClass storageClass = declaration.getStorageClass(); if (storageClass == Declaration.StorageClass.CONSTANT || storageClass == Declaration.StorageClass.UNIFORM) { ! result.put(name, parameters.get(name)); continue; } Declaration.Type type = declaration.getType(); if (type == Declaration.Type.INTEGER || type == Declaration.Type.STRING) { ! result.put(name, parameters.get(name)); continue; } if (type == Declaration.Type.FLOAT) { ! float[][] param = (float[][]) parameters.get(name); float[][] sparam = new float[4][]; int count = declaration.getCount(); --- 44,62 ---- for (Iterator iter = parameters.keySet().iterator(); iter.hasNext();) { String name = (String) iter.next(); ! Parameter parameter = (Parameter) parameters.get(name); ! Declaration declaration = parameter.getDeclaration(); Declaration.StorageClass storageClass = declaration.getStorageClass(); if (storageClass == Declaration.StorageClass.CONSTANT || storageClass == Declaration.StorageClass.UNIFORM) { ! result.put(name, parameter); continue; } Declaration.Type type = declaration.getType(); if (type == Declaration.Type.INTEGER || type == Declaration.Type.STRING) { ! result.put(name, parameter); continue; } if (type == Declaration.Type.FLOAT) { ! float[][] param = (float[][]) parameter.getData(); float[][] sparam = new float[4][]; int count = declaration.getCount(); *************** *** 74,80 **** sparam[3][i] = Calc.interpolate(uv00, uv10, uv01, uv11, uMax, vMax); } ! result.put(name, sparam); } else if (type == Declaration.Type.COLOR) { ! Color3f[][] param = (Color3f[][]) parameters.get(name); Color3f[][] sparam = new Color3f[4][]; int count = declaration.getCount(); --- 75,81 ---- sparam[3][i] = Calc.interpolate(uv00, uv10, uv01, uv11, uMax, vMax); } ! result.put(name, new Parameter(declaration, sparam)); } else if (type == Declaration.Type.COLOR) { ! Color3f[][] param = (Color3f[][]) parameter.getData(); Color3f[][] sparam = new Color3f[4][]; int count = declaration.getCount(); *************** *** 93,99 **** sparam[3][i] = Calc.interpolate(uv00, uv10, uv01, uv11, uMax, vMax); } ! result.put(name, sparam); } else if (type == Declaration.Type.VECTOR || type == Declaration.Type.NORMAL) { ! Vector3f[][] param = (Vector3f[][]) parameters.get(name); Vector3f[][] sparam = new Vector3f[4][]; int count = declaration.getCount(); --- 94,100 ---- sparam[3][i] = Calc.interpolate(uv00, uv10, uv01, uv11, uMax, vMax); } ! result.put(name, new Parameter(declaration, sparam)); } else if (type == Declaration.Type.VECTOR || type == Declaration.Type.NORMAL) { ! Vector3f[][] param = (Vector3f[][]) parameter.getData(); Vector3f[][] sparam = new Vector3f[4][]; int count = declaration.getCount(); *************** *** 112,118 **** sparam[3][i] = Calc.interpolate(uv00, uv10, uv01, uv11, uMax, vMax); } ! result.put(name, sparam); } else if (type == Declaration.Type.HPOINT) { ! Point4f[][] param = (Point4f[][]) parameters.get(name); Point4f[][] sparam = new Point4f[4][]; int count = declaration.getCount(); --- 113,119 ---- sparam[3][i] = Calc.interpolate(uv00, uv10, uv01, uv11, uMax, vMax); } ! result.put(name, new Parameter(declaration, sparam)); } else if (type == Declaration.Type.HPOINT) { ! Point4f[][] param = (Point4f[][]) parameter.getData(); Point4f[][] sparam = new Point4f[4][]; int count = declaration.getCount(); *************** *** 131,137 **** sparam[3][i] = Calc.interpolate(uv00, uv10, uv01, uv11, uMax, vMax); } ! result.put(name, sparam); } else if (type == Declaration.Type.MATRIX) { ! Matrix4f[][] param = (Matrix4f[][]) parameters.get(name); Matrix4f[][] sparam = new Matrix4f[4][]; int count = declaration.getCount(); --- 132,138 ---- sparam[3][i] = Calc.interpolate(uv00, uv10, uv01, uv11, uMax, vMax); } ! result.put(name, new Parameter(declaration, sparam)); } else if (type == Declaration.Type.MATRIX) { ! Matrix4f[][] param = (Matrix4f[][]) parameter.getData(); Matrix4f[][] sparam = new Matrix4f[4][]; int count = declaration.getCount(); *************** *** 150,154 **** sparam[3][i] = Calc.interpolate(uv00, uv10, uv01, uv11, uMax, vMax); } ! result.put(name, sparam); } } --- 151,155 ---- sparam[3][i] = Calc.interpolate(uv00, uv10, uv01, uv11, uMax, vMax); } ! result.put(name, new Parameter(declaration, sparam)); } } Index: Sphere.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/primitive/Sphere.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Sphere.java 15 Apr 2003 13:07:57 -0000 1.7 --- Sphere.java 16 Apr 2003 09:19:33 -0000 1.8 *************** *** 24,30 **** import org.jrman.attributes.Attributes; import org.jrman.geom.BoundingVolume; ! import org.jrman.geom.MutableBounds3f; ! public class Sphere extends Quadric { private float radius; --- 24,31 ---- import org.jrman.attributes.Attributes; import org.jrman.geom.BoundingVolume; ! import org.jrman.geom.ConvexHull3f; ! public class Sphere extends Quadric ! { private float radius; *************** *** 45,49 **** float thetaMax, Map parameters, ! Attributes attributes) { super(parameters, attributes); this.radius = radius; --- 46,51 ---- float thetaMax, Map parameters, ! Attributes attributes) ! { super(parameters, attributes); this.radius = radius; *************** *** 53,58 **** this.thetaMax = thetaMax; } ! ! public String toString() { StringBuffer sb = new StringBuffer(); sb.append("Sphere,"); --- 55,61 ---- this.thetaMax = thetaMax; } ! ! public String toString() ! { StringBuffer sb = new StringBuffer(); sb.append("Sphere,"); *************** *** 63,67 **** } ! public BoundingVolume internalGetBoundingVolume() { float zMin = (float) Math.sin(phiMin) * radius; float zMax = (float) Math.sin(phiMax) * radius; --- 66,71 ---- } ! public BoundingVolume internalGetBoundingVolume() ! { float zMin = (float) Math.sin(phiMin) * radius; float zMax = (float) Math.sin(phiMax) * radius; *************** *** 71,86 **** else if (phiMin > 0) r = (float) Math.cos(phiMin) * r; ! MutableBounds3f mb = new MutableBounds3f(); float incr = (thetaMax - thetaMin) / 4; ! for (float angle = thetaMin; angle <= thetaMax; angle += incr) { float x = (float) Math.cos(angle) * r; float y = (float) Math.sin(angle) * r; ! mb.addPoint(x, y, zMin); ! mb.addPoint(x, y, zMax); } ! return mb; } ! public Primitive[] split() { Primitive[] result = new Primitive[4]; result[0] = --- 75,93 ---- else if (phiMin > 0) r = (float) Math.cos(phiMin) * r; ! ConvexHull3f ch = new ConvexHull3f(); ! // TODO adjust number according to thetaMax - thetaMin float incr = (thetaMax - thetaMin) / 4; ! for (float angle = thetaMin; angle <= thetaMax; angle += incr) ! { float x = (float) Math.cos(angle) * r; float y = (float) Math.sin(angle) * r; ! ch.addPoint(x, y, zMin); ! ch.addPoint(x, y, zMax); } ! return ch; } ! public Primitive[] split() ! { Primitive[] result = new Primitive[4]; result[0] = *************** *** 123,127 **** } ! public Map dice() { // TODO Auto-generated method stub return null; --- 130,135 ---- } ! public Map dice() ! { // TODO Auto-generated method stub return null; |
From: <ma...@us...> - 2003-04-16 09:20:08
|
Update of /cvsroot/jrman/drafts In directory sc8-pr-cvs1:/tmp/cvs-serv18922 Modified Files: .classpath Log Message: Added skeleton for Affine. Fixed local declarations bug. Index: .classpath =================================================================== RCS file: /cvsroot/jrman/drafts/.classpath,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** .classpath 7 Apr 2003 01:26:16 -0000 1.3 --- .classpath 16 Apr 2003 09:19:33 -0000 1.4 *************** *** 3,6 **** --- 3,8 ---- <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="src" path="tests"/> + <classpathentry kind="lib" path="/extra/mago/progs/eclipse/plugins/org.junit_3.8.1/junit.jar"/> <classpathentry kind="output" path="build"/> </classpath> |
From: <ma...@us...> - 2003-04-16 09:19:40
|
Update of /cvsroot/jrman/drafts/src/org/jrman/geom In directory sc8-pr-cvs1:/tmp/cvs-serv18922/src/org/jrman/geom Modified Files: ConvexHull3f.java Log Message: Added skeleton for Affine. Fixed local declarations bug. Index: ConvexHull3f.java =================================================================== RCS file: /cvsroot/jrman/drafts/src/org/jrman/geom/ConvexHull3f.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ConvexHull3f.java 15 Apr 2003 13:07:56 -0000 1.4 --- ConvexHull3f.java 16 Apr 2003 09:19:36 -0000 1.5 *************** *** 57,61 **** boolean inside = false; boolean outside = false; - ; for (Iterator iter = points.iterator(); iter.hasNext();) { Point3f p = (Point3f) iter.next(); --- 57,60 ---- |
From: <ma...@us...> - 2003-04-16 09:19:35
|
Update of /cvsroot/jrman/drafts/tests/org/jrman/geom In directory sc8-pr-cvs1:/tmp/cvs-serv18922/tests/org/jrman/geom Added Files: AffineTransformTest.java Log Message: Added skeleton for Affine. Fixed local declarations bug. --- NEW FILE: AffineTransformTest.java --- /* AffineTransformTest.java Copyright (C) 2003 Gerardo Horvilleur Martinez This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ package org.jrman.geom; import junit.framework.TestCase; public class AffineTransformTest extends TestCase { public AffineTransformTest(String arg0) { super(arg0); } protected void setUp() throws Exception { super.setUp(); } protected void tearDown() throws Exception { super.tearDown(); } public void testCreateOrthographic() { } public void testCreateRaster() { } public void testCreateNDC() { } public void testGetCopy() { } /* * Test for Transform concat(Transform) */ public void testConcatTransform() { } /* * Test for Transform concat(Matrix4f) */ public void testConcatMatrix4f() { } /* * Test for void transformPoint(Point2f) */ public void testTransformPointPoint2f() { } /* * Test for void transformPoint(Point2f, Point2f) */ public void testTransformPointPoint2fPoint2f() { } /* * Test for void transformPoint(Point3f) */ public void testTransformPointPoint3f() { } /* * Test for void transformPoint(Point3f, Point3f) */ public void testTransformPointPoint3fPoint3f() { } /* * Test for void transformHPoint(Point4f) */ public void testTransformHPointPoint4f() { } /* * Test for void transformHPoint(Point4f, Point4f) */ public void testTransformHPointPoint4fPoint4f() { } /* * Test for void transformVector(Vector3f) */ public void testTransformVectorVector3f() { } /* * Test for void transformVector(Vector3f, Vector3f) */ public void testTransformVectorVector3fVector3f() { } /* * Test for void transformNormal(Vector3f) */ public void testTransformNormalVector3f() { } /* * Test for void transformNormal(Vector3f, Vector3f) */ public void testTransformNormalVector3fVector3f() { } /* * Test for void untransformPoint(Point2f) */ public void testUntransformPointPoint2f() { } /* * Test for void untransformPoint(Point2f, Point3f) */ public void testUntransformPointPoint2fPoint3f() { } /* * Test for void untransformPoint(Point3f) */ public void testUntransformPointPoint3f() { } /* * Test for void untransformPoint(Point3f, Point3f) */ public void testUntransformPointPoint3fPoint3f() { } /* * Test for void untransformHPoint(Point4f) */ public void testUntransformHPointPoint4f() { } /* * Test for void untransformHPoint(Point4f, Point4f) */ public void testUntransformHPointPoint4fPoint4f() { } /* * Test for void untransformVector(Vector3f) */ public void testUntransformVectorVector3f() { } /* * Test for void untransformVector(Vector3f, Vector3f) */ public void testUntransformVectorVector3fVector3f() { } /* * Test for void untransformNormal(Vector3f) */ public void testUntransformNormalVector3f() { } /* * Test for void untransformNormal(Vector3f, Vector3f) */ public void testUntransformNormalVector3fVector3f() { } public void testGetMatrix() { } public void testGetInverse() { } } |
From: <ma...@us...> - 2003-04-16 09:19:18
|
Update of /cvsroot/jrman/drafts/tests/org/jrman/geom In directory sc8-pr-cvs1:/tmp/cvs-serv18808/tests/org/jrman/geom Log Message: Directory /cvsroot/jrman/drafts/tests/org/jrman/geom added to the repository |
From: <ma...@us...> - 2003-04-16 09:19:17
|
Update of /cvsroot/jrman/drafts/tests/org/jrman In directory sc8-pr-cvs1:/tmp/cvs-serv18808/tests/org/jrman Log Message: Directory /cvsroot/jrman/drafts/tests/org/jrman added to the repository |
From: <ma...@us...> - 2003-04-16 09:19:16
|
Update of /cvsroot/jrman/drafts/tests/org In directory sc8-pr-cvs1:/tmp/cvs-serv18808/tests/org Log Message: Directory /cvsroot/jrman/drafts/tests/org added to the repository |