#include <region.h>
Types publics | |
typedef Enriched_polyhedron< Enriched_kernel, Enriched_items > | Polyhedron |
typedef Polyhedron::Vertex | Vertex |
typedef Polyhedron::Vertex_handle | Vertex_handle |
typedef Polyhedron::Vector | Vector |
typedef Polyhedron::Point | Point |
typedef Polyhedron::Facet_handle | Facet_handle |
typedef Polyhedron::Halfedge_handle | Halfedge_handle |
typedef Polyhedron::Halfedge | Halfedge |
typedef Polyhedron::Vertex_iterator | Vertex_iterator |
iterator on the vertices | |
typedef Polyhedron::Edge_iterator | Edge_iterator |
iterator on the edges | |
typedef Polyhedron::Halfedge_iterator | Halfedge_iterator |
iterator on the halfedges | |
typedef Polyhedron::Facet_iterator | Facet_iterator |
iterator on the facets | |
typedef Polyhedron::Halfedge_around_vertex_circulator | Halfedge_around_vertex_circulator |
iterator on halfedges around a vertex | |
typedef Polyhedron::Halfedge_around_vertex_const_circulator | Halfedge_around_vertex_const_circulator |
typedef Polyhedron::Halfedge_around_facet_circulator | Halfedge_around_facet_circulator |
iterator on halfedges around a facet | |
typedef CGAL::Line_2< Enriched_kernel > | Line_2 |
typedef CGAL::Point_2< Enriched_kernel > | Point_2 |
Fonctions membres publiques | |
Region () | |
Constructeur par defaut. | |
Region (Polyhedron _mesh) | |
Constructeur a partir d'un polyhedron (traditionnellement la region 3D issue du mesh d'origine). | |
~Region () | |
Destructeur. | |
bool | valide3D () |
bool | valide2D () |
Polyhedron * | mesh3D () |
pointeur vers le polyhdedron 3D | |
Polyhedron * | mesh2D () |
pointeur vers le polyhdedron 2D | |
bool | Un_Sommet_de_la_mesh2D (Vertex_handle pV) |
bool | Un_Sommet_de_la_mesh3D (Vertex_handle pV) |
double | Nrj_sommet (Vertex_handle pV) |
calcule l'NRJ caracteristique d'un sommet de la mesh 3D sans se soucier de sa position | |
void | Compute_Parameterization () |
Determination de la parametrisation 2D a partir de la mesh 3D. | |
bool | isEdge (int i, int j) |
renvoie vrai si (i,j) est une arete du mesh2D. | |
bool | isBorderVertex (Vertex_handle vh) |
renvoie vrai si vh est sur le bord du mesh 3D. | |
void | Trace2file (char *filename) |
renvoie le mesh2D courant vers un fichier. | |
void | vh2Dfrom3D (Vertex_handle &vh) |
void | vh3Dfrom2D (Vertex_handle &vh) |
bool | Appartient_facet (Facet_handle pF, Point p) |
void | Point3D_from_2D (Point &p) |
Fonctions membres privées | |
double | Compute_nrj_sommet_sur_mesh (Vertex_handle pV) |
calcul de l'nrj caracteristique d'un sommet de la mesh | |
double | Compute_nrj_sommet (Vertex_handle pV) |
calcule de l'nrj caracteristique d'un sommet qui n'est pas sur la mesh | |
Attributs privés | |
Polyhedron | _mesh3D |
bool | _is_valid |
Polyhedron | _mesh2D |
notre region parametrisee 2D (c'est nous qui la construisons) | |
bool | _is_valid2 |
Pour le sujet des contours actifs (snakes), une region est creee a partir d'un snake. Elle est donc de
Définition à la ligne 27 du fichier region.h.
typedef Polyhedron::Edge_iterator Region::Edge_iterator |
typedef Polyhedron::Halfedge Region::Halfedge |
typedef Polyhedron::Halfedge_around_vertex_const_circulator Region::Halfedge_around_vertex_const_circulator |
typedef CGAL::Line_2<Enriched_kernel> Region::Line_2 |
typedef Polyhedron::Point Region::Point |
typedef CGAL::Point_2<Enriched_kernel> Region::Point_2 |
typedef Polyhedron::Vector Region::Vector |
typedef Polyhedron::Vertex Region::Vertex |
Region::Region | ( | Polyhedron | _mesh | ) | [inline] |
bool Region::Appartient_facet | ( | Facet_handle | pF, | |
Point | p | |||
) | [inline] |
double Region::Compute_nrj_sommet | ( | Vertex_handle | pV | ) | [private] |
calcule de l'nrj caracteristique d'un sommet qui n'est pas sur la mesh
attention : ne fonctionne que pour des facets triangulees
Définition à la ligne 35 du fichier region.cpp.
Références _mesh3D, Compute_nrj_sommet_sur_mesh(), MAT_SIZE, ResoudreSysteme(), et vh3Dfrom2D().
Référencé par Nrj_sommet().
double Region::Compute_nrj_sommet_sur_mesh | ( | Vertex_handle | pV | ) | [private] |
calcul de l'nrj caracteristique d'un sommet de la mesh
(l'nrj des autres sommets est calculee par interpolation lineaire)
Définition à la ligne 9 du fichier region.cpp.
Références vh3Dfrom2D().
Référencé par Compute_nrj_sommet(), et Nrj_sommet().
void Region::Compute_Parameterization | ( | ) |
Determination de la parametrisation 2D a partir de la mesh 3D.
Définition à la ligne 171 du fichier region.cpp.
Références _mesh2D, _mesh3D, isBorderVertex(), isEdge(), MAT_SIZE, ResoudreSysteme(), et Trace2file().
Référencé par Snake::Snake().
bool Region::isBorderVertex | ( | Vertex_handle | vh | ) |
renvoie vrai si vh est sur le bord du mesh 3D.
Attention, n'est utilisee que dans Compute_Parameterization. resultat inconnu si appelee par une autre procedure
vh | : sommet a tester |
Définition à la ligne 571 du fichier region.cpp.
Référencé par Compute_Parameterization(), et isEdge().
bool Region::isEdge | ( | int | i, | |
int | j | |||
) |
renvoie vrai si (i,j) est une arete du mesh2D.
Attention, n'est utilisee que dans Compute_Parameterization. resultat inconnu si appelee par une autre procedure
i | : indice DANS LA LISTE DES POINTS INTERIEURS du sommet de depart | |
j | : indice DANS LA LISTE DES POINTS INTERIEURS du sommet d'arrivee |
Définition à la ligne 587 du fichier region.cpp.
Références _mesh2D, et isBorderVertex().
Référencé par Compute_Parameterization().
Polyhedron* Region::mesh2D | ( | ) | [inline] |
pointeur vers le polyhdedron 2D
Définition à la ligne 101 du fichier region.h.
Références _mesh2D.
Référencé par Mesh::draw2dRegion().
Polyhedron* Region::mesh3D | ( | ) | [inline] |
pointeur vers le polyhdedron 3D
Définition à la ligne 98 du fichier region.h.
Références _mesh3D.
Référencé par Mesh::drawLocalRegion().
double Region::Nrj_sommet | ( | Vertex_handle | pV | ) | [inline] |
calcule l'NRJ caracteristique d'un sommet de la mesh 3D sans se soucier de sa position
Définition à la ligne 151 du fichier region.h.
Références Compute_nrj_sommet(), Compute_nrj_sommet_sur_mesh(), et Un_Sommet_de_la_mesh2D().
Référencé par Snake::Energy_minimization().
void Region::Point3D_from_2D | ( | Point & | p | ) |
Définition à la ligne 686 du fichier region.cpp.
Références _mesh2D, _mesh3D, et ResoudreSysteme().
Référencé par Snake::draw_snake3D().
void Region::Trace2file | ( | char * | filename | ) |
renvoie le mesh2D courant vers un fichier.
Utile seulement pour le debug.
Définition à la ligne 620 du fichier region.cpp.
Références _mesh2D.
Référencé par Compute_Parameterization().
bool Region::Un_Sommet_de_la_mesh2D | ( | Vertex_handle | pV | ) | [inline] |
bool Region::Un_Sommet_de_la_mesh3D | ( | Vertex_handle | pV | ) | [inline] |
bool Region::valide2D | ( | ) | [inline] |
bool Region::valide3D | ( | ) | [inline] |
void Region::vh2Dfrom3D | ( | Vertex_handle & | vh | ) |
Définition à la ligne 653 du fichier region.cpp.
Références _mesh2D, et _mesh3D.
Référencé par Snake::Snake().
void Region::vh3Dfrom2D | ( | Vertex_handle & | vh | ) |
Définition à la ligne 672 du fichier region.cpp.
Références _mesh2D, et _mesh3D.
Référencé par Compute_nrj_sommet(), et Compute_nrj_sommet_sur_mesh().
bool Region::_is_valid [private] |
bool Region::_is_valid2 [private] |
Polyhedron Region::_mesh2D [private] |
notre region parametrisee 2D (c'est nous qui la construisons)
Définition à la ligne 71 du fichier region.h.
Référencé par Compute_Parameterization(), isEdge(), mesh2D(), Point3D_from_2D(), Trace2file(), Un_Sommet_de_la_mesh2D(), vh2Dfrom3D(), et vh3Dfrom2D().
Polyhedron Region::_mesh3D [private] |
Définition à la ligne 66 du fichier region.h.
Référencé par Compute_nrj_sommet(), Compute_Parameterization(), mesh3D(), Point3D_from_2D(), Un_Sommet_de_la_mesh3D(), vh2Dfrom3D(), et vh3Dfrom2D().