PavIn
Pavage et Interpolation barycentrique
Fonctions membres publiques | Liste de tous les membres
Référence du modèle de la classe Paving< N >final

Classe Paving. Plus de détails...

#include <Paving.hpp>

Fonctions membres publiques

 Paving ()
 Constructeur par défaut.
 
 Paving (const int &, const int &, const int &)
 Constructeur avec bornes. Plus de détails...
 
 Paving (const char *&f)
 Constructeur avec nom de fichier. Plus de détails...
 
 Paving (const std::vector< Point< N >> &)
 Constructeur avec vecteur de points. Plus de détails...
 
 ~Paving ()
 Destructeur.
 
std::vector< Point< N > > getPoints ()
 Retourne tous les points sous forme d'un vector.
 
std::vector< Point< N > > getTreatedPoints ()
 Retourne tous les points traités sous forme d'un vector.
 
std::vector< std::vector< int > > getSimplices ()
 Retourne tous les simplexes.
 
bool init ()
 Initialise le Pavage. Plus de détails...
 
std::vector< Simplex< N > > sliceHypercube (const std::vector< Point< N >> &hypercube, const Point< N > &mid)
 NON implémentée - Découpe un hypercube en simplexes Plus de détails...
 
bool add (Point< N > &p)
 Ajoute un point incrémentalement au pavage. Plus de détails...
 
TYPEVAL get (const Point< N > &p)
 Méthode centrale: calcule en fonction d'un point donné Plus de détails...
 
Simplex< N > getSimplex (const Point< N > &p) const
 Renvoie le simplexe contenant le point. Plus de détails...
 
std::vector< Point< N > > getPointsFromSimplex (const std::vector< int > &) const
 Renvoie les points d'un simplexe donné Plus de détails...
 
void showPoints () const
 Afiche les points sur la sortie standard.
 
void showTreatedPoints () const
 Afiche les points traités sur la sortie standard.
 
void showSimplices () const
 Afiche les simplices sur la sortie standard.
 
void draw () const
 Dessine le Pavage pour la fenêtre graphique.
 
void show () const
 Affichge le Pavage dans une fenêtre graphique.
 

Description détaillée

template<int N>
class Paving< N >

Classe Paving.

Classe de génération de pavage en N-Simplexes templatée sur la dimension de ses données.

Documentation des constructeurs et destructeur

template<int N>
Paving< N >::Paving ( const int &  n,
const int &  minv,
const int &  maxv 
)

Constructeur avec bornes.

Construit le pavage en insérant des points dont les coordonnées sont comprises entre les bornes min et max

Paramètres
nle nombre de points voulu
minvla borne minimale
maxvla borne maximale
template<int N>
Paving< N >::Paving ( const char *&  f)

Constructeur avec nom de fichier.

Construit le pavage en lisant les coordonnées dans le fichier
Le format suivant pour les données doit être respecté:

  • Première ligne: nb : le nombre de points présents dans le fichier
  • Seconde ligne: dim : la dimension des données associées

Les "nb" lignes suivantes:

  • "dim" valeurs, correspondants aux coordonnées du points
  • suivi de la valeur du point
Paramètres
fle nom du fichier.
template<int N>
Paving< N >::Paving ( const std::vector< Point< N >> &  v)

Constructeur avec vecteur de points.

Construit le pavage avec les points donnés

Paramètres
vle vecteur de points.

Documentation des fonctions membres

template<int N>
bool Paving< N >::add ( Point< N > &  p)

Ajoute un point incrémentalement au pavage.

Paramètres
ple point à ajouter au Pavage.
Renvoie
true si le point est bien ajouté, false sinon
template<int N>
TYPEVAL Paving< N >::get ( const Point< N > &  p)

Méthode centrale: calcule en fonction d'un point donné

Paramètres
ple point entré par l'utilisateur.
Renvoie
la valeur au point donné.
template<int N>
std::vector< Point< N > > Paving< N >::getPointsFromSimplex ( const std::vector< int > &  s) const

Renvoie les points d'un simplexe donné

Paramètres
sun simplexe
Renvoie
un vecteur contenant les points du simplexe
template<int N>
Simplex< N > Paving< N >::getSimplex ( const Point< N > &  p) const

Renvoie le simplexe contenant le point.

Paramètres
pun point.
Renvoie
le simplexe contenant le point, ou un vecteur vide
template<int N>
bool Paving< N >::init ( )

Initialise le Pavage.

L'initialisation du Pavage consiste à créer un N-Simplexe englobant. Pour cela, 3 étapes se suivent:

  • la création d'un (N+1)-Simplexe englobant tous les points,
  • une projection de ce Simplexe pour revenir à un N-Simplexe,
  • un affinage de ce dernier simplexe.

Pour créer un (N+1)-Simplexe englobant, on part des N+1 points (t, 0, 0 , ...), (0, t, 0, ...), (0, 0, t, ...) et du point (-t, -t, -t, ...) avec t initialisé à 0, et en l'agrandissant à l'aide d'un coefficient calculé à partir des points extremaux du nuage de points.
Ensuite on se ramène à un N-Simplexe en enlevant une dimension à tous les points et en retirant le point situé au centre du repère.
Enfin l'affinage se passe en deux étapes, la première consiste à diminuer t pour les points (t, 0, 0 , ...), (0, t, 0, ...), (0, 0, t, ...) tant que tous les points restent dans le simplexe. Sur le même principe, la deuxième étape ramène le point (-t, -t, -t, ...) en augmentant t.
Une fois ce processus terminé, un N-Simplexe englobant est obtenu, il est ajouté au pavage, et tous les points du nuage sont ajoutés dans ce simplexe, en choisissant à chaque itération, le point le plus proche du dernier point ajouté.

Renvoie
true si tout s'est bien passé, false sinon
template<int N>
std::vector<Simplex<N> > Paving< N >::sliceHypercube ( const std::vector< Point< N >> &  hypercube,
const Point< N > &  mid 
)

NON implémentée - Découpe un hypercube en simplexes

Paramètres
hypercubevecteur des points de l'hypercube
midle milieu de cet hypercube
Renvoie
vecteur des Simplexes de l'hypercube

La documentation de cette classe a été générée à partir du fichier suivant :