Pipeline graphique
|
#include <PlyLoader.h>
Fonctions membres publiques | |
PlyLoader () | |
constructeur Plus de détails... | |
~PlyLoader () | |
destructeur Plus de détails... | |
void | CoherenceCheck (void) |
test de la coh�rence g�om�trique d'un objet Plus de détails... | |
void | NormalCheck (void) |
test des normales (si elles existent) Plus de détails... | |
void | CheckAndRepair (void) |
= NormalCheck + CoherenceCheck Plus de détails... | |
void | NormalizeObject (void) |
renormalise l'objet pour qu'il soit centr� � l'origine du rep�re (local) et de largeur 1. Plus de détails... | |
void | ProcessNormals (void) |
Recalcul des normales sur un objet. Plus de détails... | |
void | Dump (void) |
Affiche les valeurs de tous les sommets et faces lus dans la structure. Ne change pas le r�sultat de HaveNormal. Plus de détails... | |
void | DumpSample (void) |
affiche les 10 premiers sommets lus dans le fichier Plus de détails... | |
bool | Load (const char *name) |
charge le fichier PLY et construit les structures de donn�es. Plus de détails... | |
void | SmartInvertNormals (void) |
inverse les normales si n�cessaire: si les normales sont lues, inverse simplement les normales, sinon inverse en plus l'ordre des indices. Plus de détails... | |
int | getNFaces (void) |
renvoie le nombre de faces lues dans le fichier PLY. Plus de détails... | |
int | getNPoints (void) |
renvoie le nombre de sommets lus dans le fichier PLY. Plus de détails... | |
Ply::POINT_PLY * | getPoints (void) |
renvoie un pointeur sur le tableau des sommets lus dans le fichier PLY. Plus de détails... | |
Ply::FACE_PLY * | getFaces (void) |
renvoie un pointeur sur le tableau des faces lues dans le fichier PLY. Plus de détails... | |
bool | HavePosition () |
vrai si la fichier lu contient pour chaque sommet la position du sommet Plus de détails... | |
bool | HaveNormal () |
vrai si la fichier lu contient pour chaque sommet la normale au sommet Plus de détails... | |
bool | HaveColor () |
vrai si la fichier lu contient pour chaque sommet la couleur au sommet Plus de détails... | |
bool | IsChecked (void) |
Teste si les v�rifications g�om�triques ont �t� effectu�es. Plus de détails... | |
bool | CheckHaveInvalidIndices (void) |
�valu� par CoherenceCheck, vrai si un indice utilis� n'a pas de sommet associ�. Plus de détails... | |
bool | CheckHaveUnconnectedPts (void) |
�valu� par CoherenceCheck, vrai si un sommet n'appartient � aucun polygone. Plus de détails... | |
bool | CheckHaveUnsharedEdges (void) |
�valu� par CoherenceCheck, vrai si chaque ar�te n'est pas partag�e par 2 polygones. Plus de détails... | |
bool | CheckHaveRevFacets (void) |
�valu� par CoherenceCheck, vrai si des polygones adjacents ne sont pas orient�s dans le m�me sens. Plus de détails... | |
bool | CheckHaveInvNormals (void) |
�valu� par CoherenceCheck, vrai si le sens des normales a �t� test�. Plus de détails... | |
bool | CheckHaveBadNormals (void) |
�valu� par CoherenceCheck, vrai si les normales semblent invers�es (heuristique). Plus de détails... | |
bool | IsNormalCheck (void) |
vrai si CoherenceCheck (= v�rification de la coh�rence g�om�trique) a �t� effectu�. Plus de détails... | |
bool | IsCoherenceCheck (void) |
vrai si NormalCheck (= v�rification des normales) a �t� effectu�. Plus de détails... | |
Fonctions membres privées | |
Ply::Endian | WhichEndian (void) |
m�thode interne Plus de détails... | |
const char * | GetMask (dword, int, int) |
m�thode interne Plus de détails... | |
const char * | GetMask (dword m) |
m�thode interne Plus de détails... | |
float | MaxBound (void) |
m�thode interne Plus de détails... | |
bool | PerformNormalCheck (float, float *) |
m�thode interne Plus de détails... | |
void | InvertFaceNormalsAndIndex (void) |
m�thode interne Plus de détails... | |
void | InvertFaceNormalsIfNeeded (void) |
m�thode interne Plus de détails... | |
void | InvertNormals (void) |
m�thode interne Plus de détails... | |
void | Init (void) |
m�thode interne Plus de détails... | |
void | Delete (void) |
m�thode interne Plus de détails... | |
bool | BuildReader (int, int, int, uchar &, char *) |
m�thode interne Plus de détails... | |
bool | ReadHeader (void) |
m�thode interne Plus de détails... | |
bool | ReadPoints (void) |
m�thode interne Plus de détails... | |
bool | ReadTextFaces (void) |
m�thode interne Plus de détails... | |
bool | ReadBinaryFaces (void) |
m�thode interne Plus de détails... | |
bool | ReadData (void) |
m�thode interne Plus de détails... | |
Attributs privés | |
int | npoints |
int | nfaces |
int | nfields |
Ply::POINT_PLY * | points |
Ply::FACE_PLY * | faces |
Ply::ReadFmt | field [Ply::maxfields] |
Ply::Endian | machFMT |
Ply::Endian | plyFMT |
Ply::FileType | fileFMT |
bool | doswap |
uchar | HavePos |
uchar | HaveNrm |
uchar | HaveCol |
uchar | HaveTol |
uchar | HaveUV |
dword | check |
FILE * | ptf |
Définition à la ligne 88 du fichier PlyLoader.h.
PlyLoader::PlyLoader | ( | ) |
constructeur
Définition à la ligne 598 du fichier PlyLoader.cpp.
PlyLoader::~PlyLoader | ( | ) |
destructeur
Définition à la ligne 604 du fichier PlyLoader.cpp.
|
private |
m�thode interne
Définition à la ligne 351 du fichier PlyLoader.cpp.
Références ReadBinFloat4(), ReadBinFloat8(), ReadBinInt1(), ReadBinInt2(), ReadBinInt4(), ReadBinUInt1(), ReadBinUInt2(), ReadBinUInt4(), ReadSwapBinFloat4(), ReadSwapBinFloat8(), ReadSwapBinInt2(), ReadSwapBinInt4(), ReadSwapBinUInt2(), ReadSwapBinUInt4(), ReadTextFloat(), ReadTextInt1(), ReadTextInt2(), ReadTextInt4(), ReadTextUInt1(), ReadTextUInt2(), et ReadTextUInt4().
void PlyLoader::CheckAndRepair | ( | void | ) |
= NormalCheck + CoherenceCheck
Définition à la ligne 621 du fichier PlyLoader.cpp.
Références Ply::CheckInvNormals.
|
inline |
�valu� par CoherenceCheck, vrai si les normales semblent invers�es (heuristique).
Définition à la ligne 192 du fichier PlyLoader.h.
Références Ply::CheckBadNormals.
|
inline |
�valu� par CoherenceCheck, vrai si un indice utilis� n'a pas de sommet associ�.
Définition à la ligne 182 du fichier PlyLoader.h.
Références Ply::CheckInvalidIndices.
|
inline |
�valu� par CoherenceCheck, vrai si le sens des normales a �t� test�.
Définition à la ligne 190 du fichier PlyLoader.h.
Références Ply::CheckInvNormals.
|
inline |
�valu� par CoherenceCheck, vrai si des polygones adjacents ne sont pas orient�s dans le m�me sens.
Définition à la ligne 188 du fichier PlyLoader.h.
Références Ply::CheckRevFacets.
|
inline |
�valu� par CoherenceCheck, vrai si un sommet n'appartient � aucun polygone.
Définition à la ligne 184 du fichier PlyLoader.h.
Références Ply::CheckUnconnectedPts.
|
inline |
�valu� par CoherenceCheck, vrai si chaque ar�te n'est pas partag�e par 2 polygones.
Définition à la ligne 186 du fichier PlyLoader.h.
Références Ply::CheckUnsharedEdges.
void PlyLoader::CoherenceCheck | ( | void | ) |
test de la coh�rence g�om�trique d'un objet
Les tests suivants sont effectu�s:
Voir aussi les m�thodes CheckHave* pour tester les resultats.
Définition à la ligne 152 du fichier PlyLoader.cpp.
Références EDGE::a, EDGE::b, Ply::CheckBadNormals, Ply::CheckCoherence, Ply::CheckInvalidIndices, Ply::CheckInvNormals, Ply::CheckNotChecked, Ply::CheckRevFacets, Ply::CheckUnconnectedPts, Ply::CheckUnsharedEdges, EdgeSort(), invlimit, NTEST, et EDGE::s.
|
private |
void PlyLoader::Dump | ( | void | ) |
Affiche les valeurs de tous les sommets et faces lus dans la structure. Ne change pas le r�sultat de HaveNormal.
Définition à la ligne 291 du fichier PlyLoader.cpp.
void PlyLoader::DumpSample | ( | void | ) |
affiche les 10 premiers sommets lus dans le fichier
Définition à la ligne 270 du fichier PlyLoader.cpp.
Références min.
|
inline |
renvoie un pointeur sur le tableau des faces lues dans le fichier PLY.
Le tableau est de type Ply::FACE_PLY et le nombre d'�l�ments dans ce tableau est obtenu avec la m�thode getNFaces(). A noter que la normale par face n'est pas lues dans le fichier et ne peut �tre r�cup�r�e que si la m�thode ProcessNormals() a �t� appel�e.
Définition à la ligne 168 du fichier PlyLoader.h.
Références faces.
|
private |
m�thode interne
Définition à la ligne 65 du fichier PlyLoader.cpp.
|
private |
m�thode interne
Définition à la ligne 77 du fichier PlyLoader.cpp.
|
inline |
renvoie le nombre de faces lues dans le fichier PLY.
Définition à la ligne 154 du fichier PlyLoader.h.
Références nfaces.
|
inline |
renvoie le nombre de sommets lus dans le fichier PLY.
Définition à la ligne 156 du fichier PlyLoader.h.
Références npoints.
|
inline |
renvoie un pointeur sur le tableau des sommets lus dans le fichier PLY.
Le tableau est de type Ply::POINT_PLY et le nombre d'�l�ments dans ce tableau est obtenu avec la m�thode getNPoints().
Définition à la ligne 161 du fichier PlyLoader.h.
Références points.
|
inline |
vrai si la fichier lu contient pour chaque sommet la couleur au sommet
Définition à la ligne 174 du fichier PlyLoader.h.
|
inline |
vrai si la fichier lu contient pour chaque sommet la normale au sommet
Définition à la ligne 172 du fichier PlyLoader.h.
|
inline |
vrai si la fichier lu contient pour chaque sommet la position du sommet
Définition à la ligne 170 du fichier PlyLoader.h.
|
private |
m�thode interne
Définition à la ligne 614 du fichier PlyLoader.cpp.
Références Ply::CheckNotChecked.
|
private |
m�thode interne
Définition à la ligne 468 du fichier PlyLoader.cpp.
|
private |
m�thode interne
Définition à la ligne 487 du fichier PlyLoader.cpp.
|
private |
m�thode interne
Définition à la ligne 524 du fichier PlyLoader.cpp.
|
inline |
Teste si les v�rifications g�om�triques ont �t� effectu�es.
Définition à la ligne 180 du fichier PlyLoader.h.
|
inline |
vrai si NormalCheck (= v�rification des normales) a �t� effectu�.
Définition à la ligne 196 du fichier PlyLoader.h.
Références Ply::CheckInvalidIndices.
|
inline |
vrai si CoherenceCheck (= v�rification de la coh�rence g�om�trique) a �t� effectu�.
Définition à la ligne 194 du fichier PlyLoader.h.
Références Ply::CheckInvalidIndices.
bool PlyLoader::Load | ( | const char * | name | ) |
charge le fichier PLY et construit les structures de donn�es.
Définition à la ligne 650 du fichier PlyLoader.cpp.
Références Ply::BinaryFile, et Ply::FACE_PLY::ind.
|
private |
m�thode interne
Définition à la ligne 93 du fichier PlyLoader.cpp.
void PlyLoader::NormalCheck | ( | void | ) |
test des normales (si elles existent)
Définition à la ligne 629 du fichier PlyLoader.cpp.
Références Ply::CheckNormal.
void PlyLoader::NormalizeObject | ( | void | ) |
renormalise l'objet pour qu'il soit centr� � l'origine du rep�re (local) et de largeur 1.
Définition à la ligne 688 du fichier PlyLoader.cpp.
|
private |
m�thode interne
Définition à la ligne 107 du fichier PlyLoader.cpp.
void PlyLoader::ProcessNormals | ( | void | ) |
Recalcul des normales sur un objet.
Les normales existantes sont supprim�es. Les nouvelles normales sont alors calcul�es en chaque sommet comme la moyenne des normales aux faces adjacentes au sommet. A la fin de cette m�thode les normales aux faces et aux sommets sont disponibles dans les structures de donn�es.
Définition à la ligne 538 du fichier PlyLoader.cpp.
|
private |
m�thode interne
Définition à la ligne 455 du fichier PlyLoader.cpp.
|
private |
m�thode interne
|
private |
m�thode interne
Définition à la ligne 375 du fichier PlyLoader.cpp.
Références Ply::POINT_PLY::b, Ply::BigEndian, Ply::BinaryFile, Ply::POINT_PLY::c, Ply::POINT_PLY::g, Ply::LittleEndian, Ply::maxfields, Ply::POINT_PLY::nx, Ply::POINT_PLY::ny, Ply::POINT_PLY::nz, Ply::POINT_PLY::r, Ply::TextFile, Ply::POINT_PLY::u, Ply::POINT_PLY::v, Ply::POINT_PLY::x, Ply::POINT_PLY::y, et Ply::POINT_PLY::z.
|
private |
m�thode interne
Définition à la ligne 436 du fichier PlyLoader.cpp.
|
private |
m�thode interne
Définition à la ligne 445 du fichier PlyLoader.cpp.
void PlyLoader::SmartInvertNormals | ( | void | ) |
inverse les normales si n�cessaire: si les normales sont lues, inverse simplement les normales, sinon inverse en plus l'ordre des indices.
Définition à la ligne 509 du fichier PlyLoader.cpp.
|
private |
m�thode interne
Définition à la ligne 54 du fichier PlyLoader.cpp.
Références Ply::BigEndian, et Ply::LittleEndian.
|
private |
Définition à la ligne 98 du fichier PlyLoader.h.
|
private |
Définition à la ligne 96 du fichier PlyLoader.h.
|
private |
Définition à la ligne 92 du fichier PlyLoader.h.
|
private |
Définition à la ligne 93 du fichier PlyLoader.h.
|
private |
Définition à la ligne 95 du fichier PlyLoader.h.
|
private |
Définition à la ligne 97 du fichier PlyLoader.h.
|
private |
Définition à la ligne 97 du fichier PlyLoader.h.
|
private |
Définition à la ligne 97 du fichier PlyLoader.h.
|
private |
Définition à la ligne 97 du fichier PlyLoader.h.
|
private |
Définition à la ligne 97 du fichier PlyLoader.h.
|
private |
Définition à la ligne 94 du fichier PlyLoader.h.
|
private |
Définition à la ligne 90 du fichier PlyLoader.h.
|
private |
Définition à la ligne 90 du fichier PlyLoader.h.
|
private |
Définition à la ligne 90 du fichier PlyLoader.h.
|
private |
Définition à la ligne 94 du fichier PlyLoader.h.
|
private |
Définition à la ligne 91 du fichier PlyLoader.h.
|
private |
Définition à la ligne 99 du fichier PlyLoader.h.