#ifndef _ceiminfo_h_ #define _ceiminfo_h_ #include "../Object/point.h" #include "vector.h" struct sSlope { long m_dwPos[2]; // position du debut et de la fin de la pente long m_dwMiddle; // position du point m_ptMiddle long m_dwIntensity; // intensite du point mediant (Le 'vrai') Point m_ptMiddle; // point milieu de la pente ou juste avant Point m_ptDraw; // le point a afficher (le + proche de la valeur mediane) double m_dblMiddle; // distance entre les points encadrants le milieu }; struct sParoi { sSlope m_slope[3]; // definitions des trois pentes caracteristiques du profil de la paroi CVector m_vMeasure; // vecteur sur lequel la detection a ete effectuee }; class CEIMInfo { public: // validite de la mesure bool m_fValid; // prendre cette information en compte pour la mesure et l'affichage // car le profil a ete detecte bool m_fThrownOut; // rejete car ne repondant pas a un des critere d'uniformite (pour verif) // pour mesure (normes sans mises a l'echelle) double m_dblDist; // distance de m_ptMiddle1 [0] a son projete orthogonal sur m_vUser // cette distance doit etre constante pour tous les points, sinon le vecteur // m_vUser n'est pas parallere a la paroi (ou la detection est incorrecte) double m_dblQI; double m_dblEIM; // distance de m_ptMiddle1 [0] a m_ptMiddle2 [0] double m_dblINT; // distance de m_ptMiddle1 [0] a m_ptMiddle3 [0] double m_dblDia; // distance de m_ptMiddle2 [1] a son projete orthogonal sur m_vUser double m_dblEIMd; // moyenne des insentises de m_ptMiddle1[0] a m_ptMiddle2[0] double m_dblINTd; // moyenne des intensites de m_ptMiddle1[0] a m_ptMiddle3[0] double m_dblMEDd; // moyenne des intensites de m_ptMiddle2[0] a m_ptMiddle3[0] int m_diagnostic; // Pour mesures intermediaires (detection du profil) struct sParoi m_Paroi[2]; // 0 : profil bas ou droite. 1 : profil haut ou gauche (pour diametre) }; #endif