00001 00011 #include "Cubic_Bounding_Box_Container.h" 00012 00013 CubicLowCoorOrdering< 0, Cubic_Bounding_Box_Container > Cubic_Bounding_Box_Container::LCXC_ORDERING = CubicLowCoorOrdering< 0, Cubic_Bounding_Box_Container >(); 00014 CubicLowCoorOrdering< 1, Cubic_Bounding_Box_Container > Cubic_Bounding_Box_Container::LCYC_ORDERING = CubicLowCoorOrdering< 1, Cubic_Bounding_Box_Container >(); 00015 CubicLowCoorOrdering< 2, Cubic_Bounding_Box_Container > Cubic_Bounding_Box_Container::LCZC_ORDERING = CubicLowCoorOrdering< 2, Cubic_Bounding_Box_Container >(); 00016 DistOrdering< Cubic_Bounding_Box_Container > Cubic_Bounding_Box_Container::DISTC_ORDERING = DistOrdering< Cubic_Bounding_Box_Container >(); 00017 HilbertOrdering3D< Cubic_Bounding_Box_Container > Cubic_Bounding_Box_Container::HILC_ORDERING = HilbertOrdering3D< Cubic_Bounding_Box_Container >(); 00018 CURRENTORDERING< Cubic_Bounding_Box_Container > Cubic_Bounding_Box_Container::NO_ORDERING = CURRENTORDERING< Cubic_Bounding_Box_Container >(); 00019 00020 Ordering< Cubic_Bounding_Box_Container > * Cubic_Bounding_Box_Container::getDefaultOrdering() { 00021 return &HILC_ORDERING; 00022 } 00023 00024 vector< Ordering< Cubic_Bounding_Box_Container > * > Cubic_Bounding_Box_Container::getOrderings() { 00025 vector< Ordering< Cubic_Bounding_Box_Container > * > ret; 00026 ret.push_back( &LCXC_ORDERING ); 00027 ret.push_back( &LCYC_ORDERING ); 00028 ret.push_back( &LCZC_ORDERING ); 00029 //currently only returns low coor orderings; distance ordering does not work well, and 00030 //hilc ordering does not add much quality. 00031 //ret.push_back( &DISTC_ORDERING ); 00032 //ret.push_back( &HILC_ORDERING ); 00033 return ret; 00034 } 00035