From 5db7ce6d71df0ffe204762dbeb19d17eb94344cc Mon Sep 17 00:00:00 2001 From: Kenneth Russel Date: Sat, 3 Dec 2005 01:38:42 +0000 Subject: 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 --- make/glu-CustomJavaCode.java | 56 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'make/glu-CustomJavaCode.java') 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:
GLint gluProject(GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * winX, GLdouble * winY, GLdouble * winZ); */ +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:
GLint gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * objX, GLdouble * objY, GLdouble * objZ); */ 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:
GLint gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * objX, GLdouble * objY, GLdouble * objZ); */ +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:
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); */ 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:
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); */ +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); } -- cgit v1.2.3