#include <snake.h>
Types publics | |
typedef Enriched_polyhedron< Enriched_kernel, Enriched_items > | Polyhedron |
typedef Enriched_polyhedron< Enriched_kernel, Enriched_items >::Vertex_handle | Vertex_handle |
typedef Enriched_polyhedron< Enriched_kernel, Enriched_items >::Point | Point |
Fonctions membres publiques | |
Snake () | |
Default constructor. | |
Snake (std::vector< Vertex_handle > S, Polyhedron localRegion) | |
Constructeur a partir d'un vector de sommets et d'un polyhedron (notre localRegion). | |
Snake (std::vector< std::vector< Vertex_handle > > S, Polyhedron localRegion) | |
Constructeur a partir d'un vector de vectors de sommets et d'un polyhedron (notre localRegion). | |
~Snake () | |
Destructor. | |
void | Affiche_snake () const |
pour afficher le snake (debug) | |
void | draw_snake2D () const |
Pour dessiner le snake 2D (OpenGl). | |
void | draw_snake3D () const |
Pour dessiner le snake 3D (OpenGl). | |
void | Maj_A () |
Maj de A en fonction des poids. | |
void | Affiche_A () |
Affichage de la matrice A (pour les tests). | |
void | Set_A (int i, int j, double f) |
Modifieur de la matrice A. | |
double | Get_A (int i, int j) |
Accesseur de la matrice A. | |
Region * | getRegion () |
Accesseur de la region locale associee au snake (par reference). | |
void | Energy_minimization (int n_iterations) |
Pour la mise a jour des points 2D du snake dans le processus de minimisation d'NRJ. | |
void | Set_Pas_Gamma (double f) |
Modifieur du pas gamma. | |
double | Get_Pas_Gamma () |
Accesseur du pas gamma. | |
int | Get_dim () |
Accesseur de la dimension dim. | |
void | Set_Snake_WeightsA (double *Vec, int taille) |
Modifieur du poids A. | |
void | Set_Snake_WeightsB (double *Vec, int taille) |
Modifieur du poids B. | |
double * | Get_Snake_WeightsA () |
Accesseur du poids A (par reference). | |
double * | Get_Snake_WeightsB () |
Accesseur du poids B (par reference). | |
Attributs privés | |
std::vector< Vertex_handle > | Snake_VH |
pointers on the vertices of the snake | |
double * | WeightsA |
weight used in the spline energy | |
double * | WeightsB |
weight used in the spline energy | |
Region | R |
la region associee au snake | |
bool | R_is_initialized |
int | dim |
la taille dim = le nb de points 2D du snake | |
double(* | A )[200] |
the pentadiagonal banded matrix used during the iteration | |
double | Pas_Gamma |
il faut l'ajouter a chaque terme diagonal de A |
Définition à la ligne 19 du fichier snake.h.
Snake::Snake | ( | ) |
Snake::Snake | ( | std::vector< Vertex_handle > | S, | |
Polyhedron | localRegion | |||
) |
Constructeur a partir d'un vector de sommets et d'un polyhedron (notre localRegion).
S | : une suite de sommets (notre snake initial). | |
localRegion | : un Polyhedron (notre localRegion). Parametre optionel, defaut=vide. Attention, la localRegion doit etre telle que chacun de ses sommets est adjacente a au moins un point de S. |
Définition à la ligne 35 du fichier snake.cpp.
Références A, Region::Compute_Parameterization(), dim, Maj_A(), R, R_is_initialized, Snake_VH, Region::vh2Dfrom3D(), WeightsA, et WeightsB.
Snake::Snake | ( | std::vector< std::vector< Vertex_handle > > | S, | |
Polyhedron | localRegion | |||
) |
Constructeur a partir d'un vector de vectors de sommets et d'un polyhedron (notre localRegion).
S | : une suite de vectors de sommets (notre snake initial). - S a exactement la structure du snake stocke dans la classe Mesh. | |
localRegion | : un Polyhedron (notre localRegion). Parametre optionel, defaut=vide. Attention, la localRegion doit etre telle que chacun de ses sommets est adjacente a au moins un point de S. |
Définition à la ligne 86 du fichier snake.cpp.
Références A, Region::Compute_Parameterization(), dim, Energy_minimization(), Maj_A(), R, R_is_initialized, Snake_VH, Region::vh2Dfrom3D(), WeightsA, et WeightsB.
Snake::~Snake | ( | ) |
void Snake::Affiche_A | ( | ) |
void Snake::Affiche_snake | ( | ) | const |
void Snake::draw_snake2D | ( | ) | const |
void Snake::draw_snake3D | ( | ) | const |
Pour dessiner le snake 3D (OpenGl).
Définition à la ligne 229 du fichier snake.cpp.
Références Region::Point3D_from_2D(), R, et Snake_VH.
void Snake::Energy_minimization | ( | int | n_iterations | ) |
Pour la mise a jour des points 2D du snake dans le processus de minimisation d'NRJ.
Définition à la ligne 367 du fichier snake.cpp.
Références A, dim, Get_Pas_Gamma(), Maj_A(), Region::Nrj_sommet(), R, R_is_initialized, ResoudreSysteme(), et Snake_VH.
Référencé par Snake().
double Snake::Get_A | ( | int | i, | |
int | j | |||
) |
int Snake::Get_dim | ( | ) |
double Snake::Get_Pas_Gamma | ( | ) |
Accesseur du pas gamma.
Définition à la ligne 485 du fichier snake.cpp.
Références Pas_Gamma.
Référencé par Energy_minimization().
double * Snake::Get_Snake_WeightsA | ( | ) |
double * Snake::Get_Snake_WeightsB | ( | ) |
Region* Snake::getRegion | ( | ) | [inline] |
Accesseur de la region locale associee au snake (par reference).
Définition à la ligne 122 du fichier snake.h.
Références R.
Référencé par Mesh::draw2dRegion(), et Mesh::drawLocalRegion().
void Snake::Maj_A | ( | ) |
void Snake::Set_A | ( | int | i, | |
int | j, | |||
double | f | |||
) |
void Snake::Set_Pas_Gamma | ( | double | f | ) |
void Snake::Set_Snake_WeightsA | ( | double * | Vec, | |
int | taille | |||
) |
void Snake::Set_Snake_WeightsB | ( | double * | Vec, | |
int | taille | |||
) |
double(* Snake::A)[200] [private] |
the pentadiagonal banded matrix used during the iteration
Définition à la ligne 53 du fichier snake.h.
Référencé par Affiche_A(), Energy_minimization(), Get_A(), Maj_A(), Set_A(), Snake(), et ~Snake().
int Snake::dim [private] |
la taille dim = le nb de points 2D du snake
Définition à la ligne 50 du fichier snake.h.
Référencé par Affiche_A(), Energy_minimization(), Get_dim(), Maj_A(), Set_Snake_WeightsA(), Set_Snake_WeightsB(), et Snake().
double Snake::Pas_Gamma [private] |
il faut l'ajouter a chaque terme diagonal de A
Définition à la ligne 56 du fichier snake.h.
Référencé par Get_Pas_Gamma(), Set_Pas_Gamma(), et Snake().
la region associee au snake
the feature energy values are available from the Region
Définition à la ligne 45 du fichier snake.h.
Référencé par draw_snake3D(), Energy_minimization(), getRegion(), et Snake().
bool Snake::R_is_initialized [private] |
std::vector< Vertex_handle > Snake::Snake_VH [private] |
pointers on the vertices of the snake
Ce sont des positions 2D (en fait des points 3D avec z=0)
Définition à la ligne 32 du fichier snake.h.
Référencé par Affiche_snake(), draw_snake2D(), draw_snake3D(), Energy_minimization(), et Snake().
double* Snake::WeightsA [private] |
weight used in the spline energy
Définition à la ligne 35 du fichier snake.h.
Référencé par Get_Snake_WeightsA(), Maj_A(), Set_Snake_WeightsA(), Snake(), et ~Snake().
double* Snake::WeightsB [private] |
weight used in the spline energy
Définition à la ligne 38 du fichier snake.h.
Référencé par Get_Snake_WeightsB(), Maj_A(), Set_Snake_WeightsB(), Snake(), et ~Snake().