Pipeline graphique
 Tout Structures de données Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Macros
Fonctions membres publiques | Fonctions membres privées | Attributs privés
Référence de la classe PlyLoader

#include <PlyLoader.h>

Graphe de collaboration de PlyLoader:
Collaboration graph

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_PLYgetPoints (void)
 renvoie un pointeur sur le tableau des sommets lus dans le fichier PLY. Plus de détails...
 
Ply::FACE_PLYgetFaces (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_PLYpoints
 
Ply::FACE_PLYfaces
 
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
 

Description détaillée

Définition à la ligne 88 du fichier PlyLoader.h.

Documentation des constructeurs et destructeur

PlyLoader::PlyLoader ( )

constructeur

Définition à la ligne 598 du fichier PlyLoader.cpp.

PlyLoader::~PlyLoader ( )

destructeur

Définition à la ligne 604 du fichier PlyLoader.cpp.

Documentation des fonctions membres

bool PlyLoader::BuildReader ( int  id,
int  FunType,
int  dec,
uchar SemCount,
char *  type 
)
private
void PlyLoader::CheckAndRepair ( void  )

= NormalCheck + CoherenceCheck

Définition à la ligne 621 du fichier PlyLoader.cpp.

Références Ply::CheckInvNormals.

bool PlyLoader::CheckHaveBadNormals ( void  )
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.

bool PlyLoader::CheckHaveInvalidIndices ( void  )
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.

bool PlyLoader::CheckHaveInvNormals ( void  )
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.

bool PlyLoader::CheckHaveRevFacets ( void  )
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.

bool PlyLoader::CheckHaveUnconnectedPts ( void  )
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.

bool PlyLoader::CheckHaveUnsharedEdges ( void  )
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:

  • teste si un indice utilis� n'a pas de sommet associ�
  • teste si un sommet n'appartient � aucun polygone
  • teste si chaque ar�te n'est pas partag�e par 2 polygones
  • teste si des polygones adjacents ne sont pas orient�s dans le m�me sens
  • teste si le sens des normales est correct
  • teste si les normales semblent invers�es (heuristique)

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.

Voici le graphe d'appel pour cette fonction :

void PlyLoader::Delete ( void  )
private

m�thode interne

Définition à la ligne 608 du fichier PlyLoader.cpp.

Références SAFE_DELETE_ARRAY.

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.

Ply::FACE_PLY* PlyLoader::getFaces ( void  )
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.

Voici le graphe des appelants de cette fonction :

const char * PlyLoader::GetMask ( dword  m,
int  b0,
int  b1 
)
private

m�thode interne

Définition à la ligne 65 du fichier PlyLoader.cpp.

const char * PlyLoader::GetMask ( dword  m)
private

m�thode interne

Définition à la ligne 77 du fichier PlyLoader.cpp.

int PlyLoader::getNFaces ( void  )
inline

renvoie le nombre de faces lues dans le fichier PLY.

Définition à la ligne 154 du fichier PlyLoader.h.

Références nfaces.

Voici le graphe des appelants de cette fonction :

int PlyLoader::getNPoints ( void  )
inline

renvoie le nombre de sommets lus dans le fichier PLY.

Définition à la ligne 156 du fichier PlyLoader.h.

Références npoints.

Voici le graphe des appelants de cette fonction :

Ply::POINT_PLY* PlyLoader::getPoints ( void  )
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.

Voici le graphe des appelants de cette fonction :

bool PlyLoader::HaveColor ( )
inline

vrai si la fichier lu contient pour chaque sommet la couleur au sommet

Définition à la ligne 174 du fichier PlyLoader.h.

bool PlyLoader::HaveNormal ( )
inline

vrai si la fichier lu contient pour chaque sommet la normale au sommet

Définition à la ligne 172 du fichier PlyLoader.h.

bool PlyLoader::HavePosition ( )
inline

vrai si la fichier lu contient pour chaque sommet la position du sommet

Définition à la ligne 170 du fichier PlyLoader.h.

void PlyLoader::Init ( void  )
private

m�thode interne

Définition à la ligne 614 du fichier PlyLoader.cpp.

Références Ply::CheckNotChecked.

void PlyLoader::InvertFaceNormalsAndIndex ( void  )
private

m�thode interne

Définition à la ligne 468 du fichier PlyLoader.cpp.

void PlyLoader::InvertFaceNormalsIfNeeded ( void  )
private

m�thode interne

Définition à la ligne 487 du fichier PlyLoader.cpp.

void PlyLoader::InvertNormals ( void  )
private

m�thode interne

Définition à la ligne 524 du fichier PlyLoader.cpp.

bool PlyLoader::IsChecked ( void  )
inline

Teste si les v�rifications g�om�triques ont �t� effectu�es.

Définition à la ligne 180 du fichier PlyLoader.h.

bool PlyLoader::IsCoherenceCheck ( void  )
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.

bool PlyLoader::IsNormalCheck ( void  )
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.

Voici le graphe des appelants de cette fonction :

float PlyLoader::MaxBound ( void  )
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.

Références max, et MaxMin.

Voici le graphe des appelants de cette fonction :

bool PlyLoader::PerformNormalCheck ( float  dM,
float *  P 
)
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.

Voici le graphe des appelants de cette fonction :

bool PlyLoader::ReadBinaryFaces ( void  )
private

m�thode interne

Définition à la ligne 455 du fichier PlyLoader.cpp.

bool PlyLoader::ReadData ( void  )
private

m�thode interne

bool PlyLoader::ReadHeader ( void  )
private
bool PlyLoader::ReadPoints ( void  )
private

m�thode interne

Définition à la ligne 436 du fichier PlyLoader.cpp.

bool PlyLoader::ReadTextFaces ( void  )
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.

Voici le graphe des appelants de cette fonction :

Endian PlyLoader::WhichEndian ( void  )
private

m�thode interne

Définition à la ligne 54 du fichier PlyLoader.cpp.

Références Ply::BigEndian, et Ply::LittleEndian.

Documentation des champs

dword PlyLoader::check
private

Définition à la ligne 98 du fichier PlyLoader.h.

bool PlyLoader::doswap
private

Définition à la ligne 96 du fichier PlyLoader.h.

Ply::FACE_PLY* PlyLoader::faces
private

Définition à la ligne 92 du fichier PlyLoader.h.

Ply::ReadFmt PlyLoader::field[Ply::maxfields]
private

Définition à la ligne 93 du fichier PlyLoader.h.

Ply::FileType PlyLoader::fileFMT
private

Définition à la ligne 95 du fichier PlyLoader.h.

uchar PlyLoader::HaveCol
private

Définition à la ligne 97 du fichier PlyLoader.h.

uchar PlyLoader::HaveNrm
private

Définition à la ligne 97 du fichier PlyLoader.h.

uchar PlyLoader::HavePos
private

Définition à la ligne 97 du fichier PlyLoader.h.

uchar PlyLoader::HaveTol
private

Définition à la ligne 97 du fichier PlyLoader.h.

uchar PlyLoader::HaveUV
private

Définition à la ligne 97 du fichier PlyLoader.h.

Ply::Endian PlyLoader::machFMT
private

Définition à la ligne 94 du fichier PlyLoader.h.

int PlyLoader::nfaces
private

Définition à la ligne 90 du fichier PlyLoader.h.

int PlyLoader::nfields
private

Définition à la ligne 90 du fichier PlyLoader.h.

int PlyLoader::npoints
private

Définition à la ligne 90 du fichier PlyLoader.h.

Ply::Endian PlyLoader::plyFMT
private

Définition à la ligne 94 du fichier PlyLoader.h.

Ply::POINT_PLY* PlyLoader::points
private

Définition à la ligne 91 du fichier PlyLoader.h.

FILE* PlyLoader::ptf
private

Définition à la ligne 99 du fichier PlyLoader.h.


La documentation de cette classe a été générée à partir des fichiers suivants :