aboutsummaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
authorKenneth Russel <[email protected]>2005-12-03 01:38:42 +0000
committerKenneth Russel <[email protected]>2005-12-03 01:38:42 +0000
commit5db7ce6d71df0ffe204762dbeb19d17eb94344cc (patch)
tree370145c31a5e12905793cb58cbe7e59ed42aa051 /make
parent6b0ef6d0ec66bf851ac2bdfb8c1e3aec63ba7459 (diff)
Added GLU projection-related entry points accepting Buffers as
arguments to round out the JSR-231 spec git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@472 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'make')
-rw-r--r--make/glu-CustomJavaCode.java56
1 files changed, 56 insertions, 0 deletions
diff --git a/make/glu-CustomJavaCode.java b/make/glu-CustomJavaCode.java
index be919da1e..370b5959b 100644
--- a/make/glu-CustomJavaCode.java
+++ b/make/glu-CustomJavaCode.java
@@ -1018,6 +1018,16 @@ public boolean gluProject(double objX, double objY, double objZ, double[] model,
return res;
}
+/** Interface to C language function: <br> <code> GLint gluProject(GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * winX, GLdouble * winY, GLdouble * winZ); </code> */
+public boolean gluProject(double objX, double objY, double objZ, DoubleBuffer model, DoubleBuffer proj, IntBuffer view, DoubleBuffer winX, DoubleBuffer winY, DoubleBuffer winZ) {
+ DoubleBuffer tmp = BufferUtils.newDoubleBuffer(3);
+ boolean res = project.gluProject(objX, objY, objZ, model, proj, view, tmp);
+ winX.put(winX.position(), tmp.get(0));
+ winY.put(winY.position(), tmp.get(1));
+ winZ.put(winZ.position(), tmp.get(2));
+ return res;
+}
+
/**
* Convenience routine for gluProject that accepts the outgoing window
* coordinates as a single array.
@@ -1026,6 +1036,14 @@ public boolean gluProject(double objX, double objY, double objZ, double[] model,
return project.gluProject(objX, objY, objZ, model, model_offset, proj, proj_offset, view, view_offset, winPos, winPos_offset);
}
+/**
+ * Convenience routine for gluProject that accepts the outgoing window
+ * coordinates as a single buffer.
+ */
+public boolean gluProject(double objX, double objY, double objZ, DoubleBuffer model, DoubleBuffer proj, IntBuffer view, DoubleBuffer winPos) {
+ return project.gluProject(objX, objY, objZ, model, proj, view, winPos);
+}
+
/** Interface to C language function: <br> <code> GLint gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * objX, GLdouble * objY, GLdouble * objZ); </code> */
public boolean gluUnProject(double winX, double winY, double winZ, double[] model, int model_offset, double[] proj, int proj_offset, int[] view, int view_offset, double[] objX, int objX_offset, double[] objY, int objY_offset, double[] objZ, int objZ_offset) {
double[] tmp = new double[3];
@@ -1036,6 +1054,16 @@ public boolean gluUnProject(double winX, double winY, double winZ, double[] mode
return res;
}
+/** Interface to C language function: <br> <code> GLint gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * objX, GLdouble * objY, GLdouble * objZ); </code> */
+public boolean gluUnProject(double winX, double winY, double winZ, DoubleBuffer model, int model_offset, DoubleBuffer proj, IntBuffer view, DoubleBuffer objX, DoubleBuffer objY, DoubleBuffer objZ) {
+ DoubleBuffer tmp = BufferUtils.newDoubleBuffer(3);
+ boolean res = project.gluUnProject(winX, winY, winZ, model, proj, view, tmp);
+ objX.put(objX.position(), tmp.get(0));
+ objY.put(objY.position(), tmp.get(1));
+ objZ.put(objZ.position(), tmp.get(2));
+ return res;
+}
+
/**
* Convenience routine for gluUnProject that accepts the outgoing
* object coordinates (a 3-vector) as a single array.
@@ -1044,6 +1072,14 @@ public boolean gluUnProject(double winX, double winY, double winZ, double[] mode
return project.gluUnProject(winX, winY, winZ, model, model_offset, proj, proj_offset, view, view_offset, objPos, objPos_offset);
}
+/**
+ * Convenience routine for gluUnProject that accepts the outgoing
+ * object coordinates (a 3-vector) as a single buffer.
+ */
+public boolean gluUnProject(double winX, double winY, double winZ, DoubleBuffer model, DoubleBuffer proj, IntBuffer view, DoubleBuffer objPos) {
+ return project.gluUnProject(winX, winY, winZ, model, proj, view, objPos);
+}
+
/** Interface to C language function: <br> <code> GLint gluUnProject4(GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble nearVal, GLdouble farVal, GLdouble * objX, GLdouble * objY, GLdouble * objZ, GLdouble * objW); </code> */
public boolean gluUnProject4(double winX, double winY, double winZ, double clipW, double[] model, int model_offset, double[] proj, int proj_offset, int[] view, int view_offset, double nearVal, double farVal, double[] objX, int objX_offset, double[] objY, int objY_offset, double[] objZ, int objZ_offset, double[] objW, int objW_offset) {
double[] tmp = new double[4];
@@ -1056,6 +1092,18 @@ public boolean gluUnProject4(double winX, double winY, double winZ, double clipW
return res;
}
+/** Interface to C language function: <br> <code> GLint gluUnProject4(GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble nearVal, GLdouble farVal, GLdouble * objX, GLdouble * objY, GLdouble * objZ, GLdouble * objW); </code> */
+public boolean gluUnProject4(double winX, double winY, double winZ, double clipW, DoubleBuffer model, DoubleBuffer proj, IntBuffer view, double nearVal, double farVal, DoubleBuffer objX, DoubleBuffer objY, DoubleBuffer objZ, DoubleBuffer objW) {
+ DoubleBuffer tmp = BufferUtils.newDoubleBuffer(4);
+ boolean res = project.gluUnProject4(winX, winY, winZ, clipW, model, proj,
+ view, nearVal, farVal, tmp);
+ objX.put(objX.position(), tmp.get(0));
+ objY.put(objY.position(), tmp.get(1));
+ objZ.put(objZ.position(), tmp.get(2));
+ objW.put(objW.position(), tmp.get(3));
+ return res;
+}
+
/**
* Convenience routine for gluUnProject4 that accepts the outgoing
* object coordinates (a 4-vector) as a single array.
@@ -1064,6 +1112,14 @@ public boolean gluUnProject4(double winX, double winY, double winZ, double clipW
return project.gluUnProject4(winX, winY, winZ, clipW, model, model_offset, proj, proj_offset, view, view_offset, nearVal, farVal, objPos, objPos_offset);
}
+/**
+ * Convenience routine for gluUnProject4 that accepts the outgoing
+ * object coordinates (a 4-vector) as a single buffer.
+ */
+public boolean gluUnProject4(double winX, double winY, double winZ, double clipW, DoubleBuffer model, DoubleBuffer proj, IntBuffer view, double nearVal, double farVal, DoubleBuffer objPos) {
+ return project.gluUnProject4(winX, winY, winZ, clipW, model, proj, view, nearVal, farVal, objPos);
+}
+
public void gluPickMatrix(double x, double y, double delX, double delY, int[] viewport, int viewport_offset) {
project.gluPickMatrix(getCurrentGL(), x, y, delX, delY, viewport, viewport_offset);
}