Skip to content

Commit

Permalink
Lots of new files. Amongst which the source code of vecmath.jar.
Browse files Browse the repository at this point in the history
The latter has been changed to compile with gcj-3.0.4.
Actually, CDK does now compile, i.e. at least the classes mentioned
in core.classes and extra.classes. *And* a binary executable can get
generated that works!


git-svn-id: svn://svn.code.sf.net/p/cdk/svn/trunk/cdk/gcj/vecmath@578 0a0da97e-6518-47a9-9b15-46d1aca6830b
  • Loading branch information
egonw committed Aug 22, 2002
0 parents commit aec4773
Show file tree
Hide file tree
Showing 47 changed files with 19,217 additions and 0 deletions.
139 changes: 139 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
* 1.2-1.15

- GCJ support (Egon Willighagen):
removed java.awt.Color support

* 1.2-1.14

** Java3D 1.2 Beta1 support

Tuple3i, Tuple4i, Point3i, Point4i new classes.
java.awt.Color <-> Color3b, Color4b, Color3f, Color4f support

** GMatrix bug

GMatrix.get(GMatrix) is fixed. Now 'row > col' matrice's SVD works.

* 1.2-1.13

** Java3D 1.2 Alpha support;

Vector4{d,f}#Vector4{d,f}(Tuple3{d,f})
Vector4{d,f}#set(Tuple3{d,f})

Point4{d,f}#Point4{d,f}(Tuple3{d,f})
Point4{d,f}#set(Tuple3{d,f})
AxisAngle4{d,f}#AxisAngle4{d,f}(Vector3{d,f},{double,float})

** copyright minor change

* 1.1-1.12

* 1.1-1.11

** Matrix3d, Matrix4d SVD normalization is now done for
each axis.

* 1.1-1.10

** Quat4f now extends Tuple4f(used to extend Tuple4d - bug)
thanks > Jon Beniston <[email protected]>

* 1.1-1.9

** Tuple4[df]#sub '99,2/27
w = t1.z - t2.w; fixed z -> w

** put C++ version in the site.

** Point4[df]#distanceSquared '99,2/28
double dw = z - p1.w; fixed z-> w

* 1.1-1.8

** GMatrix#mulTransposeRight bug
thanks > [email protected]

** GMatrix#add(GMatrix, GMatrix) method bug
reported by [email protected]

* 1.1-1.7

** Point2{d,f}#distanceSquared bug '98,10/16
thanks > [email protected]

* 1.1-1.6

** Matrix3f#set(float []) m22 should be m[ 8] but was m[ 9]
thanks > [email protected]

** added Matrix3{f,d}f#set(Matrix3{f,d})
thanks > [email protected]

** API1.1 Beta02 conformance.
see http://java.sun.com/products/java-media/3D/forDevelopers/NTR-3D.html
Deprecated methods in Matrix4d, Tuple3d, and Tuple4d's epsilonEquals,
scaleAdd, clamp....
Point{3,4}d's distance{L1,Linf} return type has been changed from
"float" to "double".

* 1.1-1.5

** transpose(M m1) of Matrix{3,4}{d,f} acted as the same as set(M m1). -> fixed to tranpose.
thanks > [email protected].

* 1.1-1.4

** implemented API1.1 Alpha03.

** added Point2d, Vector2d, Tuple2d and coordination with corresponding 2f.

** equals(Type) and equals(Object)

** interpolation is now t = (1-a)*t1 + a*t2

** AxisAngle4{d,f} default constructor constructs (0,0,1,0)

* 1.1-1.3

** null check for 'equals' '98,4/17

* 1.1-1.2

** many constructors added specified in the users guide. '98,4/10

* 1.1-1.1

** minor comment change '98,4/9

* 1.1-1.0

** the package is moved from java.vecmath to javax.vecmath. '98,4/9

** the all classes implements java.io.Serializable. '98,4/9

** expanded alias-safe feature. '98,4/9

** added two exception classes (which are not thrown from within this package now). '98,4/9

** commented some deprecated method. '98,4/9

* 1.0-1.3

** bug fix of Matrix4?.set(m,t,s). thanks > [email protected]
'98,4/8

