EgtInterface 1.5l1 :
- aggiornamento a VS2013 - alle curve si assegna in automatico estrusione come Z di griglia - aggiunta gestione direttorio per librerie Lua - aggiunta gestione frame di griglia (CPlane) in GeomDB - aggiunta gestione visualizzazione riferimento globale - aggiunto comando Lua EgtOffsetCurve - aggiunti comandi Lua EgtExecTsc, EgtOutLog, EgtEraseFile, EgtEmptyDirectory, EgtTextFileCompare, EgtBinaryFileCompare, EgtGetVersion - aggiunti comandi Lua EgtSetGridFrame, EgtGetGridFrame, EgtGetGridVersZ.
This commit is contained in:
@@ -572,6 +572,53 @@ __stdcall EgtCurveThickness( int nId, double* pdThick)
|
||||
return ( pCurve->GetThickness( *pdThick) ? TRUE : FALSE) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
BOOL
|
||||
__stdcall EgtGetMinDistPointCurve( const double ptP[3], int nId, double* pdDist)
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, FALSE)
|
||||
// verifico i parametri
|
||||
if ( pdDist == nullptr)
|
||||
return FALSE ;
|
||||
// recupero la curva
|
||||
ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ;
|
||||
if ( pCurve == nullptr)
|
||||
return FALSE ;
|
||||
// calcolo la minima distanza
|
||||
DistPointCurve distPC( ptP, *pCurve) ;
|
||||
return ( ( distPC.GetDist( *pdDist)) ? TRUE : FALSE) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
BOOL
|
||||
__stdcall EgtGetMinDistPntSidePointCurve( const double ptP[3], int nId, double vtN[3],
|
||||
double* pdDist, double ptMin[3], int* pnSide)
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, FALSE)
|
||||
// verifico i parametri
|
||||
if ( pdDist == nullptr || pnSide == nullptr || ptMin == nullptr)
|
||||
return FALSE ;
|
||||
// recupero la curva
|
||||
ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ;
|
||||
if ( pCurve == nullptr)
|
||||
return FALSE ;
|
||||
// calcolo la minima distanza
|
||||
DistPointCurve distPC( ptP, *pCurve) ;
|
||||
// recupero i risultati
|
||||
if ( ! distPC.GetDist( *pdDist))
|
||||
return FALSE ;
|
||||
int nFlag ;
|
||||
Point3d ptQ ;
|
||||
if ( ! distPC.GetMinDistPoint( 0, ptQ, nFlag))
|
||||
return FALSE ;
|
||||
VEC_FROM_3D( ptMin, ptQ)
|
||||
if ( ! distPC.GetSideAtMinDistPoint( 0, vtN, *pnSide))
|
||||
return FALSE ;
|
||||
return TRUE ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
BOOL
|
||||
__stdcall EgtCurveArcNormVersor( int nId, double vtNorm[3])
|
||||
|
||||
Reference in New Issue
Block a user