//---------------------------------------------------------------------------- // EgalTech 2014-2014 //---------------------------------------------------------------------------- // File : PointsPCA.h Data : 12.08.14 Versione : 1.5h3 // Contenuto : Dichiarazione della classe PointsPCA. // // // // Modifiche : 12.08.14 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EGkGeoCollection.h" //---------------------------------------------------------------------------- class PointsPCA { public : PointsPCA( void) ; void AddPoint( const Point3d& ptP, double dW = 1) ; int GetRank( void) ; bool GetCenter( Point3d& ptCen) ; bool GetPrincipalComponent( int nId, Vector3d& vtPC) ; private : bool Finalize( void) ; private : static const int MAX_RANK = 3 ; private : PNTUVECTOR m_vPntW ; // vettore dei punti con i loro pesi Point3d m_ptCen ; // baricentro double m_dTotW ; // peso totale int m_nRank ; // numero delle componenti principali (MAX_RANK = 3) Vector3d m_vtPC[MAX_RANK] ; // direzioni delle componenti principali } ;