* 1.0-1.2

** fixed typo bug in scale(double s) method of Tuple3d, Tuple4d, Tuple4f
suggested by [email protected] '98,1/6

* 1.0-1.1

** "\n" in toString -> String nl = System.getProperty("line.separator") and
changed format a bit (*Matrix*) '97,12/10

** added SVD rank return value. (GMatrix) '97,12/10

** fixed Vector3f#normalize, Tuple3f#scale typo bugs suggested by
[email protected] '97,12/29
109 changes: 109 additions & 0 deletions Makefile.gcj
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
GCJ=gcj-3.0
CLASSDIR = classes
PCDIR = pc
CLASSPATH = $(CLASSDIR):/vol/acfiles7/egonw/j2sdk1.4.0/jre/lib/rt.jar
VERSION = 1.2-1.15
ROOT = vecmath$(VERSION)

CLASSFILES = \
$(CLASSDIR)/javax/vecmath/Tuple2f.class \
$(CLASSDIR)/javax/vecmath/Tuple2d.class \
$(CLASSDIR)/javax/vecmath/Tuple3f.class \
$(CLASSDIR)/javax/vecmath/Tuple4f.class \
$(CLASSDIR)/javax/vecmath/Tuple4d.class \
$(CLASSDIR)/javax/vecmath/Tuple3d.class \
$(CLASSDIR)/javax/vecmath/Tuple3i.class \
$(CLASSDIR)/javax/vecmath/Tuple4i.class \
$(CLASSDIR)/javax/vecmath/Vector2f.class \
$(CLASSDIR)/javax/vecmath/Vector2d.class \
$(CLASSDIR)/javax/vecmath/Vector3f.class \
$(CLASSDIR)/javax/vecmath/Vector3d.class \
$(CLASSDIR)/javax/vecmath/Vector4f.class \
$(CLASSDIR)/javax/vecmath/Vector4d.class \
$(CLASSDIR)/javax/vecmath/TexCoord2f.class \
$(CLASSDIR)/javax/vecmath/TexCoord3f.class \
$(CLASSDIR)/javax/vecmath/Tuple3b.class \
$(CLASSDIR)/javax/vecmath/Color3b.class \
$(CLASSDIR)/javax/vecmath/Color3f.class \
$(CLASSDIR)/javax/vecmath/Tuple4b.class \
$(CLASSDIR)/javax/vecmath/Color4b.class \
$(CLASSDIR)/javax/vecmath/Color4f.class \
$(CLASSDIR)/javax/vecmath/Point2f.class \
$(CLASSDIR)/javax/vecmath/Point2d.class \
$(CLASSDIR)/javax/vecmath/Point3f.class \
$(CLASSDIR)/javax/vecmath/Point3d.class \
$(CLASSDIR)/javax/vecmath/Point4f.class \
$(CLASSDIR)/javax/vecmath/Point4d.class \
$(CLASSDIR)/javax/vecmath/Point3i.class \
$(CLASSDIR)/javax/vecmath/Point4i.class \
$(CLASSDIR)/javax/vecmath/Matrix3d.class \
$(CLASSDIR)/javax/vecmath/Matrix4d.class \
$(CLASSDIR)/javax/vecmath/Matrix3f.class \
$(CLASSDIR)/javax/vecmath/Matrix4f.class \
$(CLASSDIR)/javax/vecmath/AxisAngle4d.class \
$(CLASSDIR)/javax/vecmath/AxisAngle4f.class \
$(CLASSDIR)/javax/vecmath/Quat4d.class \
$(CLASSDIR)/javax/vecmath/Quat4f.class \
$(CLASSDIR)/javax/vecmath/GVector.class \
$(CLASSDIR)/javax/vecmath/GMatrix.class \
$(CLASSDIR)/javax/vecmath/MismatchedSizeException.class \
$(CLASSDIR)/javax/vecmath/SingularMatrixException.class \
$(CLASSDIR)/javax/vecmath/VecmathTest.class

PCFILES = $(CLASSFILES:classes/%.class=pc/%.java)
JAVA_SOURCEFILES = $(CLASSFILES:classes/%.class=%.java)
BACKFILES = $(JAVA_SOURCEFILES:%.java=%.java.bak)

