VTK
vtkJavaUtil.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkJavaUtil.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
16 #ifndef vtkJavaUtil_h
17 #define vtkJavaUtil_h
18 
19 #include "vtkSystemIncludes.h"
20 #include <jni.h>
21 #include "vtkCommand.h"
22 #include "vtkWrappingJavaModule.h"
23 
24 #include <string>
25 
26 extern VTKWRAPPINGJAVA_EXPORT jlong q(JNIEnv *env,jobject obj);
27 
28 extern VTKWRAPPINGJAVA_EXPORT void *vtkJavaGetPointerFromObject(JNIEnv *env,jobject obj);
29 extern VTKWRAPPINGJAVA_EXPORT char *vtkJavaUTFToChar(JNIEnv *env, jstring in);
30 extern VTKWRAPPINGJAVA_EXPORT bool vtkJavaUTFToString(JNIEnv *env, jstring in, std::string &out);
31 extern VTKWRAPPINGJAVA_EXPORT jstring vtkJavaMakeJavaString(JNIEnv *env, const char *in);
32 
33 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfFloatFromFloat(JNIEnv *env,
34  float *arr, int size);
35 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfDoubleFromFloat(JNIEnv *env,
36  float *arr, int size);
37 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfDoubleFromDouble(JNIEnv *env,
38  double *arr, int size);
39 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfShortFromShort(JNIEnv *env, short *arr, int size);
40 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfIntFromInt(JNIEnv *env, int *arr, int size);
41 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfIntFromIdType(JNIEnv *env, vtkIdType *arr, int size);
42 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfIntFromLongLong(JNIEnv *env, long long *arr, int size);
43 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfIntFromSignedChar(JNIEnv *env, signed char *arr, int size);
44 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfLongFromLong(JNIEnv *env, long *arr, int size);
45 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfByteFromUnsignedChar(JNIEnv *env, unsigned char *arr, int size);
46 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfByteFromChar(JNIEnv *env, char *arr, int size);
47 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfCharFromChar(JNIEnv *env, char *arr, int size);
48 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfUnsignedCharFromUnsignedChar(JNIEnv *env, unsigned char *arr, int size);
49 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfUnsignedIntFromUnsignedInt(JNIEnv *env, unsigned int *arr, int size);
50 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfUnsignedShortFromUnsignedShort(JNIEnv *env,unsigned short *ptr,int size);
51 extern VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfUnsignedLongFromUnsignedLong(JNIEnv *env, unsigned long *arr, int size);
52 
53 // this is the void pointer parameter passed to the vtk callback routines on
54 // behalf of the Java interface for callbacks.
56 {
57  JavaVM *vm;
58  jobject uobj;
59  jmethodID mid;
60 } ;
61 
62 extern VTKWRAPPINGJAVA_EXPORT void vtkJavaVoidFunc(void *);
63 extern VTKWRAPPINGJAVA_EXPORT void vtkJavaVoidFuncArgDelete(void *);
64 
65 class VTKWRAPPINGJAVA_EXPORT vtkJavaCommand : public vtkCommand
66 {
67 public:
68  static vtkJavaCommand *New() { return new vtkJavaCommand; };
69 
70  void SetGlobalRef(jobject obj) { this->uobj = obj; };
71  void SetMethodID(jmethodID id) { this->mid = id; };
72  void AssignJavaVM(JNIEnv *env) { env->GetJavaVM(&(this->vm)); };
73 
74  void Execute(vtkObject *, unsigned long, void *);
75 
76  JavaVM *vm;
77  jobject uobj;
78  jmethodID mid;
79 protected:
81  ~vtkJavaCommand();
82 };
83 
84 #endif
85 // VTK-HeaderTest-Exclude: vtkJavaUtil.h
virtual void Execute(vtkObject *caller, unsigned long eventId, void *callData)=0
JavaVM * vm
Definition: vtkJavaUtil.h:76
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfIntFromLongLong(JNIEnv *env, long long *arr, int size)
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfIntFromInt(JNIEnv *env, int *arr, int size)
abstract base class for most VTK objects
Definition: vtkObject.h:61
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfUnsignedCharFromUnsignedChar(JNIEnv *env, unsigned char *arr, int size)
void SetMethodID(jmethodID id)
Definition: vtkJavaUtil.h:71
VTKWRAPPINGJAVA_EXPORT char * vtkJavaUTFToChar(JNIEnv *env, jstring in)
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfDoubleFromDouble(JNIEnv *env, double *arr, int size)
VTKWRAPPINGJAVA_EXPORT bool vtkJavaUTFToString(JNIEnv *env, jstring in, std::string &out)
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfByteFromUnsignedChar(JNIEnv *env, unsigned char *arr, int size)
VTKWRAPPINGJAVA_EXPORT void vtkJavaVoidFuncArgDelete(void *)
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfUnsignedShortFromUnsignedShort(JNIEnv *env, unsigned short *ptr, int size)
VTKWRAPPINGJAVA_EXPORT jstring vtkJavaMakeJavaString(JNIEnv *env, const char *in)
VTKWRAPPINGJAVA_EXPORT void vtkJavaVoidFunc(void *)
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfUnsignedIntFromUnsignedInt(JNIEnv *env, unsigned int *arr, int size)
int vtkIdType
Definition: vtkType.h:247
jobject uobj
Definition: vtkJavaUtil.h:77
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfIntFromSignedChar(JNIEnv *env, signed char *arr, int size)
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfLongFromLong(JNIEnv *env, long *arr, int size)
void AssignJavaVM(JNIEnv *env)
Definition: vtkJavaUtil.h:72
superclass for callback/observer methods
Definition: vtkCommand.h:328
void SetGlobalRef(jobject obj)
Definition: vtkJavaUtil.h:70
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfByteFromChar(JNIEnv *env, char *arr, int size)
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfIntFromIdType(JNIEnv *env, vtkIdType *arr, int size)
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfShortFromShort(JNIEnv *env, short *arr, int size)
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfUnsignedLongFromUnsignedLong(JNIEnv *env, unsigned long *arr, int size)
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfCharFromChar(JNIEnv *env, char *arr, int size)
VTKWRAPPINGJAVA_EXPORT jlong q(JNIEnv *env, jobject obj)
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfFloatFromFloat(JNIEnv *env, float *arr, int size)
VTKWRAPPINGJAVA_EXPORT jarray vtkJavaMakeJArrayOfDoubleFromFloat(JNIEnv *env, float *arr, int size)
VTKWRAPPINGJAVA_EXPORT void * vtkJavaGetPointerFromObject(JNIEnv *env, jobject obj)
static vtkJavaCommand * New()
Definition: vtkJavaUtil.h:68
jmethodID mid
Definition: vtkJavaUtil.h:78