From: Geoffrey F. <fu...@us...> - 2001-08-20 19:59:44
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv29031/bindings/java Log Message: Directory /cvsroot/plplot/plplot/bindings/java added to the repository |
From: Geoffrey F. <fu...@us...> - 2001-08-20 20:01:24
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv29964/bindings/java Added Files: PLStream.java Log Message: Beginnings of a Java class to encapsulate a PLplot stream. |
From: Geoffrey F. <fu...@us...> - 2001-08-20 20:01:48
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv30169/bindings/java Added Files: javabind.c Log Message: Beginnings of a JNI interface to PLplot's C API. |
From: Geoffrey F. <fu...@us...> - 2001-08-20 23:40:37
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv24372/bindings/java Modified Files: PLStream.java Log Message: Add JNI native decl's for several commonly used PLplot API functions. |
From: Geoffrey F. <fu...@us...> - 2001-08-20 23:43:49
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv24892/bindings/java Modified Files: javabind.c Log Message: Implement native wrappers for several commonly used PLplot API entry points. These are currently quite naive, and do no error checking, but it is enough to obtain initial-grade visual gratification from the Java binding effort. Things to do: 1) Add gobs of remaining API entry points. 2) Beef up error analysis to check for propper array lenghts, etc. Basically do argument validity checking. 3) Do something about float/double conversions. |
From: Geoffrey F. <fu...@us...> - 2001-08-21 17:57:33
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv5347/bindings/java Modified Files: PLStream.java Log Message: Fix very tricky error in building of the dynloadable drivers. C programs like x01c were working fine with dynamic drivers, but only accidentally. Specifically, references by the drivers to functions provided by libplplot, were being resolved in some cases as a result of the peculiarities of how the final executable was being built. However, in the case of the java binding, we don't control the way in which Java's System.loadLibrary( "plplot" ); manages the interraction with dlopen(), so we have to prime the pump. To make it all work, we have to actually link the drivers against libplplot.so, so that when the drivers are dynloaded into libplplot during the Java static init section in PLStream.java, they will actually resolve symbols against the (already loaded) libplplot.so. It all comes down to understanding dlopen() and friends. Evidently when the JVM does the external (native) load, it won't use RTLD_GLOBAL. I guess that makes some kind of sense from a security standpoint, although it complicates the situation for dynloadable libraries which want to dynload additional components. Anyway, it works now. The dynamic drivers can be loaded into executable programs compiled in the usual way (shown by the PLplot makefile), or into libplplot.so when libplplot.so is itself dynloaded into some other process, such as occurs in the case of the JVM loading the PLplot JNI binding dynamically. Cool. |
From: Geoffrey F. <fu...@ga...> - 2001-08-21 18:06:25
|
Geoffrey Furnish writes: > Update of /cvsroot/plplot/plplot/bindings/java > In directory usw-pr-cvs1:/tmp/cvs-serv5347/bindings/java > > Modified Files: > PLStream.java > Log Message: Woops, sorry guys, this file got the wrong commit message due to a cosmic biff in my editor. What actually happened with this file, is that I implemented native method decls for a bunch more API entry points, needed to implement x01.java. 12 down, 112 still to go. > Fix very tricky error in building of the dynloadable drivers. > > C programs like x01c were working fine with dynamic drivers, but only > accidentally. Specifically, references by the drivers to functions > provided by libplplot, were being resolved in some cases as a result > of the peculiarities of how the final executable was being built. > > However, in the case of the java binding, we don't control the way in > which Java's System.loadLibrary( "plplot" ); manages the interraction > with dlopen(), so we have to prime the pump. To make it all work, we > have to actually link the drivers against libplplot.so, so that when > the drivers are dynloaded into libplplot during the Java static init > section in PLStream.java, they will actually resolve symbols against > the (already loaded) libplplot.so. > > It all comes down to understanding dlopen() and friends. Evidently > when the JVM does the external (native) load, it won't use > RTLD_GLOBAL. I guess that makes some kind of sense from a security > standpoint, although it complicates the situation for dynloadable > libraries which want to dynload additional components. > > Anyway, it works now. The dynamic drivers can be loaded into > executable programs compiled in the usual way (shown by the PLplot > makefile), or into libplplot.so when libplplot.so is itself dynloaded > into some other process, such as occurs in the case of the JVM loading > the PLplot JNI binding dynamically. > > Cool. > > > _______________________________________________ > Plplot-cvs mailing list > Plp...@li... > http://lists.sourceforge.net/lists/listinfo/plplot-cvs |
From: Geoffrey F. <fu...@us...> - 2001-08-21 17:58:46
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv6119/bindings/java Modified Files: javabind.c Log Message: Implement more API wrappers so we can knock off the rest of the plots in x01.java. |
From: Geoffrey F. <fu...@us...> - 2001-08-23 16:25:03
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv12421/bindings/java Modified Files: PLStream.java Log Message: Add some more native method decls, and introduce a member variable for holding the stream id, so that we can ensure that plotting actions go to the propper stream. |
From: Geoffrey F. <fu...@us...> - 2001-08-23 16:33:41
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv14722/bindings/java Modified Files: javabind.c Log Message: Add some more native method wrappers. Embellish init() so that it fetches the PLplot stream id after it calls plinit(). This is then stored in the stream_id member field of the PLStream Java class. Finally, introduce a macro which is to be expanded inside each native method wrapper, which fetches the stream_id member from the Java class, and sets the PLplot stream id. |
From: Geoffrey F. <fu...@us...> - 2001-08-23 18:09:15
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv7485/bindings/java Modified Files: PLStream.java javabind.c Log Message: Reworked to get the stream association business done right. Now PLStream's ctor calls mkstrm(), a private native method. mkstrm() invokes plmkstrm() and returns the resulting stream id, which PLStream stores in its stream_id member. But mkstrm() also does the JNI hocus pocus to cache the stream_id field id. Since mkstrm() is called by the PLStream ctor, we know it will be the first JNI wrapper invoked, making it safe to do the global ref fetching mumbo jumbo there. Now all API wrappers, including init(), proceed by fetching the stream_id from the PLStream class, setting the PLplot stream, and invoking their corresponding API function. |
From: Geoffrey F. <fu...@us...> - 2001-08-24 20:16:16
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv5550/bindings/java Modified Files: PLStream.java javabind.c Log Message: Several new API wrappers, plus double overloads of some that were only provided with float variants before. |
From: Geoffrey F. <fu...@us...> - 2001-08-27 18:08:50
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv12141/bindings/java Modified Files: PLStream.java javabind.c Log Message: First pass at implementing a Java interface to the arg parsing routines. This isn't complete yet: we don't have user-supplied options, and we don't propagate the preened arg array back to the java side. But it is enough to allow setting the plplot options from the Java program's command line, which significantly improves usability. |
From: Geoffrey F. <fu...@us...> - 2001-08-28 17:26:38
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv31263/bindings/java Modified Files: PLStream.java javabind.c Log Message: Implement more API wrappers, including buffered plline() for Java. |
From: Geoffrey F. <fu...@us...> - 2001-08-31 18:07:10
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv18361/bindings/java Modified Files: PLStream.java javabind.c Log Message: Implement hist(). |
From: Geoffrey F. <fu...@us...> - 2001-10-04 19:50:10
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv14432/bindings/java Modified Files: PLStream.java javabind.c Log Message: Implement sym overloadings. |
From: Geoffrey F. <fu...@us...> - 2001-10-05 18:43:02
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv6605/bindings/java Modified Files: PLStream.java javabind.c Log Message: Implement numerous additional API bindings, especially those related to 3-d drawings for x08.java, but also several others that caught my fancy along the way. Also left in comments for more API entry points that need to be bound (but not all). This is a long process, oweing to the sheer number of functions in PLplot, and to the need to overload for float and double in Java. plot3d and plotsh3d are fully implemented now, including all the JNI hocus pocus for extracting the 2-d arrays. However, there is some remaining issue with the "release" mechanism for the 2-d data array. Currently we leave the arrays unreleased, which is probably a leak, but at least it doesn't core. |
From: Geoffrey F. <fu...@us...> - 2001-10-26 17:46:09
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv8726/bindings/java Modified Files: PLStream.java javabind.c Log Message: Fleshed out the overloading of poin, and added both float and double variants of mesh. |
From: Alan W. I. <ai...@us...> - 2001-10-29 21:13:14
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv24104 Modified Files: PLStream.java Log Message: Temporarily switch to double-precision library name until this single-double configuration issue is solved. |
From: Alan W. I. <ai...@us...> - 2001-10-31 21:41:39
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv24493 Modified Files: PLStream.java javabind.c Log Message: Changed jfloat to jdouble on one line in the pls.poin binder where it obviously did not follow the pattern. This fixed the x01 single-precision problem with pls.poin, and I also tested that x01 still worked when double precision was configured for the back end. |
From: Geoffrey F. <fu...@us...> - 2001-11-01 02:07:40
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv14228 Added Files: config.java.in Log Message: An autoconf input file, for making static configuraton data available inside the Java binding. |
From: Geoffrey F. <fu...@us...> - 2001-11-01 02:09:27
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv14461 Modified Files: PLStream.java Log Message: Change from a hard-coded name for the plplot library, to plplot.core.config.libname, which is dcotored at configuration time. |
From: Geoffrey F. <fu...@us...> - 2001-12-28 08:18:20
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv22152/bindings/java Modified Files: PLStream.java Log Message: Add comments in the class header to mark all the API's that still need to be implemented in JNI (there's still a /lot/ of work to do). Implemented: col1 (F/D) fill (F/D) fill3 (F/D) line3 (F/D) lsty psty |
From: Geoffrey F. <fu...@us...> - 2001-12-28 08:19:29
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv22348/bindings/java Modified Files: javabind.c Log Message: Implemented: col1 (F/D) fill (F/D) fill3 (F/D) line3 (F/D) lsty psty |
From: Geoffrey F. <fu...@us...> - 2002-01-02 05:42:31
|
Update of /cvsroot/plplot/plplot/bindings/java In directory usw-pr-cvs1:/tmp/cvs-serv20210/bindings/java Modified Files: PLStream.java javabind.c Log Message: Implemented JNI wrappers for: arrows, axes, bin, bop, eop, errx, erry, famadv including float/double overloading where appropriate. |