11 #include "InitCGMA.hpp"
12 #include "GeometryQueryTool.hpp"
13 #include "CGMConfig.h"
15 #define SENSE_FORWARD 1
16 #define SENSE_REVERSE ( -1 )
17 #define SENSE_UNKNOWN 0
23 if( MB_SUCCESS != ( A ) ) \
25 std::cerr << "Failure (error code " << ( A ) << ") at " __FILE__ ":" << __LINE__ << std::endl; \
31 std::string
input_cylcube = TestDir +
"unittest/io/cylcube.stp";
42 std::vector< int >& surf_ids_out,
43 std::vector< int >& senses_out );
46 std::vector< int >& surf_ids_out,
47 std::vector< int >& senses_out );
50 std::vector< int >& surf_ids_out,
51 std::vector< int >& senses_out );
54 std::vector< int >& vol_ids_out,
55 std::vector< int >& senses_out );
58 std::vector< int >& vol_ids_out,
59 std::vector< int >& senses_out );
62 std::vector< int >& vol_ids_out,
63 std::vector< int >& senses_out );
68 std::vector< EntityHandle > wrt_ents,
69 std::vector< int > senses,
70 std::vector< int > known_wrt_ids,
71 std::vector< int > known_senses );
93 InitCGMA::initialize_cgma();
94 GeometryQueryTool::instance()->delete_geometry();
118 void* val[] = { &
dim };
119 int number_of_curves;
137 std::vector< EntityHandle > surfs;
138 std::vector< int > senses;
139 std::vector< int > known_surf_ids;
140 std::vector< int > known_senses;
142 for(
unsigned int i = 0; i < curves.
size(); i++ )
152 known_surf_ids.clear();
153 known_senses.clear();
156 if( CGM_MAJOR_VERSION >= 14 )
187 std::vector< EntityHandle > wrt_ents,
188 std::vector< int > senses,
189 std::vector< int > known_wrt_ids,
190 std::vector< int > known_senses )
194 std::vector< int > wrt_ent_ids;
195 for(
unsigned int i = 0; i < wrt_ents.size(); i++ )
200 for(
unsigned int i = 0; i < wrt_ent_ids.size(); i++ )
202 for(
unsigned int j = 0; j < known_wrt_ids.size(); j++ )
204 if( wrt_ent_ids[i] == known_wrt_ids[j] )
211 wrt_ent_ids.erase( wrt_ent_ids.begin() + i );
212 senses.erase( senses.begin() + i );
220 int leftovers = wrt_ent_ids.size();
227 std::vector< int >& surf_ids_out,
228 std::vector< int >& senses_out )
235 surf_ids_out.push_back( 1 );
236 surf_ids_out.push_back( 6 );
242 surf_ids_out.push_back( 1 );
243 surf_ids_out.push_back( 5 );
249 surf_ids_out.push_back( 1 );
250 surf_ids_out.push_back( 4 );
256 surf_ids_out.push_back( 1 );
257 surf_ids_out.push_back( 3 );
263 surf_ids_out.push_back( 2 );
264 surf_ids_out.push_back( 6 );
270 surf_ids_out.push_back( 2 );
271 surf_ids_out.push_back( 3 );
277 surf_ids_out.push_back( 2 );
278 surf_ids_out.push_back( 4 );
284 surf_ids_out.push_back( 2 );
285 surf_ids_out.push_back( 5 );
291 surf_ids_out.push_back( 3 );
292 surf_ids_out.push_back( 4 );
298 surf_ids_out.push_back( 3 );
299 surf_ids_out.push_back( 6 );
305 surf_ids_out.push_back( 4 );
306 surf_ids_out.push_back( 5 );
312 surf_ids_out.push_back( 5 );
313 surf_ids_out.push_back( 6 );
319 surf_ids_out.push_back( 7 );
320 surf_ids_out.push_back( 8 );
326 surf_ids_out.push_back( 7 );
327 surf_ids_out.push_back( 9 );
340 std::vector< int >& surf_ids_out,
341 std::vector< int >& senses_out )
348 surf_ids_out.push_back( 1 );
349 surf_ids_out.push_back( 6 );
355 surf_ids_out.push_back( 1 );
356 surf_ids_out.push_back( 5 );
362 surf_ids_out.push_back( 1 );
363 surf_ids_out.push_back( 4 );
369 surf_ids_out.push_back( 1 );
370 surf_ids_out.push_back( 3 );
376 surf_ids_out.push_back( 2 );
377 surf_ids_out.push_back( 6 );
383 surf_ids_out.push_back( 2 );
384 surf_ids_out.push_back( 5 );
390 surf_ids_out.push_back( 2 );
391 surf_ids_out.push_back( 4 );
397 surf_ids_out.push_back( 2 );
398 surf_ids_out.push_back( 3 );
404 surf_ids_out.push_back( 3 );
405 surf_ids_out.push_back( 4 );
411 surf_ids_out.push_back( 3 );
412 surf_ids_out.push_back( 6 );
418 surf_ids_out.push_back( 4 );
419 surf_ids_out.push_back( 5 );
425 surf_ids_out.push_back( 5 );
426 surf_ids_out.push_back( 6 );
432 surf_ids_out.push_back( 7 );
433 surf_ids_out.push_back( 8 );
439 surf_ids_out.push_back( 7 );
440 surf_ids_out.push_back( 9 );
445 surf_ids_out.push_back( 7 );
446 surf_ids_out.push_back( 8 );
451 surf_ids_out.push_back( 7 );
452 surf_ids_out.push_back( 10 );
457 surf_ids_out.push_back( 8 );
458 surf_ids_out.push_back( 10 );
463 surf_ids_out.push_back( 8 );
464 surf_ids_out.push_back( 9 );
476 std::vector< int >& surf_ids_out,
477 std::vector< int >& senses_out )
484 surf_ids_out.push_back( 1 );
485 surf_ids_out.push_back( 6 );
491 surf_ids_out.push_back( 1 );
492 surf_ids_out.push_back( 5 );
498 surf_ids_out.push_back( 1 );
499 surf_ids_out.push_back( 4 );
505 surf_ids_out.push_back( 1 );
506 surf_ids_out.push_back( 3 );
512 surf_ids_out.push_back( 2 );
513 surf_ids_out.push_back( 6 );
519 surf_ids_out.push_back( 2 );
520 surf_ids_out.push_back( 3 );
526 surf_ids_out.push_back( 2 );
527 surf_ids_out.push_back( 4 );
533 surf_ids_out.push_back( 2 );
534 surf_ids_out.push_back( 5 );
540 surf_ids_out.push_back( 3 );
541 surf_ids_out.push_back( 4 );
547 surf_ids_out.push_back( 3 );
548 surf_ids_out.push_back( 6 );
554 surf_ids_out.push_back( 4 );
555 surf_ids_out.push_back( 5 );
561 surf_ids_out.push_back( 5 );
562 surf_ids_out.push_back( 6 );
568 surf_ids_out.push_back( 7 );
569 surf_ids_out.push_back( 8 );
575 surf_ids_out.push_back( 7 );
576 surf_ids_out.push_back( 9 );
581 surf_ids_out.push_back( 7 );
582 surf_ids_out.push_back( 8 );
587 surf_ids_out.push_back( 7 );
588 surf_ids_out.push_back( 10 );
593 surf_ids_out.push_back( 8 );
594 surf_ids_out.push_back( 10 );
599 surf_ids_out.push_back( 8 );
600 surf_ids_out.push_back( 9 );
630 void* val[] = { &
dim };
646 std::vector< EntityHandle > vols;
647 std::vector< int > senses;
648 std::vector< int > known_vol_ids;
649 std::vector< int > known_senses;
651 for(
unsigned int i = 0; i < surfs.
size(); i++ )
660 known_vol_ids.clear();
661 known_senses.clear();
665 if( CGM_MAJOR_VERSION >= 14 )
686 std::vector< int >& vol_ids_out,
687 std::vector< int >& senses_out )
694 vol_ids_out.push_back( 1 );
699 vol_ids_out.push_back( 1 );
704 vol_ids_out.push_back( 1 );
709 vol_ids_out.push_back( 1 );
714 vol_ids_out.push_back( 1 );
719 vol_ids_out.push_back( 1 );
724 vol_ids_out.push_back( 2 );
729 vol_ids_out.push_back( 2 );
734 vol_ids_out.push_back( 2 );
746 std::vector< int >& vol_ids_out,
747 std::vector< int >& senses_out )
754 vol_ids_out.push_back( 1 );
759 vol_ids_out.push_back( 1 );
764 vol_ids_out.push_back( 1 );
769 vol_ids_out.push_back( 1 );
774 vol_ids_out.push_back( 1 );
779 vol_ids_out.push_back( 1 );
784 vol_ids_out.push_back( 2 );
789 vol_ids_out.push_back( 2 );
794 vol_ids_out.push_back( 2 );
799 vol_ids_out.push_back( 2 );
803 std::cout <<
"Failure to find surface sense reference data. Returning failure..." << std::endl;
812 std::vector< int >& vol_ids_out,
813 std::vector< int >& senses_out )
825 vol_ids_out.push_back( 1 );
833 vol_ids_out.push_back( 2 );
838 std::cout <<
"Failure to find surface sense reference data. Returning failure..." << std::endl;