EgtGeomKernel 1.4a3 : Migliorata gestione gruppi, aggiunti GdbIterator, GeoFrame3d e IdManager.

This commit is contained in:
Dario Sassi
2013-12-05 07:33:42 +00:00
parent 19e382b435
commit 8e9bc9169c
25 changed files with 1095 additions and 144 deletions
+54
View File
@@ -173,6 +173,36 @@ OutScl::SetPartLay( string sPart, string sLay)
return true ;
}
//----------------------------------------------------------------------------
bool
OutScl::SetPartLayRef( string sPart, string sLay, const Frame3d& frFrame)
{
double dAngC ;
double dAngA ;
double dAngC1 ;
// verifico sia aperto
if ( ! m_ofFile.is_open())
return false ;
m_sPartLay = sPart + "\\" + sLay ;
// calcolo angoli di rotazione del frame
frFrame.GetRotationsCAC1( dAngC, dAngA, dAngC1) ;
// emetto comando di creazione pezzo
m_ofFile << "CreatePart( \"" << sPart << "\") ;" << endl ;
// emetto comando di creazione layer
m_ofFile << "CreateLayer( \"" << sLay << "\", \"" << sPart << "\") ;" << endl ;
// emetto comando di modifica riferimento
m_ofFile << "ModifyLayerRef( \"" << sLay << "\", \"" << sPart << "\"," ;
m_ofFile << "30,0," << ToString( frFrame.Orig()) << "," ;
m_ofFile << ToString( dAngC) << "," << ToString( dAngA) << "," << ToString( dAngC1) << ") ;" << endl ;
return true ;
}
//----------------------------------------------------------------------------
bool
OutScl::Line2P( Point3d ptP1, Point3d ptP2)
@@ -231,6 +261,30 @@ OutScl::ArcCPA( Point3d ptCen, Point3d ptMed, double dAngCenDeg)
return true ;
}
//----------------------------------------------------------------------------
bool
OutScl::PutCurve( const IGeoObj* pCurve, bool bCrvVsPoly)
{
if ( pCurve == nullptr)
return false ;
switch ( pCurve->GetType()) {
case CRV_LINE :
return PutCurveLine( *GetCurveLine( pCurve)) ;
case CRV_ARC :
return PutCurveArc( *GetCurveArc( pCurve)) ;
case CRV_BEZ :
if ( bCrvVsPoly)
return PutCurveBez( *GetCurveBezier( pCurve)) ;
else
return PutPolygBez( *GetCurveBezier( pCurve)) ;
case CRV_COMPO :
return PutCurveCompo( *GetCurveComposite( pCurve)) ;
}
return false ;
}
//----------------------------------------------------------------------------
bool
OutScl::PutCurveLine( const ICurveLine& CrvLine)