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 00021 class brct_volume_processor : public brct_volume_processor_params 00022 { 00023 public: 00024 brct_volume_processor(brct_volume_processor_params const& sp); 00025 ~brct_volume_processor(); 00026 00027 // Accessors 00028 00029 //:Mutators 00030 bool read_points_3d_vrml(vcl_string const& filename); 00031 bool read_change_data_vrml(vcl_string const& filename); 00032 //: Utility functions 00033 bool write_prob_volumes_vrml(vcl_string const& filename); 00034 bool compute_change(); 00035 bool write_changed_volumes_vrml(vcl_string const& filename); 00036 00037 protected: 00038 //members 00039 int ncols_; 00040 int nrows_; 00041 int nslabs_; 00042 vsol_box_3d_sptr box_; 00043 bsol_point_index_3d* index_; 00044 bsol_point_index_3d* change_index_; 00045 vcl_vector<vsol_box_3d_sptr> change_volumes_; 00046 }; 00047 00048 #endif // brct_volume_processor_h_
1.7.5.1