Files
Dario Sassi 1b85e111dc EgtGeomKernel 1.6b7 :
- aggiunto calcolo baricentro di Curve
- migliorata gestione richiesta nuovo Id
- aggiunta intersezione linea-piano e linea-triangolo
- corretto errore in PointGrid3d con 1 solo punto (non faceva alcunchè)
- aggiunte funzioni di accesso a dati di SurfTM.
2015-02-24 22:47:10 +00:00

46 lines
1.8 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2014-2015
//----------------------------------------------------------------------------
// File : PolygonPlane.h Data : 23.02.15 Versione : 1.6b7
// Contenuto : Dichiarazione della classe PolygonPlane.
//
//
//
// Modifiche : 12.08.14 DS Creazione modulo.
// 23.02.15 DS Aggiunta gestione centro geometrico (centroid).
//
//----------------------------------------------------------------------------
#pragma once
#include "/EgtDev/Include/EGkPlane3d.h"
//----------------------------------------------------------------------------
class PolygonPlane
{
public :
PolygonPlane( void)
: m_nPntNbr( -1), m_dLenN( 0) {}
void Reset( void)
{ m_nPntNbr = -1 ; m_dLenN = 0 ; }
void AddPoint( const Point3d& ptP) ;
bool GetCentroid( Point3d& ptCen) ;
bool GetNormal( Vector3d& vtN) ;
bool GetPlane( Plane3d& plPlane) ;
bool GetArea( double& dArea) ;
private :
bool Finalize( void) ;
private :
int m_nPntNbr ; // numero punti aggiunti
double m_dLenN ; // lunghezza della normale
Point3d m_ptFirst ; // primo punto aggiunto
Point3d m_ptLast ; // ultimo punto aggiunto
Vector3d m_vtN ; // versore normale
Point3d m_ptMid ; // media dei punti
double m_dSXy, m_dSXz ; // momenti statici dell'area proiettata sul piano yz (perp. a X)
double m_dSYz, m_dSYx ; // momenti statici dell'area proiettata sul piano zx (perp. a Y)
double m_dSZx, m_dSZy ; // momenti statici dell'area proiettata sul piano xy (perp. a Z)
} ;