EgtGeomKernel 1.6c2 :

- aggiunte funzioni per circonferenze e archi tangenti.
This commit is contained in:
Dario Sassi
2015-03-16 07:38:43 +00:00
parent 3dd5d63a65
commit 6c14e51ef6
16 changed files with 1054 additions and 317 deletions
+7 -4
View File
@@ -28,7 +28,10 @@
#include "/EgtDev/Include/EgkLinePntTgCurve.h"
#include "/EgtDev/Include/EgkLineTgTwoCurves.h"
#include "/EgtDev/Include/EgkCurveArc.h"
#include "/EgtDev/Include/EgkArcXxTgArc.h"
#include "/EgtDev/Include/EgkCircleCenTgCurve.h"
#include "/EgtDev/Include/EgkArcPntDirTgCurve.h"
#include "/EgtDev/Include/EgkArcCenTgCurvePnt.h"
#include "/EgtDev/Include/EgkArcSpecial.h"
#include "/EgtDev/Include/EgkCurveBezier.h"
#include "/EgtDev/Include/EgkCurveComposite.h"
#include "/EgtDev/Include/EgkDistPointCurve.h"
@@ -1268,7 +1271,7 @@ GdbExecutor::CurveCircleCenterTgArc( const STRVECTOR& vsParams)
Point3d ptNloc = ptNear ;
ptNloc.LocToLoc( frDest, frTgArc) ;
// calcolo la circonferenza tangente all'arco
ICurveArc* pNewArc = GetCircleCenTgArc( ptCloc, *pTgArc, ptNloc) ;
ICurveArc* pNewArc = GetCircleCenTgCurve( ptCloc, pTgArc->GetNormVersor(), *pTgArc, ptNloc) ;
if ( pNewArc == nullptr)
return false ;
// porto il nuovo arco nel riferimento del gruppo destinazione
@@ -1320,7 +1323,7 @@ GdbExecutor::CurveArcCenterTgArcP( const STRVECTOR& vsParams)
Point3d ptNeloc = ptNear ;
ptNeloc.LocToLoc( frDest, frTgArc) ;
// calcolo la circonferenza tangente all'arco
ICurveArc* pNewArc = GetArcCenTgArcPnt( ptCloc, *pTgArc, ptNtloc, ptNeloc) ;
ICurveArc* pNewArc = GetArcCenTgCurvePnt( ptCloc, *pTgArc, ptNtloc, ptNeloc, Z_AX) ;
if ( pNewArc == nullptr)
return false ;
// porto il nuovo arco nel riferimento del gruppo destinazione
@@ -1370,7 +1373,7 @@ GdbExecutor::CurveArcPDiTgArc( const STRVECTOR& vsParams)
Point3d ptNtloc = ptNear ;
ptNtloc.LocToLoc( frDest, frTgArc) ;
// calcolo l'arco (in casi particolari può essere una linea)
ICurve* pCurve = GetArcPntDirTgArc( ptSloc, dDirI, *pTgArc, ptNtloc) ;
ICurve* pCurve = GetArcPntDirTgCurve( ptSloc, FromPolar( 1, dDirI), *pTgArc, ptNtloc, Z_AX) ;
if ( pCurve == nullptr)
return false ;
// porto il nuovo arco nel riferimento del gruppo destinazione