//##################################################################### // Function Calculate_Bounding_Boxes //##################################################################### template<class T> void TETRAHEDRON_HIERARCHY<T>:: Calculate_Bounding_Boxes(ARRAY<RANGE<TV> >& bounding_boxes,ARRAY_VIEW<const TV> start_X,ARRAY_VIEW<const TV> end_X) { for(int k=1;k<=leaves;k++){const VECTOR<int,4>& nodes=tetrahedron_mesh.elements(k); bounding_boxes(k)=RANGE<TV>::Combine(RANGE<TV>::Bounding_Box(start_X.Subset(nodes)),RANGE<TV>::Bounding_Box(end_X.Subset(nodes)));} }
//##################################################################### // Function Calculate_Bounding_Boxes //##################################################################### template<class T> void TRIANGLE_HIERARCHY_2D<T>:: Calculate_Bounding_Boxes(ARRAY<RANGE<TV> >& bounding_boxes,ARRAY_VIEW<const TV> start_X,ARRAY_VIEW<const TV> end_X) { for(int k=1;k<=leaves;k++){const VECTOR<int,3>& nodes=triangle_mesh.elements(k); bounding_boxes(k)=RANGE<TV>::Combine(RANGE<TV>::Bounding_Box(start_X.Subset(nodes)),RANGE<TV>::Bounding_Box(end_X.Subset(nodes)));} }