EgtInterface 1.6b2 :

- razionalizzazione
- modificati comandi per creazione superfici per gestione piani di regioni con buchi
- aggiunta SplitCurve.
This commit is contained in:
Dario Sassi
2015-02-11 11:46:14 +00:00
parent 4e1dddee86
commit 1e24540dc1
15 changed files with 345 additions and 60 deletions
+8 -4
View File
@@ -914,7 +914,7 @@ __stdcall EgtCreateCurveBezier( int nParentId, int nDegree, const double ptCtrls
PNTVECTOR vPnt ;
vPnt.reserve( nDegree + 1) ;
for ( int i = 0 ; i <= nDegree ; ++i) {
vPnt.push_back( Point3d( ptCtrls[3*i], ptCtrls[3*i+1], ptCtrls[3*i+2])) ;
vPnt.emplace_back( ptCtrls[3*i], ptCtrls[3*i+1], ptCtrls[3*i+2]) ;
}
return EgtCreateCurveBezier( nParentId, nDegree, vPnt, nRefType) ;
}
@@ -978,7 +978,7 @@ __stdcall EgtCreateCurveBezierRational( int nParentId, int nDegree, const double
PNTUVECTOR vPntW ;
vPntW.reserve( nDegree + 1) ;
for ( int i = 0 ; i <= nDegree ; ++i) {
vPntW.push_back( make_pair( Point3d( ptCtrlWs[4*i], ptCtrlWs[4*i+1], ptCtrlWs[4*i+2]), ptCtrlWs[4*i+3])) ;
vPntW.emplace_back( Point3d( ptCtrlWs[4*i], ptCtrlWs[4*i+1], ptCtrlWs[4*i+2]), ptCtrlWs[4*i+3]) ;
}
return EgtCreateCurveBezierRational( nParentId, nDegree, vPntW, nRefType) ;
}
@@ -1382,7 +1382,7 @@ EgtCreateCurveCompoFromPoints( int nParentId, const PolyLine& PL, int nRefType)
while ( PL.GetNextPoint( ptP))
sPnt += ",{" + ToString( ptP) + "}" ;
string sLua = "EgtCurveCompoFromPoints(" + ToString( nParentId) + ",{" +
sPnt + "},{" +
sPnt + "}," +
RefTypeToString( nRefType) + ")" +
" -- Id=" + ToString( nId) ;
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
@@ -1437,7 +1437,7 @@ EgtCreateCurveCompoFromPointBulges( int nParentId, const PolyArc& PA, int nRefTy
while ( PA.GetNextPoint( ptP, dB))
sPnt += ",{" + ToString( ptP) + "," + ToString( dB) + "}" ;
string sLua = "EgtCurveCompoFromPointBulges(" + ToString( nParentId) + ",{" +
sPnt + "},{" +
sPnt + "}," +
RefTypeToString( nRefType) + ")" +
" -- Id=" + ToString( nId) ;
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
@@ -1533,8 +1533,12 @@ __stdcall EgtCreateRectangle3P( int nParentId, const double ptIni[3],
PL.AddUPoint( 2, ptCrossL) ;
PL.AddUPoint( 3, Point3d( ptCrossL) - vtLatoX) ;
PL.AddUPoint( 4, ptIniL) ;
// disabilito log dei comandi e salvo stato precedente
bool bPrevCmdLog = SetCmdLog( false) ;
// creo la curva e la inserisco nel GDB
nId = EgtCreateCurveCompoFromPoints( nParentId, PL, RTY_LOC) ;
// ripristino precedente stato dei comandi
SetCmdLog( bPrevCmdLog) ;
// ne sistemo il vettore estrusione
ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ;
if ( pCurve != nullptr)