Files
EgtGeomKernel/OutScl.h
T
2013-12-11 18:30:56 +00:00

59 lines
2.0 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2013-2013
//----------------------------------------------------------------------------
// File : OutScl.h Data : 25.11.13 Versione : 1.3a1
// Contenuto : Dichiarazione della classe output SCL.
//
//
//
// Modifiche : 31.12.12 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include <string>
#include <fstream>
#include "/EgtDev/Include/EgkPoint3d.h"
#include "/EgtDev/Include/EgkCurveLine.h"
#include "/EgtDev/Include/EgkCurveArc.h"
#include "/EgtDev/Include/EgkCurveBezier.h"
#include "/EgtDev/Include/EgkCurveComposite.h"
//----------------------------------------------------------------------------
class OutScl
{
public :
OutScl( void) ;
~OutScl( void) ;
bool Open( const std::string& sOutScl) ;
bool Close( void) ;
bool Remark( std::string sRemark) ;
bool SetMaterial( double dRed, double dGreen, double dBlue) ;
bool SetPartLay( std::string sPart, std::string sLay) ;
bool SetPartLayRef( std::string sPart, std::string sLay, const Frame3d& frFrame) ;
bool PutCurve( const IGeoObj* pCurve, int nFlag) ;
bool PutCurveLine( const ICurveLine& CrvLine) ;
bool PutCurveArc( const ICurveArc& CrvArc, int nFlag) ;
bool PutCurveBez( const ICurveBezier& CrvBez, int nFlag) ;
bool PutPolygBez( const ICurveBezier& CrvBez) ;
bool PutCurveCompo( const ICurveComposite& CrvCompo, int nFlag) ;
private :
bool Start( void) ;
bool End( void) ;
bool New( void) ;
bool SetMaterial( std::string sMaterial, double dRed, double dGreen, double dBlue) ;
bool Line2P( Point3d ptP1, Point3d ptP2) ;
bool Arc3P( Point3d ptP1, Point3d ptP2, Point3d ptP3) ;
bool ArcCPA( Point3d ptCen, Point3d ptMed, double dAngCenDeg) ;
private :
std::ofstream m_ofFile ;
std::string m_sMaterial ;
std::string m_sPartLay ;
} ;