all: classdir $(CLASSFILES)

lib:
${GCJ} -shared -o libvecmath.so -I${CLASSDIR} -c $(JAVA_SOURCEFILES)


$(CLASSDIR)/%.class: %.java
${GCJ} -d $(CLASSDIR) -I${CLASSDIR} -C $<

$(PCDIR)/%.java: %.java
sed 's/$/\015/' $< > $@

classdir: $(CLASSDIR)/javax/vecmath
$(CLASSDIR)/javax/vecmath:
mkdir -p $@

docs: FORCE
if [ ! -d docs ]; then \
mkdir -p docs; \
fi
export CLASSPATH; CLASSPATH=$(CLASSPATH):.; \
javadoc -d docs javax.vecmath

test:
export CLASSPATH; CLASSPATH=$(CLASSPATH):.; \
java -Djava.compiler=NONE javax.vecmath.VecmathTest

test2:
export CLASSPATH; CLASSPATH=/home/hiranabe/vecmath.jar:$(CLASSPATH):.; \
java javax.vecmath.VecmathTest

debug:
export CLASSPATH; CLASSPATH=$(CLASSPATH):.; \
jdb javax.vecmath.VecmathTest


pc: $(PCFILES)

rebuild: clean all

clean:
-rm $(CLASSFILES) $(BACKFILES)

cleanback:
-rm $(BACKFILES)

cleanpc:
-rm $(PCFILES)

cleanall: clean cleanback cleanpc

FORCE:

73 changes: 73 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
-----------------------------------------------------
javax.vecmath package by Kenji Hiranabe

11/25,'99 version 1.2-1.14
10/5,'99 version 1.2-1.13
6/12,'99 version 1.1-1.12
3/11,'99 version 1.1-1.10
3/4 ,'99 version 1.1-1.9
1/6 ,'99 version 1.1-1.8
10/14,'98 version 1.1-1.6
7/21,'98 version 1.1-1.4
4/9 ,'98 version 1.1-1.0
1/6 ,'98 version 1.0-1.2
1/5 ,'98 version 1.0-1.1
11/28,'97 version 1.0-0.8
-----------------------------------------------------

This is unofficial free implementation(source code release) of Java(TM) 3D
API 1.2 Beta1 vecmath package.

This package supports vector/point transformation math often utilized in
computer graphics.

The Included classes are the followings.

* Tuples

Tuple2f Tuple2d Tuple3b Tuple3d Tuple3f
| | | | |
+Vector2f +Vector2d +Color3b +Vector3d +Point3f
+Point2f +Point2d +Point3d +Vector3f
+TexCoord2f +Color3f
+TexCoord3f

Tuple4b Tuple4d Tuple4f Tuple3i Tuple4i
| | | | |
+Color4b +Vector4d +Color4f + Point3i + Point4i
+Point4d +Point4f
+Quat4d +Vector4f
+Quat4f

AxisAngle4d AxisAngle4f GVector

* Matrices

Matrix3d Matrix4d Matrix3f Matrix4f GMatrix

* Exceptions

MismatchedSizeException SingularMatrixException

Generic matrices' LU and SV decomposition are also there.
You can download the zipped, tar+gzipped or jar'ed *.java source code
from;

http://www.esm.co.jp/divisions/open-sys/java/vecmath/

I implemented my version from scatch and reviewed it with the version of Paul Bathen,
Kevin Copps, and Rick Niles from Adm King's unofficial j3d implementation.

The features are;
* FULL 1.2 specification is implemented. All the classes and methods are there.
* Has a test suite class named VecmathTest with a main method.
* No 'new' operator at all except for GMatrix, GVecator and error exceptions.
* Aliasing-safe. i.e. v.cross(v,v1) or m.mul(m1,m) works.

Any bug reports or comments are welcome.

Note, there is a parallel C++ version.

---
Eiwa System Management, Inc. http://www.esm.co.jp/
Kenji Hiranabe E-Mail: [email protected]
1 change: 1 addition & 0 deletions classes/.cvsignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
javax
Loading

0 comments on commit aec4773

Please sign in to comment.