EgtGeomKernel 1.5i4 :

- tolto controllo antidebug da release per VB.NET
- aggiunti metodi CurveArc::Set2PNRS e SetC2PN
- aggiunta scrittura MachineId come commento in NGE di testo.
This commit is contained in:
Dario Sassi
2014-09-18 14:56:47 +00:00
parent ffd9f0c1bd
commit 46fb7bd5f4
7 changed files with 79 additions and 6 deletions
+48
View File
@@ -378,6 +378,29 @@ CurveArc::Set2PRS( const Point3d& ptStart, const Point3d& ptEnd, double dRad, bo
return Validate() ;
}
//----------------------------------------------------------------------------
// Set per arco di circonferenza in un piano generico con ptStart, ptEnd, vtN, dRad, bCCW
// ( si suppone |dAngCenDeg| <= 180deg)
//----------------------------------------------------------------------------
bool
CurveArc::Set2PNRS( const Point3d& ptStart, const Point3d& ptEnd, const Vector3d& vtN, double dRad, bool bCCW)
{
// calcolo il riferimento OCS derivato da vtN
Frame3d frOcs ;
if ( ! frOcs.Set( ORIG, vtN))
return false ;
// porto i punti in questo riferimento
Point3d ptSloc = ptStart ;
ptSloc.ToLoc( frOcs) ;
Point3d ptEloc = ptEnd ;
ptEloc.ToLoc( frOcs) ;
// calcolo l'arco in questo piano
if ( ! Set2PRS( ptSloc, ptEloc, dRad, bCCW))
return false ;
// riporto l'arco nel riferimento naturale
return ToGlob( frOcs) ;
}
//----------------------------------------------------------------------------
// Set per arco di circonferenza nel piano XY con ptCen, ptStart, ptNearEnd
// ( si suppone |dAngCenDeg| <= 180deg)
@@ -412,6 +435,31 @@ CurveArc::SetC2P( const Point3d& ptCen, const Point3d& ptStart, const Point3d& p
return Validate() ;
}
//----------------------------------------------------------------------------
// Set per arco di circonferenza in un piano generico con ptCen, ptStart, ptNearEnd, vtN
// ( si suppone |dAngCenDeg| <= 180deg)
//----------------------------------------------------------------------------
bool
CurveArc::SetC2PN( const Point3d& ptCen, const Point3d& ptStart, const Point3d& ptNearEnd, const Vector3d& vtN)
{
// calcolo il riferimento OCS derivato da vtN
Frame3d frOcs ;
if ( ! frOcs.Set( ORIG, vtN))
return false ;
// porto i punti in questo riferimento
Point3d ptCloc = ptCen ;
ptCloc.ToLoc( frOcs) ;
Point3d ptSloc = ptStart ;
ptSloc.ToLoc( frOcs) ;
Point3d ptNEloc = ptNearEnd ;
ptNEloc.ToLoc( frOcs) ;
// calcolo l'arco in questo piano
if ( ! SetC2P( ptCloc, ptSloc, ptNEloc))
return false ;
// riporto l'arco nel riferimento naturale
return ToGlob( frOcs) ;
}
//----------------------------------------------------------------------------
CurveArc*
CurveArc::Clone( void) const