EgtInterface 1.5k1 :
- agg. gestione attributi per selezione superfici in shading - EgtSplitCurveCompo è diventata EgtSeparateCurveCompo - aggiunta EgtSplitCurveAtPoint - aggiunta EgtFrameFrom3Points
This commit is contained in:
+29
-2
@@ -19,6 +19,7 @@
|
||||
#include "/EgtDev/Include/EgkCurve.h"
|
||||
#include "/EgtDev/Include/EgkCurveArc.h"
|
||||
#include "/EgtDev/Include/EgkCurveComposite.h"
|
||||
#include "/EgtDev/Include/EgkDistPointCurve.h"
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -143,7 +144,7 @@ __stdcall EgtTrimCurveEndAtParam( int nId, double dPar)
|
||||
ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ;
|
||||
if ( pCurve == nullptr)
|
||||
return false ;
|
||||
// taglio la curva all'inizio
|
||||
// taglio la curva alla fine
|
||||
return ( pCurve->TrimEndAtParam( dPar) ? TRUE : FALSE) ;
|
||||
}
|
||||
|
||||
@@ -161,6 +162,32 @@ __stdcall EgtTrimCurveStartEndAtParam( int nId, double dParS, double dParE)
|
||||
return ( pCurve->TrimStartEndAtParam( dParS, dParE) ? TRUE : FALSE) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
BOOL
|
||||
__stdcall EgtSplitCurveAtPoint( int nId, double ptOn[3])
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, FALSE)
|
||||
// recupero la curva
|
||||
ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ;
|
||||
if ( pCurve == nullptr)
|
||||
return FALSE ;
|
||||
// determino la posizione parametrica del punto sulla curva (con tolleranza)
|
||||
DistPointCurve dstPC( ptOn, *pCurve) ;
|
||||
int nFlag ;
|
||||
double dU ;
|
||||
if ( ! dstPC.GetParamAtMinDistPoint( 0, dU, nFlag) || nFlag != MDPCI_NORMAL)
|
||||
return FALSE ;
|
||||
// copio la curva
|
||||
int nCopyId = pGeomDB->Copy( nId, GDB_ID_NULL, nId, GDB_AFTER) ;
|
||||
if ( nCopyId == GDB_ID_NULL)
|
||||
return FALSE ;
|
||||
// tengo la prima parte dell'originale e la seconda parte della copia
|
||||
if ( ! pCurve->TrimEndAtParam( dU))
|
||||
return false ;
|
||||
return ( EgtTrimCurveStartAtParam( nCopyId, dU) ? TRUE : FALSE) ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
BOOL
|
||||
__stdcall EgtModifyCurveCircleCPN( int nId, const double ptOn[3])
|
||||
@@ -236,7 +263,7 @@ __stdcall EgtModifyCurveArc3P( int nId, const double ptMid[3])
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
BOOL
|
||||
__stdcall EgtSplitCurveCompo( int nId)
|
||||
__stdcall EgtSeparateCurveCompo( int nId)
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, FALSE)
|
||||
|
||||
Reference in New Issue
Block a user