EgtInterface 1.5l2 :
- migliorie e modifiche in generale, specie su Lua.
This commit is contained in:
+58
-18
@@ -16,12 +16,13 @@
|
||||
#include "API.h"
|
||||
#include "API_Macro.h"
|
||||
#include "/EgtDev/Include/EInAPI.h"
|
||||
#include "/EgtDev/Include/EgkCurve.h"
|
||||
#include "/EgtDev/Include/EgkCurveArc.h"
|
||||
#include "/EgtDev/Include/EgkCurveBezier.h"
|
||||
#include "/EgtDev/Include/EgkCurveComposite.h"
|
||||
#include "/EgtDev/Include/EgkDistPointCurve.h"
|
||||
#include "/EgtDev/Include/EgkExtTExt.h"
|
||||
#include "/EgtDev/Include/EGkCurve.h"
|
||||
#include "/EgtDev/Include/EGkCurveArc.h"
|
||||
#include "/EgtDev/Include/EGkCurveBezier.h"
|
||||
#include "/EgtDev/Include/EGkCurveComposite.h"
|
||||
#include "/EgtDev/Include/EGkDistPointCurve.h"
|
||||
#include "/EgtDev/Include/EGkExtTExt.h"
|
||||
#include "/EgtDev/Include/EGkGdbIterator.h"
|
||||
#include "/EgtDev/Include/EgtPointerOwner.h"
|
||||
|
||||
|
||||
@@ -73,12 +74,32 @@ __stdcall EgtModifyCurveExtrusion( int nId, const double vtExtr[3])
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL)
|
||||
// recupero la curva
|
||||
ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ;
|
||||
if ( pCurve == nullptr)
|
||||
return FALSE ;
|
||||
// ne modifico il vettore estrusione
|
||||
return ( pCurve->SetExtrusion( Vector3d( vtExtr)) ? TRUE : FALSE) ;
|
||||
// se gruppo, agisco sulle sole curve componenti
|
||||
if ( pGeomDB->GetGdbType( nId) == GDB_TY_GROUP) {
|
||||
PtrOwner<IGdbIterator> pIter( CreateGdbIterator( pGeomDB)) ;
|
||||
if ( IsNull( pIter))
|
||||
return FALSE ;
|
||||
bool bOk = true ;
|
||||
Vector3d vtVE( vtExtr) ;
|
||||
for ( bool bFound = pIter->GoToFirstInGroup( nId) ;
|
||||
bFound ;
|
||||
bFound = pIter->GoToNext()) {
|
||||
// recupero la curva e ne modifico il vettore estrusione
|
||||
ICurve* pCurve = GetCurve( pIter->GetGeoObj()) ;
|
||||
if ( pCurve != nullptr && ! pCurve->SetExtrusion( vtVE))
|
||||
bOk = false ;
|
||||
}
|
||||
return ( bOk ? TRUE : FALSE) ;
|
||||
}
|
||||
// se oggetto geometrico
|
||||
else {
|
||||
// recupero la curva
|
||||
ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ;
|
||||
if ( pCurve == nullptr)
|
||||
return FALSE ;
|
||||
// ne modifico il vettore estrusione
|
||||
return ( pCurve->SetExtrusion( Vector3d( vtExtr)) ? TRUE : FALSE) ;
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -87,12 +108,31 @@ __stdcall EgtModifyCurveThickness( int nId, double dThick)
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL)
|
||||
// recupero la curva
|
||||
ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ;
|
||||
if ( pCurve == nullptr)
|
||||
return FALSE ;
|
||||
// ne modifico lo spessore
|
||||
return ( pCurve->SetThickness( dThick) ? TRUE : FALSE) ;
|
||||
// se gruppo, agisco sulle sole curve componenti
|
||||
if ( pGeomDB->GetGdbType( nId) == GDB_TY_GROUP) {
|
||||
PtrOwner<IGdbIterator> pIter( CreateGdbIterator( pGeomDB)) ;
|
||||
if ( IsNull( pIter))
|
||||
return FALSE ;
|
||||
bool bOk = true ;
|
||||
for ( bool bFound = pIter->GoToFirstInGroup( nId) ;
|
||||
bFound ;
|
||||
bFound = pIter->GoToNext()) {
|
||||
// recupero la curva e ne modifico lo spessore
|
||||
ICurve* pCurve = GetCurve( pIter->GetGeoObj()) ;
|
||||
if ( pCurve != nullptr && ! pCurve->SetThickness( dThick))
|
||||
bOk = false ;
|
||||
}
|
||||
return ( bOk ? TRUE : FALSE) ;
|
||||
}
|
||||
// se oggetto geometrico
|
||||
else {
|
||||
// recupero la curva
|
||||
ICurve* pCurve = GetCurve( pGeomDB->GetGeoObj( nId)) ;
|
||||
if ( pCurve == nullptr)
|
||||
return FALSE ;
|
||||
// ne modifico lo spessore
|
||||
return ( pCurve->SetThickness( dThick) ? TRUE : FALSE) ;
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user