00001
00002 #ifndef _CALIFE_IMAGE3D_H_
00003 #define _CALIFE_IMAGE3D_H_
00004
00005 #include <libimages3d.h>
00006
00007 #include "geom/t3d.hpp"
00008 #include "geom/Point.hpp"
00009
00010 #include <list>
00011 #include <string>
00012
00013 namespace jafar {
00014 namespace calife {
00018 class Image3d {
00019 private:
00020 DATA_IM3D * _pdata;
00021 size_t _index;
00022
00023 void clear_data();
00024 void _set_data(int width, int height, int covar, int normales, int size);
00025
00026 public :
00027 Image3d();
00028 Image3d(DATA_IM3D * data);
00029 Image3d(int width, int height, int covar, int normales, int size);
00030 ~Image3d();
00031
00033 void display() const;
00034
00035 std::string gdhe_display(int, double) const;
00036
00038 DATA_IM3D * get_data();
00039
00040 void set_data(DATA_IM3D*);
00041 void set_data(int width, int height, int covar, int normales, int size);
00042
00043 void change_frame(const jafar::geom::T3D& pt3d);
00044
00045 void seuille(bool s_coord_1, double max_coord_1,
00046 bool s_coord_2, double max_coord_2,
00047 bool s_coord_3, double max_coord_3);
00048
00049 void set_point(int i, int j, bool valid ,
00050 double x = 0.0, double y = 0.0, double z= 0.0);
00051
00055 std::list< jafar::geom::Point3D > toPoint3DList() const;
00056
00057 void to_ascii(const std::string & path) const;
00058 void from_ascii(const std::string & path);
00059
00060 void dump_points(const std::string & path) const;
00061
00062 void print_info() const;
00063
00064 int nbligs() const;
00065 int nbcols() const;
00066 };
00067 }
00068 }
00069
00070 #endif