//---------------------------------------------------------------------------- // EgalTech 2013-2014 //---------------------------------------------------------------------------- // File : OutTsc.h Data : 23.03.14 Versione : 1.5c9 // Contenuto : Dichiarazione della classe output Tsc. // // // // Modifiche : 23.03.14 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "/EgtDev/Include/EGkColor.h" #include #include #include class Vector3d ; class Point3d ; class BBox3d ; class Frame3d ; class IGeoObj ; class ICurve ; class ICurveBezier ; class CrvPointDiffGeom ; //---------------------------------------------------------------------------- class OutTsc { public : OutTsc( void) ; ~OutTsc( void) ; bool Open( const std::string& sOutTsc) ; bool Close( void) ; bool Remark( const std::string& sRemark) ; bool SetMaterial( double dRed, double dGreen, double dBlue) ; bool PushGroup( void) ; bool PopGroup( void) ; bool NewGroup( int nLev) ; bool NewGroupRef( const Frame3d& frFrame, int nLev) ; bool PutCurrRef( void) ; bool PutGeoObj( const IGeoObj* pGeoObj, int nFlag) ; bool PutBBox( const BBox3d& b3B) ; private : bool Start( void) ; bool End( void) ; bool New( void) ; bool PutMaterial( int nObjId, bool bGroup = false) ; bool Vector( const Vector3d& vtV) ; bool Point( const Point3d& ptP) ; bool Frame( const Frame3d& frF) ; bool Line2P( const Point3d& ptP1, const Point3d& ptP2) ; bool ArcCPA( const Point3d& ptCen, const Point3d& ptMed, double dAngCenDeg) ; bool CircleCR( const Point3d& ptCen, double dRad) ; bool ArcCurvOrTgOrNone( const CrvPointDiffGeom& oDiffG) ; bool NormalOrNone( const CrvPointDiffGeom& oDiffG) ; bool PutCurve( const ICurve* pCurve, int nFlag) ; bool PutPolygBez( const ICurveBezier& CrvBez) ; private : typedef std::stack INTSTACK ; private : std::ofstream m_ofFile ; int m_nId ; // Id dell'ultimo oggetto emesso INTSTACK m_nGroup ; // stack con Id dei gruppi correnti bool m_bOutCol ; // flag per emissione colore Color m_cCol ; // colore corrente } ;