27 #define CHECK( STR ) \
28 if( err != iBase_SUCCESS ) return print_error( STR, err, geom, __FILE__, __LINE__ )
30 #define STRINGIFY( S ) XSTRINGIFY( S )
31 #define XSTRINGIFY( S ) #S
39 std::cerr <<
"ERROR: " << desc << std::endl
40 <<
" Error code: " << err << std::endl
41 <<
" Error desc: " <<
buffer << std::endl
42 <<
" At : " << file <<
':' << line << std::endl;
60 template <
typename T >
72 arr = (
T*)malloc( s *
sizeof(
T ) );
73 for(
unsigned i = 0; i < s; ++i )
79 for(
int i = 0; i <
size(); ++i )
134 #define ARRAY_INOUT( A ) A.ptr(), &( A ).capacity(), &( A ).size()
135 #define ARRAY_IN( A ) &( A )[0], ( A ).size()
160 std::cout <<
"Success";
165 std::cout <<
"Failure";
170 int main(
int argc,
char* argv[] )
176 std::cout <<
"Using default input file: " <<
filename << std::endl;
184 std::cerr <<
"Usage: " << argv[0] <<
" [geom_filename]" << std::endl;
191 int number_tests_not_implemented = 0;
199 std::cerr <<
" Error code: " << err <<
" At : " << __FILE__ <<
':' << __LINE__ << std::endl;
204 std::cerr <<
" Error code: " << err <<
" failed to create a model set"
205 <<
" At : " << __FILE__ <<
':' << __LINE__ << std::endl;
209 std::cerr <<
" Error code: " << err <<
" failed load the file"
210 <<
" At : " << __FILE__ <<
':' << __LINE__ << std::endl;
212 std::string opts(
"SMOOTH;" );
216 CHECK(
"Interface initialization didn't work properly." );
219 std::cout <<
"\n\nITAPS GEOMETRY INTERFACE TEST PROGRAM:\n\n";
223 std::cout <<
" Smooth faceting load and initialization: \n";
231 std::cout <<
" tags: ";
247 std::cout <<
" topology adjacencies: ";
254 std::cout <<
" geometry evaluation: \n";
261 std::cout <<
" normals geometry evaluation: \n";
268 std::cout <<
" ray intersection test: \n";
330 std::cout <<
" shutdown: ";
331 std::string engine_opt;
339 CHECK(
"shutdown imesh error" );
342 std::cout <<
"\nTSTT TEST SUMMARY: \n"
345 <<
" Number Not Implemented: " << number_tests_not_implemented <<
"\n"
361 char opts[] =
"SMOOTH;";
364 CHECK(
"ERROR : can not load a geometry" );
368 CHECK(
"ERROR : getRootSet failed!" );
371 std::cout <<
"Model contents: " << std::endl;
372 const char* gtype[] = {
"vertices: ",
"edges: ",
"faces: ",
"regions: " };
373 for(
int i = 0; i <= 3; ++i )
377 CHECK(
"Error: problem getting entities after gLoad." );
378 std::cout << gtype[i] << count << std::endl;
391 if( !success )
return success;
394 if( !success )
return success;
405 CHECK(
"ERROR : getRootSet failed!" );
409 std::string tag_name(
"tag_info tag" ), tmp_name;
411 CHECK(
"ERROR : can not create a tag." );
415 char name_buffer[256];
417 CHECK(
"ERROR : Couldn't get tag name." );
418 if( tag_name != name_buffer )
420 std::cerr <<
"ERROR: getTagName returned '" << name_buffer <<
"' for tag created as '" << tag_name <<
"'"
426 CHECK(
"ERROR : Couldn't get tag handle." );
427 if( tmp_handle != this_tag )
429 std::cerr <<
"ERROR: getTagHandle didn't return consistent result." << std::endl;
435 CHECK(
"ERROR : Couldn't get tag size." );
438 std::cerr <<
"ERROR: getTagSizeBytes: expected 4, got " << tag_size << std::endl;
443 CHECK(
"ERROR : Couldn't get tag size." );
446 std::cerr <<
"ERROR: getTagSizeValues: expected 4, got " << tag_size << std::endl;
452 CHECK(
"ERROR : Couldn't get tag type." );
455 std::cerr <<
"ERROR: getTagType: expected " <<
iBase_BYTES <<
", got " << tag_type << std::endl;
460 CHECK(
"ERROR : Couldn't delete a tag." );
464 std::set< iBase_TagHandle > tags;
467 CHECK(
"getEntities( ..., iBase_ALL_TYPES, ... ) failed." );
468 for(
int i = 0; i <
entities.size(); ++i )
472 CHECK(
"getAllTags failed." );
473 std::copy( tag_arr.
begin(), tag_arr.
end(), std::inserter( tags, tags.begin() ) );
476 std::cout <<
"Tags defined on model: ";
478 for( std::set< iBase_TagHandle >::iterator sit = tags.begin(); sit != tags.end(); ++sit )
481 name_buffer[
sizeof( name_buffer ) - 1] =
'\0';
482 CHECK(
"getTagName failed." );
484 if( !
first ) std::cout <<
", ";
485 std::cout << name_buffer;
488 if(
first ) std::cout <<
"<none>";
489 std::cout << std::endl;
500 std::string tag_name(
"tag_get_set tag" );
502 CHECK(
"ERROR : can not create a tag for get_set test." );
506 CHECK(
"ERROR : getRootSet failed!" );
509 int sum = 0, num = 0,
dim;
514 int num_ents = gentity_handles.
size();
515 std::vector< int > tag_vals( num_ents );
516 for(
int i = 0; i < num_ents; ++i )
524 tag_vals.size() *
sizeof(
int ), &err );
525 CHECK(
"ERROR : can't set tag on entities" );
534 int num_ents = gentity_handles.
size();
538 &tag_vals.
size(), &err );
539 CHECK(
"ERROR : can't get tag on entities" );
541 int* tag_ptr = (
int*)( &tag_vals[0] );
542 for(
int i = 0; i < num_ents; ++i )
543 get_sum += tag_ptr[i];
548 std::cerr <<
"ERROR: getData didn't return consistent results." << std::endl;
553 CHECK(
"ERROR : couldn't delete tag." );
574 CHECK(
"ERROR : getRootSet failed!" );
579 CHECK(
"Problem getting the number of all gentity sets in whole model." );
582 for( ; ent_type < num_type; ent_type++ )
586 CHECK(
"Problem creating entityset." );
591 CHECK(
"Failed to get gentities by type in gentityset_test." );
595 CHECK(
"Failed to add gentities in entityset_test." );
599 CHECK(
"Failed to get number of gentities by type in entityset_test." );
602 int num_type_gentity = gentities.
size();
604 if( number_array[ent_type] != num_type_gentity )
606 std::cerr <<
"Number of gentities by type is not correct" << std::endl;
617 CHECK(
"Failed to create a super set in gentityset_test." );
619 for(
int i = 0; i < num_type; i++ )
622 CHECK(
"Failed to create a super set in gentityset_test." );
629 CHECK(
"Failed to create a super set in gentityset_test." );
636 CHECK(
"Failed to get gedge gentities in gentityset_test." );
640 CHECK(
"Failed to add gedge gentities in gentityset_test." );
644 CHECK(
"Failed to get gface gentities in gentityset_test." );
648 CHECK(
"Failed to add gface gentities in gentityset_test." );
652 CHECK(
"Failed to subtract gentitysets in gentityset_test." );
655 CHECK(
"Failed to get gface gentities in gentityset_test." );
657 if( gfaces.
size() != temp_gentities1.
size() )
659 std::cerr <<
"Number of entitysets after subtraction not correct \
668 CHECK(
"Failed to get dimensions of gentities in gentityset_test." );
671 std::cerr <<
"Subtraction failed to remove all edges" << std::endl;
680 CHECK(
"Failed to remove gface gentities in gentityset_test." );
684 CHECK(
"Failed to get number of gentities by type in gentityset_test." );
688 std::cerr <<
"failed to remove correctly." << std::endl;
694 CHECK(
"Failed to add gedge gentities in gentityset_test." );
698 CHECK(
"Failed to add gface gentities in gentityset_test." );
703 CHECK(
"Failed to intersect in gentityset_test." );
707 CHECK(
"Failed to get gface gentities in gentityset_test." );
711 std::cerr <<
"wrong number of gfaces." << std::endl;
722 CHECK(
"Failed to create a temp gentityset in gentityset_test." );
725 CHECK(
"Failed to get gregion gentities in gentityset_test." );
729 CHECK(
"Failed to add gregion gentities in gentityset_test." );
734 CHECK(
"Failed to unite in gentityset_test." );
738 CHECK(
"Failed to get number of gregion gentities by type in gentityset_test." );
742 std::cerr <<
"different number of gregions in gentityset_test." << std::endl;
751 CHECK(
"Problem creating gentityset in gentityset_test." );
754 CHECK(
"Problem add parent in gentityset_test." );
759 CHECK(
"Problem getting parents in gentityset_test." );
761 if( parents.
size() != 1 )
763 std::cerr <<
"number of parents is not correct in gentityset_test." << std::endl;
775 CHECK(
"Problem adding parent and child in gentityset_test." );
781 CHECK(
"Problem adding parent and child in gentityset_test." );
785 CHECK(
"Problem adding child in gentityset_test." );
790 CHECK(
"Problem getting number of parents in gentityset_test." );
794 std::cerr <<
"number of parents is not correct in gentityset_test." << std::endl;
801 CHECK(
"Problem getting number of children in gentityset_test." );
805 std::cerr <<
"number of children is not correct in gentityset_test." << std::endl;
811 CHECK(
"Problem getting children in gentityset_test." );
815 std::cerr <<
"number of children is not correct in gentityset_test." << std::endl;
821 CHECK(
"Problem removing parent child in gentityset_test." );
825 CHECK(
"Problem getting number of children in gentityset_test." );
829 std::cerr <<
"number of children is not correct in gentityset_test." << std::endl;
836 CHECK(
"Problem checking relation in gentityset_test." );
839 std::cerr <<
"parent_child and ges_array[TSTTG::EntityType_EDGE] should be related" << std::endl;
848 std::cerr <<
"ges_array[TSTTG::REGION] and ges_array[TSTTG::EntityType_FACE] should not be "
859 CHECK(
"Problem to get all gentity sets in mesh." );
861 if( gentity_sets.
size() != all_sets + 8 )
863 std::cerr <<
"the number of gentity sets in whole mesh should be 8 times of num_iter." << std::endl;
870 CHECK(
"Problem to get gentity sets in super set." );
875 CHECK(
"Problem to get the number of all gentity sets in super set." );
878 if( num_super != ges_array1.
size() )
880 std::cerr <<
"the number of gentity sets in super set should be same." << std::endl;
887 CHECK(
"Problem to get all gentities in super set." );
899 for(
int k = 0; k < num_super; k++ )
905 for(
int a = 0; a < ges_array1.
size(); a++ )
908 CHECK(
"Problem to add entity set." );
918 CHECK(
"Problem to add super set to gentitysets." );
929 CHECK(
"Problem to add temp set to gentitysets." );
949 CHECK(
"ERROR : getRootSet failed!" );
953 std::vector< std::vector< iBase_EntityHandle > > gentity_vectors( num_test_top );
959 for( i = top; i < num_test_top; i++ )
963 CHECK(
"Failed to get gentities in adjacencies_test." );
965 gentity_vectors[i].resize( gentities.
size() );
966 std::copy( gentities.
begin(), gentities.
end(), gentity_vectors[i].begin() );
970 for( i = top; i < num_test_top; i++ )
974 CHECK(
"Failed to get number of gentities in adjacencies_test." );
976 if(
static_cast< int >( gentity_vectors[i].
size() ) != num_tops )
978 std::cerr <<
"Number of gentities doesn't agree with number returned for dimension " << i << std::endl;
984 std::vector< iBase_EntityHandle >::iterator vit;
987 for( vit = gentity_vectors[i].begin(); vit != gentity_vectors[i].end(); ++vit )
997 CHECK(
"Bi-directional adjacencies test failed." );
1000 int num_lower = lower_ents.
size();
1001 for(
int k = 0; k < num_lower; k++ )
1005 CHECK(
"Bi-directional adjacencies test failed." );
1006 if( std::find( upper_ents.
begin(), upper_ents.
end(), this_gent ) == upper_ents.
end() )
1008 std::cerr <<
"Didn't find lower-upper adjacency which was supposed to be "
1010 << i <<
", " << j << std::endl;
1034 CHECK(
"ERROR : getRootSet failed!" );
1038 std::vector< std::vector< iBase_EntityHandle > > gentity_vectors( num_test_top );
1044 for( i = top; i < num_test_top; i++ )
1048 CHECK(
"Failed to get gentities in adjacencies_test." );
1050 gentity_vectors[i].resize( gentities.
size() );
1051 std::copy( gentities.
begin(), gentities.
end(), gentity_vectors[i].begin() );
1055 double min[3], max[3], on[3];
1056 double near[3] = { .0, .0, .0 };
1057 std::vector< iBase_EntityHandle >::iterator vit;
1062 for( vit = gentity_vectors[i].begin(); vit != gentity_vectors[i].end(); ++vit )
1066 CHECK(
"Failed to get bounding box of entity." );
1068 for(
int j = 0; j < 3; j++ )
1069 near[j] = ( min[j] + max[j] ) / 2;
1071 CHECK(
"Failed to get closest point on entity." );
1072 std::cout <<
" entity of type " << i <<
" closest point to \n " << near[0] <<
" " << near[1] <<
" "
1073 << near[2] <<
"\n is " << on[0] <<
" " << on[1] <<
" " << on[2] <<
"\n";
1087 CHECK(
"ERROR : getRootSet failed!" );
1091 std::vector< std::vector< iBase_EntityHandle > > gentity_vectors( num_test_top );
1097 for( i = top; i < num_test_top; i++ )
1101 CHECK(
"Failed to get gentities in adjacencies_test." );
1103 gentity_vectors[i].resize( gentities.
size() );
1104 std::copy( gentities.
begin(), gentities.
end(), gentity_vectors[i].begin() );
1108 double min[3], max[3];
1109 double normal[3] = { .0, .0, .0 };
1110 std::vector< iBase_EntityHandle >::iterator vit;
1113 for( vit = gentity_vectors[i].begin(); vit != gentity_vectors[i].end(); ++vit )
1117 CHECK(
"Failed to get bounding box of entity." );
1120 ( max[2] + min[2] ) / 2, &normal[0], &normal[1], &normal[2], &err );
1122 CHECK(
"Failed to get normal to the closest point." );
1123 std::cout <<
" entity of type " << i <<
" closest normal to center:\n " << normal[0] <<
" " << normal[1]
1124 <<
" " << normal[2] <<
"\n";
1137 CHECK(
"ERROR : getRootSet failed!" );
1143 CHECK(
"Failed to get gentities in adjacencies_test." );
1148 double min[3], max[3];
1153 CHECK(
"Failed to get bounding box of entity." );
1157 double x = ( min[0] + max[0] ) / 2, y = ( min[1] + max[1] ) / 2, z = min[2];
1166 CHECK(
"Failed to find ray intersections points " );
1167 for(
int i = 0; i < intersect_entity_handles.
size(); i++ )
1171 CHECK(
"Failed to get type of entity." );
1173 std::cout <<
" entity of type " << j <<
" n: " << intersect_entity_handles[i] <<
"\n"
1174 << intersect_coords[3 * i] <<
" " << intersect_coords[3 * i + 1] <<
" " << intersect_coords[3 * i + 2]
1176 <<
" distance: " << param_coords[i] <<
"\n";
1196 CHECK(
"Creating cylinder failed." );
1200 CHECK(
"Problems moving surface." );
1206 CHECK(
"Problems getting max surf for rotation." );
1211 CHECK(
"Problems getting max surf for rotation." );
1212 double dtol = 1.0e-6;
1213 for(
int i = 0; i < surfs.
size(); ++i )
1215 if( ( max_corn[3 * i + 2] ) <= dtol && ( max_corn[3 * i + 2] ) >= -dtol && ( min_corn[3 * i + 2] ) <= dtol &&
1216 ( min_corn[3 * i + 2] ) >= -dtol )
1218 max_surf = surfs[i];
1225 std::cerr <<
"Couldn't find max surf for rotation." << std::endl;
1231 CHECK(
"Problems moving surface." );
1234 CHECK(
"Problems sweeping surface about axis." );
1238 CHECK(
"Problems deleting cylinder or swept surface body." );
1245 const double* expected_max,
1246 const double* actual_min,
1247 const double* actual_max )
1250 double dtol = 1.0e-6;
1252 for(
int i = 0; i < 3; ++i )
1254 if( expected_min[i] < actual_min[i] - dtol || expected_min[i] * 10 > actual_min[i] ||
1255 expected_max[i] > actual_max[i] + dtol || expected_max[i] * 10 < actual_max[i] )
1268 CHECK(
"createBrick failed." );
1272 CHECK(
"createCylinder failed." );
1276 CHECK(
"createTorus failed." );
1284 double preset_min_corn[] =
1292 double preset_max_corn[] =
1300 if( !
compare_box( preset_min_corn, preset_max_corn, &min_corn[0], &max_corn[0] ) )
1302 std::cerr <<
"Box check failed for brick" << std::endl;
1306 if( !
compare_box( preset_min_corn + 3, preset_max_corn + 3, &min_corn[3], &max_corn[3] ) )
1308 std::cerr <<
"Box check failed for cylinder" << std::endl;
1312 if( !
compare_box( preset_min_corn + 6, preset_max_corn + 6, &min_corn[6], &max_corn[6] ) )
1314 std::cerr <<
"Box check failed for torus" << std::endl;
1318 for(
int i = 0; i < 3; ++i )
1321 CHECK(
"Problems deleting primitive after boolean check." );
1334 CHECK(
"Problems creating brick for transforms test." );
1338 CHECK(
"Problems moving brick for transforms test." );
1340 double bb_min[3], bb_max[3];
1342 CHECK(
"Problems getting bounding box after move." );
1344 double dtol = 1.0e-6;
1345 if( ( bb_min[0] ) >= dtol || ( bb_min[0] ) <= -dtol || ( bb_min[1] ) >= dtol || ( bb_min[1] ) <= -dtol ||
1346 ( bb_min[2] ) >= dtol || ( bb_min[2] ) <= -dtol || ( bb_max[0] - 1 ) >= dtol || 1 - bb_max[0] >= dtol ||
1347 ( bb_max[1] - 2 ) >= dtol || 2 - bb_max[1] >= dtol || ( bb_max[2] - 3 ) >= dtol || 3 - bb_max[2] >= dtol )
1349 std::cerr <<
"Wrong bounding box after move." << std::endl;
1355 CHECK(
"Problems rotating brick for transforms test." );
1358 CHECK(
"Problems getting bounding box after rotate." );
1360 if( ( bb_min[0] ) >= dtol || -bb_min[0] >= dtol || ( bb_min[1] + 3 ) >= dtol || -( bb_min[1] + 3 ) >= dtol ||
1361 ( bb_min[2] ) >= dtol || -( bb_min[2] ) >= dtol || ( bb_max[0] - 1 ) >= dtol || 1 - bb_max[0] >= dtol ||
1362 ( bb_max[1] ) >= dtol || -( bb_max[1] ) >= dtol || ( bb_max[2] - 2 ) >= dtol || 2 - bb_max[2] >= dtol )
1364 std::cerr <<
"Wrong bounding box after rotate." << std::endl;
1370 CHECK(
"Problems reflecting brick for transforms test." );
1373 CHECK(
"Problems getting bounding box after reflect." );
1375 if( ( bb_min[0] ) >= dtol || -( bb_min[0] ) >= dtol || ( bb_min[1] ) >= dtol || ( bb_min[2] ) >= dtol ||
1376 -( bb_min[1] ) >= dtol || -( bb_min[2] ) >= dtol || ( bb_max[0] - 1 ) >= dtol || 1 - bb_max[0] >= dtol ||
1377 ( bb_max[1] - 3 ) >= dtol || 3 - bb_max[1] >= dtol || ( bb_max[2] - 2 ) >= dtol || 2 - bb_max[2] >= dtol )
1379 std::cerr <<
"Wrong bounding box after reflect." << std::endl;
1385 CHECK(
"Problems deleting brick after transforms check." );
1396 CHECK(
"Problems creating brick for booleans test." );
1398 CHECK(
"Problems creating cylinder for booleans test." );
1403 CHECK(
"Problems subtracting for booleans subtract test." );
1408 CHECK(
"Problems sectioning for booleans section test." );
1412 CHECK(
"Problems creating cylinder for unite test." );
1416 CHECK(
"Problems uniting for booleans unite test." );
1419 CHECK(
"Problems deleting for booleans unite test." );
1425 std::vector< iBase_EntityHandle >& entities_out,
1427 std::vector< int >* ids_out = 0 )
1436 entities_out.resize( num );
1437 int junk1 = entities_out.size(), junk2;
1442 assert( num == junk1 && num == junk2 );
1446 ids_out->resize( num );
1447 int* int_ptr = &( *ids_out )[0];
1450 assert( num == junk1 && num == junk2 );
1456 const std::vector< iBase_EntityHandle >&
entities,
1457 const std::vector< int >& ids,
1459 const char* expected_value,
1460 const char* ent_type_str )
1462 const int firmness_size = 4;
1463 std::vector< char > firmness( firmness_size *
entities.size() );
1465 char* byte_ptr = &firmness[0];
1466 int err, junk1 = firmness.size(), junk2 =
entities.size() * firmness_size;
1470 bool all_correct =
true;
1471 for(
unsigned i = 0; i <
entities.size(); ++i )
1472 if( std::string( &firmness[firmness_size * i], firmness_size ) != expected_value ) all_correct =
false;
1475 std::cout <<
"ERROR: Expected \"" << expected_value <<
"\" firmness "
1476 <<
"for all " << ent_type_str <<
"." << std::endl;
1477 std::cout <<
"ID Actual " << std::endl;
1478 for(
unsigned i = 0; i <
entities.size(); ++i )
1479 std::cout << std::setw( 2 ) << ids[i] <<
" " << std::string( &firmness[firmness_size * i], firmness_size )
1488 const std::vector< iBase_EntityHandle >& ents,
1494 std::vector< char > data( bytes );
1496 int success_count = 0;
1497 for(
size_t i = 0; i < ents.size(); ++i )
1499 char* ptr = &data[0];
1500 int junk1 = bytes, junk2;
1507 return success_count;
1513 int err, junk1, junk2;
1519 CHECK(
"Failed to load input file: 'size.sat'" );
1524 CHECK(
"FBiGeom_getTagHandle(\"MESH_INTERVAL\")" );
1526 CHECK(
"FBiGeom_getTagHandle(\"MESH_SIZE\")" );
1528 CHECK(
"FBiGeom_getTagHandle(\"SIZE_FIRMNESS\")" );
1530 CHECK(
"FBiGeom_getTagHandle(\"GLOBAL_ID\")" );
1533 std::vector< iBase_EntityHandle > verts, curves, surfs, vols;
1534 std::vector< int > vert_ids, curve_ids, surf_ids, vol_ids;
1545 std::vector< int > intervals( curves.size() );
1546 int* int_ptr = &intervals[0];
1547 junk1 = junk2 = curves.size();
1549 CHECK(
"Failed to get intervals for curves" );
1550 if( intervals != curve_ids )
1552 std::cout <<
"ERROR: Incorrect curve intervals for one or more curves." << std::endl;
1553 std::cout <<
"ID Expected Actual" << std::endl;
1554 for(
unsigned i = 0; i < curves.size(); ++i )
1555 std::cout << std::setw( 2 ) << curve_ids[i] <<
" " << std::setw( 8 ) << curve_ids[i] <<
" "
1556 << std::setw( 6 ) << intervals[i] << std::endl;
1561 std::vector< double >
sizes( surfs.size() );
1562 double* dbl_ptr = &
sizes[0];
1563 junk1 = junk2 = surfs.size();
1565 CHECK(
"Failed to get sizes for surfaces" );
1566 bool all_correct =
true;
1567 for(
unsigned i = 0; i < surfs.size(); ++i )
1568 if( fabs(
sizes[i] - (
double)surf_ids[i] ) > 1e-8 ) all_correct =
false;
1571 std::cout <<
"ERROR: Incorrect mesh size for one or more surfaces." << std::endl;
1572 std::cout <<
"ID Expected Actual " << std::endl;
1573 for(
unsigned i = 0; i < surfs.size(); ++i )
1574 std::cout << std::setw( 2 ) << surf_ids[i] <<
" " << std::setw( 8 ) << (double)surf_ids[i] <<
" "
1575 << std::setw( 8 ) <<
sizes[i] << std::endl;
1580 CHECK(
"Invalid size or interval data" );
1584 CHECK(
"Invalid curve firmness" );
1587 CHECK(
"Invalid surface firmness" );
1591 CHECK(
"Got firmness for vertex." );
1593 CHECK(
"Got firmness for volume." );
1597 CHECK(
"Got interval count for vertex." );
1599 CHECK(
"Got interval count for volume." );
1604 CHECK(
"Got mesh size for vertex." );
1606 CHECK(
"Got mesh size for volume." );
1617 CHECK(
"Interface destruction didn't work properly." );
1633 std::string
filename =
"testout.brep";
1634 #elif defined( HAVE_ACIS )
1635 std::string
filename =
"testout.sat";
1636 #elif defined( HAVE_OCC )
1637 std::string
filename =
"testout.brep";
1639 std::string
filename =
"testout.sat";
1643 int num_ents_bef, num_sets_bef;
1646 CHECK(
"Failed to get root set." );
1648 CHECK(
"Failed to get number of ent sets." );
1650 CHECK(
"Failed to get number of entities." );
1655 CHECK(
"Problems creating cylinder for save entset test." );
1658 CHECK(
"Problems creating entity set for save entset test." );
1662 CHECK(
"Problems adding entity to set for save entset test." );
1666 CHECK(
"Problems saving file for save entset test." );
1669 CHECK(
"Failed to destroy entity set." );
1671 CHECK(
"Failed to destroy entity." );
1675 CHECK(
"Problems reading file for save entset test." );
1678 int num_ents_aft, num_sets_aft;
1680 CHECK(
"Failed to get number of ent sets." );
1682 CHECK(
"Failed to get number of entities." );
1683 bool success =
true;
1684 if( num_ents_aft != 2 * num_ents_bef + 1 )
1689 else if( num_sets_aft != 2 * num_sets_bef + 1 )