Files
EgtGeomKernel/OutTsc.h
T
Dario Sassi a9291a0cd6 EgtGeomKernel :
- in Tsc sostituita OutScl con OutTsc
- in Tsc aggiunti nomi predefiniti per vettori, punti e riferimenti.
2014-03-24 16:00:00 +00:00

76 lines
2.4 KiB
C++

//----------------------------------------------------------------------------
// 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 <string>
#include <stack>
#include <fstream>
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 <int> 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
} ;