16 int main(
int argc,
char** argv )
20 std::cout <<
"Usage: " << argv[0] <<
" <filename>" << std::endl;
41 double box_center[3], box_axis1[3], box_axis2[3], box_axis3[3], pnt_start[3], ray_length;
42 MB_CHK_SET_ERR( tool.
box( tree_root, box_center, box_axis1, box_axis2, box_axis3 ),
43 "Couldn't get box for tree root set" );
45 ray_length = 2. * sqrt( box_axis1[0] * box_axis1[0] + box_axis1[1] * box_axis1[1] + box_axis1[2] * box_axis1[2] );
48 std::vector< double > intersections;
49 std::vector< moab::EntityHandle > intersection_facets;
51 for(
int i = 0; i < 3; i++ )
52 pnt_start[i] = box_center[i] - box_axis1[i];
56 for(
int j = 0; j < 3; j++ )
57 box_axis1[j] = 2 * box_axis1[j] / ray_length;
60 box_axis1, &ray_length ),
61 "Couldn't perform ray tracing" );
63 std::cout <<
"ray start point: " << pnt_start[0] <<
" " << pnt_start[1] <<
" " << pnt_start[2] << std::endl;
64 std::cout <<
" ray direction: " << box_axis1[0] <<
" " << box_axis1[1] <<
" " << box_axis1[2] <<
"\n";
65 std::cout <<
"# of intersections : " << intersections.size() << std::endl;
66 std::cout <<
"intersection distances are on";
67 for(
unsigned int i = 0; i < intersections.size(); i++ )
68 std::cout <<
" " << intersections[i];
69 std::cout <<
" of ray length " << ray_length << std::endl;