/home/ann2.ext/paccaulf/projsem2/ContourActif/snake.h

Aller à la documentation de ce fichier.
00001 
00006 #ifndef SNAKE_H 
00007 #define SNAKE_H 
00008 
00009 
00010 #include <CGAL/Filtered_kernel.h>
00011 #include "region.h"
00012 
00019 class Snake
00020 {
00021  public:
00022   typedef Enriched_polyhedron<Enriched_kernel,Enriched_items> Polyhedron ;
00023   typedef Enriched_polyhedron<Enriched_kernel,Enriched_items>::Vertex_handle Vertex_handle;
00024   typedef Enriched_polyhedron<Enriched_kernel,Enriched_items>::Point Point;
00025   
00026  private:
00032           std::vector< Vertex_handle > Snake_VH; // 
00033   
00035   double* WeightsA ; 
00036 
00038   double* WeightsB ; 
00039   
00045   Region R;
00046 
00047   bool R_is_initialized;
00048 
00050   int dim;
00051   
00053   double (*A)[200]; 
00054   
00056   double Pas_Gamma;
00057   
00058 public:
00059   
00060           // S n a k e   c o n s t r u c t i o n / d e s t r u c t i o n :
00061           
00063           Snake(); 
00064   /*
00065           The user input is utilized for initially approximating the features 
00066    detection process
00067   */
00068   
00080   Snake( std::vector< Vertex_handle > S , Polyhedron localRegion) ; 
00081   
00094   Snake( std::vector< std::vector< Vertex_handle > > S , Polyhedron localRegion) ; 
00095 
00097   ~Snake();
00098   
00099   // M e t h o d s
00101   void Affiche_snake() const;
00102 
00104   void draw_snake2D() const;  
00105 
00107   void draw_snake3D() const;
00108     
00110   void Maj_A();
00111 
00113   void Affiche_A(); 
00114   
00116   void Set_A(int i,int j, double f);
00117   
00119   double Get_A(int i,int j);
00120 
00122   Region* getRegion() { return &R ; }
00123   
00125   void Energy_minimization(int n_iterations);
00126   
00128   void Set_Pas_Gamma(double f);
00129 
00131   double Get_Pas_Gamma();
00132 
00134     int Get_dim();
00135   
00137   void Set_Snake_WeightsA( double* Vec, int taille); 
00138 
00140   void Set_Snake_WeightsB( double* Vec, int taille); 
00141   
00143   double* Get_Snake_WeightsA(); 
00144   
00146   double* Get_Snake_WeightsB(); 
00147 };
00148 
00149 #endif

Généré le Thu Jun 15 18:48:52 2006 pour Projet Image 2006 - Vincent Vidal, Florent Paccault - par  doxygen 1.4.7