EgtGeomKernel 1.5h7 :
- modificta gestione versione dei file Nge - alle curve aggiunti vettore estrusione e spessore - IsFlat ora tiene conto del vettore estrusione - a TSC aggiunte CurveModify.EXTRusion e CurveModify.THickness.
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
#include "/EgtDev/Include/EgkGeoVector3d.h"
|
||||
#include "/EgtDev/Include/EgkGeoFrame3d.h"
|
||||
#include "/EgtDev/Include/EgkCurveLine.h"
|
||||
#include "/EgtDev/Include/EgkCurveAux.h"
|
||||
#include "/EgtDev/Include/EgkLinePntTgCurve.h"
|
||||
#include "/EgtDev/Include/EgkLineTgTwoArcs.h"
|
||||
#include "/EgtDev/Include/EgkCurveArc.h"
|
||||
@@ -4830,6 +4831,10 @@ GdbExecutor::ExecuteCurveModify( const string& sCmd2, const STRVECTOR& vsParams)
|
||||
return CurveModifyStartPoint( vsParams) ;
|
||||
else if ( sCmd2 == "EP" || sCmd2 == "ENDPOINT")
|
||||
return CurveModifyEndPoint( vsParams) ;
|
||||
else if ( sCmd2 == "EXTR" || sCmd2 == "EXTRUSION")
|
||||
return CurveModifyExtrusion( vsParams) ;
|
||||
else if ( sCmd2 == "TH" || sCmd2 == "THICKNESS")
|
||||
return CurveModifyThickness( vsParams) ;
|
||||
if ( sCmd2 == "TRSL" || sCmd2 == "TRIMSTARTLEN")
|
||||
return CurveModifyTrim( vsParams, SL) ;
|
||||
else if ( sCmd2 == "TREL" || sCmd2 == "TRIMENDLEN")
|
||||
@@ -4913,6 +4918,50 @@ GdbExecutor::CurveModifyEndPoint( const STRVECTOR& vsParams)
|
||||
return pCrv->ModifyEnd( ptNewEnd) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
GdbExecutor::CurveModifyExtrusion( const STRVECTOR& vsParams)
|
||||
{
|
||||
// 2 parametri : Id, vtExtrusion
|
||||
if ( vsParams.size() != 2)
|
||||
return false ;
|
||||
// recupero la curva sorgente
|
||||
int nIdCrv = GetIdParam( vsParams[0]) ;
|
||||
ICurve* pCrv = GetCurve( m_pGDB->GetGeoObj( nIdCrv)) ;
|
||||
if ( pCrv == nullptr)
|
||||
return false ;
|
||||
// recupero il suo riferimento
|
||||
Frame3d frCrv ;
|
||||
if ( ! m_pGDB->GetGlobFrame( nIdCrv, frCrv))
|
||||
return false ;
|
||||
// recupero il vettore di estrusione
|
||||
Vector3d vtExtr ;
|
||||
if ( ! GetVectorParam( vsParams[1], frCrv, vtExtr))
|
||||
return false ;
|
||||
// eseguo la modifica
|
||||
return pCrv->SetExtrusion( vtExtr) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
GdbExecutor::CurveModifyThickness( const STRVECTOR& vsParams)
|
||||
{
|
||||
// 2 parametri : Id, dThick
|
||||
if ( vsParams.size() != 2)
|
||||
return false ;
|
||||
// recupero la curva sorgente
|
||||
int nIdCrv = GetIdParam( vsParams[0]) ;
|
||||
ICurve* pCrv = GetCurve( m_pGDB->GetGeoObj( nIdCrv)) ;
|
||||
if ( pCrv == nullptr)
|
||||
return false ;
|
||||
// recupero lo spessore
|
||||
double dThick ;
|
||||
if ( ! GetLengthParam( vsParams[1], dThick))
|
||||
return false ;
|
||||
// eseguo la modifica
|
||||
return pCrv->SetThickness( dThick) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
GdbExecutor::CurveModifyTrim( const STRVECTOR& vsParams, int nTrimType)
|
||||
|
||||
Reference in New Issue
Block a user