a9291a0cd6
- in Tsc sostituita OutScl con OutTsc - in Tsc aggiunti nomi predefiniti per vettori, punti e riferimenti.
76 lines
2.4 KiB
C++
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
|
|
} ;
|
|
|