Files
EgtGeomKernel/OutScl.h
T
2014-01-16 22:02:41 +00:00

59 lines
2.1 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 PutPolygBez( const ICurveBezier& CrvBez) ;
bool PutBBox( const BBox3d& b3B) ;
private :
bool Start( void) ;
bool End( void) ;
bool New( void) ;
bool SetMaterial( std::string sMaterial, double dRed, double dGreen, double dBlue) ;
bool Line2P( const Point3d& ptP1, const Point3d& ptP2) ;
bool Arc3P( const Point3d& ptP1, const Point3d& ptP2, const Point3d& ptP3) ;
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) ;
private :
std::ofstream m_ofFile ;
std::string m_sMaterial ;
std::string m_sPartLay ;
} ;