Integration of OCCT 6.5.0 from SVN
[occt.git] / samples / java / drv / SampleAISSelectJni / SampleAISSelectJni_SampleAISSelectPackage_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 <SampleAISSelectJni_SampleAISSelectPackage.h>
23 #include <SampleAISSelectPackage.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 <AIS_InteractiveContext.hxx>
35 #include <TCollection_AsciiString.hxx>
36 #include <Standard_Real.hxx>
37 #include <Standard_Boolean.hxx>
38 #include <Quantity_Color.hxx>
39
40
41 extern "C" {
42
43
44 JNIEXPORT jobject JNICALL Java_SampleAISSelectJni_SampleAISSelectPackage_CreateViewer (JNIEnv *env, jclass, jstring aName)
45 {
46 jobject thejret;
47
48 jcas_Locking alock(env);
49 {
50 try {
51 Standard_ExtString the_aName = jcas_ConvertToExtString(env,aName);
52 Handle(V3d_Viewer)* theret = new Handle(V3d_Viewer);
53 *theret = SampleAISSelectPackage::CreateViewer(the_aName);
54 thejret = jcas_CreateObject(env,"CASCADESamplesJni/V3d_Viewer",theret);
55
56 }
57 catch (Standard_Failure) {
58   Standard_SStream Err;
59   Err <<   Standard_Failure::Caught(); 
60   Err << (char) 0;
61   jcas_ThrowException(env,Err.str().c_str());
62 }
63 }
64 alock.Release();
65 return thejret;
66 }
67
68
69
70 JNIEXPORT void JNICALL Java_SampleAISSelectJni_SampleAISSelectPackage_SetWindow (JNIEnv *env, jclass, jobject aView, jint hiwin, jint lowin)
71 {
72
73 jcas_Locking alock(env);
74 {
75 try {
76  Handle( V3d_View ) the_aView;
77  void*                ptr_aView = jcas_GetHandle(env,aView);
78  
79  if ( ptr_aView != NULL ) the_aView = *(   (  Handle( V3d_View )*  )ptr_aView   );
80
81 SampleAISSelectPackage::SetWindow(the_aView,(Standard_Integer) hiwin,(Standard_Integer) lowin);
82
83 }
84 catch (Standard_Failure) {
85   Standard_SStream Err;
86   Err <<   Standard_Failure::Caught(); 
87   Err << (char) 0;
88   jcas_ThrowException(env,Err.str().c_str());
89 }
90 }
91 alock.Release();
92
93 }
94
95
96
97 JNIEXPORT void JNICALL Java_SampleAISSelectJni_SampleAISSelectPackage_DisplayBox (JNIEnv *env, jclass, jobject aContext, jobject Message)
98 {
99
100 jcas_Locking alock(env);
101 {
102 try {
103  Handle( AIS_InteractiveContext ) the_aContext;
104  void*                ptr_aContext = jcas_GetHandle(env,aContext);
105  
106  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
107
108 TCollection_AsciiString* the_Message = (TCollection_AsciiString*) jcas_GetHandle(env,Message);
109 if ( the_Message == NULL ) {
110
111  // The following assumes availability of the default constructor (what may not
112  // always be the case). Therefore explicit exception is thrown if the null
113  // object has been passed.
114  // the_Message = new TCollection_AsciiString ();
115  // jcas_SetHandle ( env, Message, the_Message );
116  jcas_ThrowException (env, "NULL object has been passed while expecting an object manipulated by value");
117
118 }  // end if
119 SampleAISSelectPackage::DisplayBox(the_aContext,*the_Message);
120
121 }
122 catch (Standard_Failure) {
123   Standard_SStream Err;
124   Err <<   Standard_Failure::Caught(); 
125   Err << (char) 0;
126   jcas_ThrowException(env,Err.str().c_str());
127 }
128 }
129 alock.Release();
130
131 }
132
133
134
135 JNIEXPORT void JNICALL Java_SampleAISSelectJni_SampleAISSelectPackage_DisplayCylinder (JNIEnv *env, jclass, jobject aContext, jobject Message)
136 {
137
138 jcas_Locking alock(env);
139 {
140 try {
141  Handle( AIS_InteractiveContext ) the_aContext;
142  void*                ptr_aContext = jcas_GetHandle(env,aContext);
143  
144  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
145
146 TCollection_AsciiString* the_Message = (TCollection_AsciiString*) jcas_GetHandle(env,Message);
147 if ( the_Message == NULL ) {
148
149  // The following assumes availability of the default constructor (what may not
150  // always be the case). Therefore explicit exception is thrown if the null
151  // object has been passed.
152  // the_Message = new TCollection_AsciiString ();
153  // jcas_SetHandle ( env, Message, the_Message );
154  jcas_ThrowException (env, "NULL object has been passed while expecting an object manipulated by value");
155
156 }  // end if
157 SampleAISSelectPackage::DisplayCylinder(the_aContext,*the_Message);
158
159 }
160 catch (Standard_Failure) {
161   Standard_SStream Err;
162   Err <<   Standard_Failure::Caught(); 
163   Err << (char) 0;
164   jcas_ThrowException(env,Err.str().c_str());
165 }
166 }
167 alock.Release();
168
169 }
170
171
172
173 JNIEXPORT void JNICALL Java_SampleAISSelectJni_SampleAISSelectPackage_SelectVertices (JNIEnv *env, jclass, jobject aContext, jobject Message)
174 {
175
176 jcas_Locking alock(env);
177 {
178 try {
179  Handle( AIS_InteractiveContext ) the_aContext;
180  void*                ptr_aContext = jcas_GetHandle(env,aContext);
181  
182  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
183
184 TCollection_AsciiString* the_Message = (TCollection_AsciiString*) jcas_GetHandle(env,Message);
185 if ( the_Message == NULL ) {
186
187  // The following assumes availability of the default constructor (what may not
188  // always be the case). Therefore explicit exception is thrown if the null
189  // object has been passed.
190  // the_Message = new TCollection_AsciiString ();
191  // jcas_SetHandle ( env, Message, the_Message );
192  jcas_ThrowException (env, "NULL object has been passed while expecting an object manipulated by value");
193
194 }  // end if
195 SampleAISSelectPackage::SelectVertices(the_aContext,*the_Message);
196
197 }
198 catch (Standard_Failure) {
199   Standard_SStream Err;
200   Err <<   Standard_Failure::Caught(); 
201   Err << (char) 0;
202   jcas_ThrowException(env,Err.str().c_str());
203 }
204 }
205 alock.Release();
206
207 }
208
209
210
211 JNIEXPORT void JNICALL Java_SampleAISSelectJni_SampleAISSelectPackage_SelectEdges (JNIEnv *env, jclass, jobject aContext, jobject Message)
212 {
213
214 jcas_Locking alock(env);
215 {
216 try {
217  Handle( AIS_InteractiveContext ) the_aContext;
218  void*                ptr_aContext = jcas_GetHandle(env,aContext);
219  
220  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
221
222 TCollection_AsciiString* the_Message = (TCollection_AsciiString*) jcas_GetHandle(env,Message);
223 if ( the_Message == NULL ) {
224
225  // The following assumes availability of the default constructor (what may not
226  // always be the case). Therefore explicit exception is thrown if the null
227  // object has been passed.
228  // the_Message = new TCollection_AsciiString ();
229  // jcas_SetHandle ( env, Message, the_Message );
230  jcas_ThrowException (env, "NULL object has been passed while expecting an object manipulated by value");
231
232 }  // end if
233 SampleAISSelectPackage::SelectEdges(the_aContext,*the_Message);
234
235 }
236 catch (Standard_Failure) {
237   Standard_SStream Err;
238   Err <<   Standard_Failure::Caught(); 
239   Err << (char) 0;
240   jcas_ThrowException(env,Err.str().c_str());
241 }
242 }
243 alock.Release();
244
245 }
246
247
248
249 JNIEXPORT void JNICALL Java_SampleAISSelectJni_SampleAISSelectPackage_SelectFaces (JNIEnv *env, jclass, jobject aContext, jobject Message)
250 {
251
252 jcas_Locking alock(env);
253 {
254 try {
255  Handle( AIS_InteractiveContext ) the_aContext;
256  void*                ptr_aContext = jcas_GetHandle(env,aContext);
257  
258  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
259
260 TCollection_AsciiString* the_Message = (TCollection_AsciiString*) jcas_GetHandle(env,Message);
261 if ( the_Message == NULL ) {
262
263  // The following assumes availability of the default constructor (what may not
264  // always be the case). Therefore explicit exception is thrown if the null
265  // object has been passed.
266  // the_Message = new TCollection_AsciiString ();
267  // jcas_SetHandle ( env, Message, the_Message );
268  jcas_ThrowException (env, "NULL object has been passed while expecting an object manipulated by value");
269
270 }  // end if
271 SampleAISSelectPackage::SelectFaces(the_aContext,*the_Message);
272
273 }
274 catch (Standard_Failure) {
275   Standard_SStream Err;
276   Err <<   Standard_Failure::Caught(); 
277   Err << (char) 0;
278   jcas_ThrowException(env,Err.str().c_str());
279 }
280 }
281 alock.Release();
282
283 }
284
285
286
287 JNIEXPORT void JNICALL Java_SampleAISSelectJni_SampleAISSelectPackage_SelectNeutral (JNIEnv *env, jclass, jobject aContext, jobject Message)
288 {
289
290 jcas_Locking alock(env);
291 {
292 try {
293  Handle( AIS_InteractiveContext ) the_aContext;
294  void*                ptr_aContext = jcas_GetHandle(env,aContext);
295  
296  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
297
298 TCollection_AsciiString* the_Message = (TCollection_AsciiString*) jcas_GetHandle(env,Message);
299 if ( the_Message == NULL ) {
300
301  // The following assumes availability of the default constructor (what may not
302  // always be the case). Therefore explicit exception is thrown if the null
303  // object has been passed.
304  // the_Message = new TCollection_AsciiString ();
305  // jcas_SetHandle ( env, Message, the_Message );
306  jcas_ThrowException (env, "NULL object has been passed while expecting an object manipulated by value");
307
308 }  // end if
309 SampleAISSelectPackage::SelectNeutral(the_aContext,*the_Message);
310
311 }
312 catch (Standard_Failure) {
313   Standard_SStream Err;
314   Err <<   Standard_Failure::Caught(); 
315   Err << (char) 0;
316   jcas_ThrowException(env,Err.str().c_str());
317 }
318 }
319 alock.Release();
320
321 }
322
323
324
325 JNIEXPORT jint JNICALL Java_SampleAISSelectJni_SampleAISSelectPackage_MakeFillet (JNIEnv *env, jclass, jobject aContext, jdouble aValue, jobject Message)
326 {
327 jint thejret;
328
329 jcas_Locking alock(env);
330 {
331 try {
332  Handle( AIS_InteractiveContext ) the_aContext;
333  void*                ptr_aContext = jcas_GetHandle(env,aContext);
334  
335  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
336
337 TCollection_AsciiString* the_Message = (TCollection_AsciiString*) jcas_GetHandle(env,Message);
338 if ( the_Message == NULL ) {
339
340  // The following assumes availability of the default constructor (what may not
341  // always be the case). Therefore explicit exception is thrown if the null
342  // object has been passed.
343  // the_Message = new TCollection_AsciiString ();
344  // jcas_SetHandle ( env, Message, the_Message );
345  jcas_ThrowException (env, "NULL object has been passed while expecting an object manipulated by value");
346
347 }  // end if
348  thejret = SampleAISSelectPackage::MakeFillet(the_aContext,(Standard_Real) aValue,*the_Message);
349
350 }
351 catch (Standard_Failure) {
352   Standard_SStream Err;
353   Err <<   Standard_Failure::Caught(); 
354   Err << (char) 0;
355   jcas_ThrowException(env,Err.str().c_str());
356 }
357 }
358 alock.Release();
359 return thejret;
360 }
361
362
363
364 JNIEXPORT jboolean JNICALL Java_SampleAISSelectJni_SampleAISSelectPackage_IsCylinderSelected (JNIEnv *env, jclass, jobject aContext)
365 {
366 jboolean thejret;
367
368 jcas_Locking alock(env);
369 {
370 try {
371  Handle( AIS_InteractiveContext ) the_aContext;
372  void*                ptr_aContext = jcas_GetHandle(env,aContext);
373  
374  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
375
376  thejret = SampleAISSelectPackage::IsCylinderSelected(the_aContext);
377
378 }
379 catch (Standard_Failure) {
380   Standard_SStream Err;
381   Err <<   Standard_Failure::Caught(); 
382   Err << (char) 0;
383   jcas_ThrowException(env,Err.str().c_str());
384 }
385 }
386 alock.Release();
387 return thejret;
388 }
389
390
391
392 JNIEXPORT void JNICALL Java_SampleAISSelectJni_SampleAISSelectPackage_StartSelectFace (JNIEnv *env, jclass, jobject aContext)
393 {
394
395 jcas_Locking alock(env);
396 {
397 try {
398  Handle( AIS_InteractiveContext ) the_aContext;
399  void*                ptr_aContext = jcas_GetHandle(env,aContext);
400  
401  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
402
403 SampleAISSelectPackage::StartSelectFace(the_aContext);
404
405 }
406 catch (Standard_Failure) {
407   Standard_SStream Err;
408   Err <<   Standard_Failure::Caught(); 
409   Err << (char) 0;
410   jcas_ThrowException(env,Err.str().c_str());
411 }
412 }
413 alock.Release();
414
415 }
416
417
418
419 JNIEXPORT jobject JNICALL Java_SampleAISSelectJni_SampleAISSelectPackage_GetFaceColor (JNIEnv *env, jclass, jobject aContext)
420 {
421 jobject thejret;
422
423 jcas_Locking alock(env);
424 {
425 try {
426  Handle( AIS_InteractiveContext ) the_aContext;
427  void*                ptr_aContext = jcas_GetHandle(env,aContext);
428  
429  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
430
431 Quantity_Color* theret = new Quantity_Color(SampleAISSelectPackage::GetFaceColor(the_aContext));
432 thejret = jcas_CreateObject(env,"CASCADESamplesJni/Quantity_Color",theret);
433
434 }
435 catch (Standard_Failure) {
436   Standard_SStream Err;
437   Err <<   Standard_Failure::Caught(); 
438   Err << (char) 0;
439   jcas_ThrowException(env,Err.str().c_str());
440 }
441 }
442 alock.Release();
443 return thejret;
444 }
445
446
447
448 JNIEXPORT void JNICALL Java_SampleAISSelectJni_SampleAISSelectPackage_SetFaceColor (JNIEnv *env, jclass, jobject aContext, jobject aColor, jobject Message)
449 {
450
451 jcas_Locking alock(env);
452 {
453 try {
454  Handle( AIS_InteractiveContext ) the_aContext;
455  void*                ptr_aContext = jcas_GetHandle(env,aContext);
456  
457  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
458
459 Quantity_Color* the_aColor = (Quantity_Color*) jcas_GetHandle(env,aColor);
460 if ( the_aColor == NULL ) {
461
462  // The following assumes availability of the default constructor (what may not
463  // always be the case). Therefore explicit exception is thrown if the null
464  // object has been passed.
465  // the_aColor = new Quantity_Color ();
466  // jcas_SetHandle ( env, aColor, the_aColor );
467  jcas_ThrowException (env, "NULL object has been passed while expecting an object manipulated by value");
468
469 }  // end if
470 TCollection_AsciiString* the_Message = (TCollection_AsciiString*) jcas_GetHandle(env,Message);
471 if ( the_Message == NULL ) {
472
473  // The following assumes availability of the default constructor (what may not
474  // always be the case). Therefore explicit exception is thrown if the null
475  // object has been passed.
476  // the_Message = new TCollection_AsciiString ();
477  // jcas_SetHandle ( env, Message, the_Message );
478  jcas_ThrowException (env, "NULL object has been passed while expecting an object manipulated by value");
479
480 }  // end if
481 SampleAISSelectPackage::SetFaceColor(the_aContext,*the_aColor,*the_Message);
482
483 }
484 catch (Standard_Failure) {
485   Standard_SStream Err;
486   Err <<   Standard_Failure::Caught(); 
487   Err << (char) 0;
488   jcas_ThrowException(env,Err.str().c_str());
489 }
490 }
491 alock.Release();
492
493 }
494
495
496
497 JNIEXPORT void JNICALL Java_SampleAISSelectJni_SampleAISSelectPackage_EndSelectFace (JNIEnv *env, jclass, jobject aContext)
498 {
499
500 jcas_Locking alock(env);
501 {
502 try {
503  Handle( AIS_InteractiveContext ) the_aContext;
504  void*                ptr_aContext = jcas_GetHandle(env,aContext);
505  
506  if ( ptr_aContext != NULL ) the_aContext = *(   (  Handle( AIS_InteractiveContext )*  )ptr_aContext   );
507
508 SampleAISSelectPackage::EndSelectFace(the_aContext);
509
510 }
511 catch (Standard_Failure) {
512   Standard_SStream Err;
513   Err <<   Standard_Failure::Caught(); 
514   Err << (char) 0;
515   jcas_ThrowException(env,Err.str().c_str());
516 }
517 }
518 alock.Release();
519
520 }
521
522
523 }