Integration of OCCT 6.5.0 from SVN
[occt.git] / samples / java / drv / SampleHLRJni / SampleHLRJni_SampleHLRPackage_java.cxx
1 //
2 //                     Copyright (C) 1991 - 2000 by  
3 //                      Matra Datavision SA.  All rights reserved.
4 //  
5 //                     Copyright (C) 2001 - 2004 by
6 //                     Open CASCADE SA.  All rights reserved.
7 // 
8 // This file is part of the Open CASCADE Technology software.
9 //
10 // This software may be distributed and/or modified under the terms and
11 // conditions of the Open CASCADE Public License as defined by Open CASCADE SA
12 // and appearing in the file LICENSE included in the packaging of this file.
13 //  
14 // This software is distributed on an "AS IS" basis, without warranty of any
15 // kind, and Open CASCADE SA hereby disclaims all such warranties,
16 // including without limitation, any warranties of merchantability, fitness
17 // for a particular purpose or non-infringement. Please see the License for
18 // the specific terms and conditions governing rights and limitations under the
19 // License.
20
21
22 #include <SampleHLRJni_SampleHLRPackage.h>
23 #include <SampleHLRPackage.hxx>
24 #include <jcas.hxx>
25 #include <stdlib.h>
26 #include <Standard_ErrorHandler.hxx>
27 #include <Standard_Failure.hxx>
28 #include <Standard_SStream.hxx>
29
30 #include <V3d_Viewer.hxx>
31 #include <Standard_ExtString.hxx>
32 #include <V3d_View.hxx>
33 #include <Standard_Integer.hxx>
34 #include <V2d_Viewer.hxx>
35 #include <V2d_View.hxx>
36 #include <AIS_InteractiveContext.hxx>
37 #include <Standard_Boolean.hxx>
38 #include <ISession2D_InteractiveContext.hxx>
39 #include <Standard_CString.hxx>
40
41
42 extern "C" {
43
44
45 JNIEXPORT jobject JNICALL Java_SampleHLRJni_SampleHLRPackage_CreateViewer3d (JNIEnv *env, jclass, jstring aName)
46 {
47 jobject thejret;
48
49 jcas_Locking alock(env);
50 {
51 try {
52 Standard_ExtString the_aName = jcas_ConvertToExtString(env,aName);
53 Handle(V3d_Viewer)* theret = new Handle(V3d_Viewer);
54 *theret = SampleHLRPackage::CreateViewer3d(the_aName);
55 thejret = jcas_CreateObject(env,"CASCADESamplesJni/V3d_Viewer",theret);
56
57 }
58 catch (Standard_Failure) {
59   Standard_SStream Err;
60   Err <<   Standard_Failure::Caught(); 
61   Err << (char) 0;
62   jcas_ThrowException(env,Err.str().c_str());
63 }
64 }
65 alock.Release();
66 return thejret;
67 }
68
69
70
71 JNIEXPORT void JNICALL Java_SampleHLRJni_SampleHLRPackage_SetWindow3d (JNIEnv *env, jclass, jobject aView, jint hiwin, jint lowin)
72 {
73
74 jcas_Locking alock(env);
75 {
76 try {
77  Handle( V3d_View ) the_aView;
78  void*                ptr_aView = jcas_GetHandle(env,aView);
79  
80  if ( ptr_aView != NULL ) the_aView = *(   (  Handle( V3d_View )*  )ptr_aView   );
81
82 SampleHLRPackage::SetWindow3d(the_aView,(Standard_Integer) hiwin,(Standard_Integer) lowin);
83
84 }
85 catch (Standard_Failure) {
86   Standard_SStream Err;
87   Err <<   Standard_Failure::Caught(); 
88   Err << (char) 0;
89   jcas_ThrowException(env,Err.str().c_str());
90 }
91 }
92 alock.Release();
93
94 }
95
96
97
98 JNIEXPORT jobject JNICALL Java_SampleHLRJni_SampleHLRPackage_CreateViewer2d (JNIEnv *env, jclass, jstring aName)
99 {
100 jobject thejret;
101
102 jcas_Locking alock(env);
103 {
104 try {
105 Standard_ExtString the_aName = jcas_ConvertToExtString(env,aName);
106 Handle(V2d_Viewer)* theret = new Handle(V2d_Viewer);
107 *theret = SampleHLRPackage::CreateViewer2d(the_aName);
108 thejret = jcas_CreateObject(env,"CASCADESamplesJni/V2d_Viewer",theret);
109
110 }
111 catch (Standard_Failure) {
112   Standard_SStream Err;
113   Err <<   Standard_Failure::Caught(); 
114   Err << (char) 0;
115   jcas_ThrowException(env,Err.str().c_str());
116 }
117 }
118 alock.Release();
119 return thejret;
120 }
121
122
123
124 JNIEXPORT jobject JNICALL Java_SampleHLRJni_SampleHLRPackage_CreateView2d (JNIEnv *env, jclass, jobject aViewer, jint hiwin, jint lowin)
125 {
126 jobject thejret;
127
128 jcas_Locking alock(env);
129 {
130 try {
131  Handle( V2d_Viewer ) the_aViewer;
132  void*                ptr_aViewer = jcas_GetHandle(env,aViewer);
133  
134  if ( ptr_aViewer != NULL ) the_aViewer = *(   (  Handle( V2d_Viewer )*  )ptr_aViewer   );
135
136 Handle(V2d_View)* theret = new Handle(V2d_View);
137 *theret = SampleHLRPackage::CreateView2d(the_aViewer,(Standard_Integer) hiwin,(Standard_Integer) lowin);
138 thejret = jcas_CreateObject(env,"CASCADESamplesJni/V2d_View",theret);
139
140 }
141 catch (Standard_Failure) {
142   Standard_SStream Err;
143   Err <<   Standard_Failure::Caught(); 
144   Err << (char) 0;
145   jcas_ThrowException(env,Err.str().c_str());
146 }
147 }
148 alock.Release();
149 return thejret;
150 }
151
152
153
154 JNIEXPORT void JNICALL Java_SampleHLRJni_SampleHLRPackage_InitMaps (JNIEnv *env, jclass, jobject aViewer)
155 {
156
157 jcas_Locking alock(env);
158 {
159 try {
160  Handle( V2d_Viewer ) the_aViewer;
161  void*                ptr_aViewer = jcas_GetHandle(env,aViewer);
162  
163  if ( ptr_aViewer != NULL ) the_aViewer = *(   (  Handle( V2d_Viewer )*  )ptr_aViewer   );
164
165 SampleHLRPackage::InitMaps(the_aViewer);
166
167 }
168 catch (Standard_Failure) {
169   Standard_SStream Err;
170   Err <<   Standard_Failure::Caught(); 
171   Err << (char) 0;
172   jcas_ThrowException(env,Err.str().c_str());
173 }
174 }
175 alock.Release();
176
177 }
178
179
180
181 JNIEXPORT void JNICALL Java_SampleHLRJni_SampleHLRPackage_DisplayTrihedron (JNIEnv *env, jclass, jobject aContext)
182 {
183
184 jcas_Locking alock(env);
185 {
186 try {
187  Handle( AIS_InteractiveContext ) the_aContext;
188  void*                ptr_aContext = jcas_GetHandle(env,aContext);
189  
190  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
191
192 SampleHLRPackage::DisplayTrihedron(the_aContext);
193
194 }
195 catch (Standard_Failure) {
196   Standard_SStream Err;
197   Err <<   Standard_Failure::Caught(); 
198   Err << (char) 0;
199   jcas_ThrowException(env,Err.str().c_str());
200 }
201 }
202 alock.Release();
203
204 }
205
206
207
208 JNIEXPORT jboolean JNICALL Java_SampleHLRJni_SampleHLRPackage_GetShapes (JNIEnv *env, jclass, jobject aSrcContext, jobject aDestContext)
209 {
210 jboolean thejret;
211
212 jcas_Locking alock(env);
213 {
214 try {
215  Handle( AIS_InteractiveContext ) the_aSrcContext;
216  void*                ptr_aSrcContext = jcas_GetHandle(env,aSrcContext);
217  
218  if ( ptr_aSrcContext != NULL ) the_aSrcContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aSrcContext   );
219
220  Handle( AIS_InteractiveContext ) the_aDestContext;
221  void*                ptr_aDestContext = jcas_GetHandle(env,aDestContext);
222  
223  if ( ptr_aDestContext != NULL ) the_aDestContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aDestContext   );
224
225  thejret = SampleHLRPackage::GetShapes(the_aSrcContext,the_aDestContext);
226
227 }
228 catch (Standard_Failure) {
229   Standard_SStream Err;
230   Err <<   Standard_Failure::Caught(); 
231   Err << (char) 0;
232   jcas_ThrowException(env,Err.str().c_str());
233 }
234 }
235 alock.Release();
236 return thejret;
237 }
238
239
240
241 JNIEXPORT void JNICALL Java_SampleHLRJni_SampleHLRPackage_Apply (JNIEnv *env, jclass, jobject aContext2d, jint aDisplayMode)
242 {
243
244 jcas_Locking alock(env);
245 {
246 try {
247  Handle( ISession2D_InteractiveContext ) the_aContext2d;
248  void*                ptr_aContext2d = jcas_GetHandle(env,aContext2d);
249  
250  if ( ptr_aContext2d != NULL ) the_aContext2d = *(   (  Handle( ISession2D_InteractiveContext )*  )ptr_aContext2d   );
251
252 SampleHLRPackage::Apply(the_aContext2d,(Standard_Integer) aDisplayMode);
253
254 }
255 catch (Standard_Failure) {
256   Standard_SStream Err;
257   Err <<   Standard_Failure::Caught(); 
258   Err << (char) 0;
259   jcas_ThrowException(env,Err.str().c_str());
260 }
261 }
262 alock.Release();
263
264 }
265
266
267
268 JNIEXPORT void JNICALL Java_SampleHLRJni_SampleHLRPackage_UpdateProjector (JNIEnv *env, jclass, jobject aView)
269 {
270
271 jcas_Locking alock(env);
272 {
273 try {
274  Handle( V3d_View ) the_aView;
275  void*                ptr_aView = jcas_GetHandle(env,aView);
276  
277  if ( ptr_aView != NULL ) the_aView = *(   (  Handle( V3d_View )*  )ptr_aView   );
278
279 SampleHLRPackage::UpdateProjector(the_aView);
280
281 }
282 catch (Standard_Failure) {
283   Standard_SStream Err;
284   Err <<   Standard_Failure::Caught(); 
285   Err << (char) 0;
286   jcas_ThrowException(env,Err.str().c_str());
287 }
288 }
289 alock.Release();
290
291 }
292
293
294
295 JNIEXPORT void JNICALL Java_SampleHLRJni_SampleHLRPackage_SetNbIsos (JNIEnv *env, jclass, jint aNbIsos)
296 {
297
298 jcas_Locking alock(env);
299 {
300 try {
301 SampleHLRPackage::SetNbIsos((Standard_Integer) aNbIsos);
302
303 }
304 catch (Standard_Failure) {
305   Standard_SStream Err;
306   Err <<   Standard_Failure::Caught(); 
307   Err << (char) 0;
308   jcas_ThrowException(env,Err.str().c_str());
309 }
310 }
311 alock.Release();
312
313 }
314
315
316
317 JNIEXPORT jboolean JNICALL Java_SampleHLRJni_SampleHLRPackage_ReadBRep (JNIEnv *env, jclass, jobject aFileName, jobject aContext)
318 {
319 jboolean thejret;
320
321 jcas_Locking alock(env);
322 {
323 try {
324 Standard_CString the_aFileName = jcas_ConvertToCString(env,aFileName);
325  Handle( AIS_InteractiveContext ) the_aContext;
326  void*                ptr_aContext = jcas_GetHandle(env,aContext);
327  
328  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
329
330  thejret = SampleHLRPackage::ReadBRep(the_aFileName,the_aContext);
331
332 }
333 catch (Standard_Failure) {
334   Standard_SStream Err;
335   Err <<   Standard_Failure::Caught(); 
336   Err << (char) 0;
337   jcas_ThrowException(env,Err.str().c_str());
338 }
339 }
340 alock.Release();
341 return thejret;
342 }
343
344
345
346 JNIEXPORT jboolean JNICALL Java_SampleHLRJni_SampleHLRPackage_SaveBRep (JNIEnv *env, jclass, jobject aFileName, jobject aContext)
347 {
348 jboolean thejret;
349
350 jcas_Locking alock(env);
351 {
352 try {
353 Standard_CString the_aFileName = jcas_ConvertToCString(env,aFileName);
354  Handle( AIS_InteractiveContext ) the_aContext;
355  void*                ptr_aContext = jcas_GetHandle(env,aContext);
356  
357  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
358
359  thejret = SampleHLRPackage::SaveBRep(the_aFileName,the_aContext);
360
361 }
362 catch (Standard_Failure) {
363   Standard_SStream Err;
364   Err <<   Standard_Failure::Caught(); 
365   Err << (char) 0;
366   jcas_ThrowException(env,Err.str().c_str());
367 }
368 }
369 alock.Release();
370 return thejret;
371 }
372
373
374
375 JNIEXPORT jboolean JNICALL Java_SampleHLRJni_SampleHLRPackage_SampleHLRPackage_1SaveImage_11 (JNIEnv *env, jclass, jobject aFileName, jobject aFormat, jobject aView)
376 {
377 jboolean thejret;
378
379 jcas_Locking alock(env);
380 {
381 try {
382 Standard_CString the_aFileName = jcas_ConvertToCString(env,aFileName);
383 Standard_CString the_aFormat = jcas_ConvertToCString(env,aFormat);
384  Handle( V3d_View ) the_aView;
385  void*                ptr_aView = jcas_GetHandle(env,aView);
386  
387  if ( ptr_aView != NULL ) the_aView = *(   (  Handle( V3d_View )*  )ptr_aView   );
388
389  thejret = SampleHLRPackage::SaveImage(the_aFileName,the_aFormat,the_aView);
390
391 }
392 catch (Standard_Failure) {
393   Standard_SStream Err;
394   Err <<   Standard_Failure::Caught(); 
395   Err << (char) 0;
396   jcas_ThrowException(env,Err.str().c_str());
397 }
398 }
399 alock.Release();
400 return thejret;
401 }
402
403
404
405 JNIEXPORT jboolean JNICALL Java_SampleHLRJni_SampleHLRPackage_SampleHLRPackage_1SaveImage_12 (JNIEnv *env, jclass, jobject aFileName, jobject aFormat, jobject aView)
406 {
407 jboolean thejret;
408
409 jcas_Locking alock(env);
410 {
411 try {
412 Standard_CString the_aFileName = jcas_ConvertToCString(env,aFileName);
413 Standard_CString the_aFormat = jcas_ConvertToCString(env,aFormat);
414  Handle( V2d_View ) the_aView;
415  void*                ptr_aView = jcas_GetHandle(env,aView);
416  
417  if ( ptr_aView != NULL ) the_aView = *(   (  Handle( V2d_View )*  )ptr_aView   );
418
419  thejret = SampleHLRPackage::SaveImage(the_aFileName,the_aFormat,the_aView);
420
421 }
422 catch (Standard_Failure) {
423   Standard_SStream Err;
424   Err <<   Standard_Failure::Caught(); 
425   Err << (char) 0;
426   jcas_ThrowException(env,Err.str().c_str());
427 }
428 }
429 alock.Release();
430 return thejret;
431 }
432
433
434 }