00001 #ifndef brct_volume_processor_h_ 00002 #define brct_volume_processor_h_ 00003 00004 //: 00005 // \file 00006 // \brief A class to compute volume occupancy statistics 00007 // 00008 // \author J.L. Mundy 00009 // \verbatim 00010 // Initial version March. 1, 2004 00011 // \endverbatim 00012 // 00013 ////////////////////////////////////////////////////////////////////// 00014 00015 #include <vcl_vector.h> 00016 #include <vcl_string.h> 00017 #include <vsol/vsol_box_3d_sptr.h> 00018 #include <bsol/bsol_point_index_3d.h> 00019 #include <brct/brct_volume_processor_params.h> 00020 class brct_volume_processor : public brct_volume_processor_params 00021 { 00022 public: 00023 brct_volume_processor(brct_volume_processor_params const& sp); 00024 ~brct_volume_processor(); 00025 00026 // Accessors 00027 00028 //:Mutators 00029 bool read_points_3d_vrml(vcl_string const& filename); 00030 bool read_change_data_vrml(vcl_string const& filename); 00031 //: Utility functions 00032 bool write_prob_volumes_vrml(vcl_string const& filename); 00033 bool compute_change(); 00034 bool write_changed_volumes_vrml(vcl_string const& filename); 00035 00036 protected: 00037 //members 00038 int ncols_; 00039 int nrows_; 00040 int nslabs_; 00041 vsol_box_3d_sptr box_; 00042 bsol_point_index_3d* index_; 00043 bsol_point_index_3d* change_index_; 00044 vcl_vector<vsol_box_3d_sptr> change_volumes_; 00045 }; 00046 00047 #endif // brct_volume_processor_h_
1.4.4