EgtExecutor :

- piccole aggiunte alla chiamata delle funzioni per le bezier
- aggiunta della chiamata alla funzione SurfBzByPointCurve.
This commit is contained in:
Daniele Bariletti
2024-07-16 11:22:58 +02:00
parent 560d7af700
commit ddbc2a81e6
7 changed files with 81 additions and 19 deletions
+14 -1
View File
@@ -739,12 +739,23 @@ ExeCurveCompoGetTempParam( int nId, DBLVECTOR& vParam, int nParamInd)
//----------------------------------------------------------------------------
int
ExeShowCurveBezierControlPoints( int nCrvId, int* pnCount)
ExeShowCurveBezierControlPoints( int nCrvId, int nDestGrpId, int* pnCount)
{
IGeomDB* pGeomDB = GetCurrGeomDB() ;
VERIFY_GEOMDB( pGeomDB, false)
// recupero la curva di bezier
IGeoObj* pGeoObj = pGeomDB->GetGeoObj( nCrvId) ;
if ( pGeoObj->GetType() != CRV_BEZIER)
return GDB_ID_NULL ;
// recupero il riferimento della curva
Frame3d frCrv ;
bool bOk = true ;
bOk = bOk && pGeomDB->GetGlobFrame( nCrvId, frCrv) ;
// recupero il riferimento di destinazione
Frame3d frDest ;
bOk = bOk && pGeomDB->GetGroupGlobFrame( nDestGrpId, frDest) ;
if ( ! bOk)
return GDB_ID_NULL ;
int nType = pGeoObj->GetType() ;
if ( nType == CRV_COMPO) {
const ICurveComposite* pCrvCompo = GetCurveComposite( pGeoObj) ;
@@ -769,6 +780,7 @@ ExeShowCurveBezierControlPoints( int nCrvId, int* pnCount)
//else
// pGeoPt->Set( pCrvBezier->GetControlPoint( i) * pCrvBezier->GetControlWeight( i)) ;
pGeoPt->Set( pCrvBezier->GetControlPoint( i)) ;
pGeoPt->LocToLoc( frCrv, frDest) ;
int nId = pGeomDB->AddGeoObj( GDB_ID_NULL, nParent, pGeoPt) ;
if ( nFirstId == GDB_ID_NULL)
nFirstId = nId ;
@@ -797,6 +809,7 @@ ExeShowCurveBezierControlPoints( int nCrvId, int* pnCount)
//else
// pGeoPt->Set( pCrvBezier->GetControlPoint( i) * pCrvBezier->GetControlWeight( i)) ;
pGeoPt->Set( pCrvBezier->GetControlPoint( i)) ;
pGeoPt->LocToLoc( frCrv, frDest) ;
int nId = pGeomDB->AddGeoObj( GDB_ID_NULL, nParent, pGeoPt) ;
if ( nFirstId == GDB_ID_NULL)
nFirstId = nId ;