EgtExecutor 2.5g1 :
- aggiunte funzioni Exe e Lua SurfTmVertexCount, SurfTmGetVertex, SurfTmGetNearestVertex, SurfTmGetAllVertInFacet e SurfTmMoveVertex.
This commit is contained in:
+42
-5
@@ -410,6 +410,43 @@ ExeSurfFrRotateSimpleNoCollision( int nId1, int nId2, const Point3d& ptCen, doub
|
||||
return ( bOk && CAvSimpleSurfFrMove( *pSfr1, *pSfr2L).Rotate(ptCenL, dAngDeg)) ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
bool
|
||||
ExeSurfTmMoveVertex( int nId, int nVert, const Point3d& ptNewVert, int nRefType, bool bUpdate)
|
||||
{
|
||||
IGeomDB* pGeomDB = GetCurrGeomDB() ;
|
||||
VERIFY_GEOMDB( pGeomDB, GDB_ID_NULL)
|
||||
// recupero la superficie
|
||||
ISurfTriMesh* pStm = GetSurfTriMesh( pGeomDB->GetGeoObj( nId)) ;
|
||||
bool bOk = ( pStm != nullptr) ;
|
||||
// recupero il riferimento in cui è immersa la superficie
|
||||
Frame3d frStm ;
|
||||
bOk = bOk && pGeomDB->GetGlobFrame( nId, frStm) ;
|
||||
// eseguo la modifica
|
||||
if ( bOk) {
|
||||
// porto il nuovo vertice nel riferimento della superficie
|
||||
Point3d ptNewVertL = GetPointLocal( pGeomDB, ptNewVert, nRefType, frStm) ;
|
||||
// eseguo la modifica
|
||||
bOk = pStm->MoveVertex( nVert, ptNewVertL) ;
|
||||
// se richiesto, semplificazione della trimesh
|
||||
if ( bUpdate)
|
||||
bOk = bOk && pStm->DoCompacting() ;
|
||||
}
|
||||
ExeSetModified() ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = "EgtSurfTmMoveVertex(" + IdToString( nId) + "," +
|
||||
ToString( nVert) + ",{" +
|
||||
ToString( ptNewVert) + "}," +
|
||||
RefTypeToString( nRefType) + "," +
|
||||
( bUpdate ? "true" : "false") + ")" +
|
||||
" -- Ok=" + ToString( bOk) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
// restituisco risultato
|
||||
return bOk ;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
static int
|
||||
MySurfTmToTriangles( int nId, int& nCount)
|
||||
@@ -468,7 +505,7 @@ ExeSurfTmToTriangles( int nId, int* pnCount)
|
||||
ExeSetModified() ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = "EgtSurfTmToTriangles(" + ToString( nId) + ")" +
|
||||
string sLua = "EgtSurfTmToTriangles(" + IdToString( nId) + ")" +
|
||||
" -- Id1=" + ToString( nFirstId) + ",Nbr=" + ToString( nCount) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
}
|
||||
@@ -492,7 +529,7 @@ ExeSurfTmRemoveFacet( int nId, int nFacet)
|
||||
ExeSetModified() ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = "EgtSurfTmRemoveFacet(" + ToString( nId) + "," +
|
||||
string sLua = "EgtSurfTmRemoveFacet(" + IdToString( nId) + "," +
|
||||
ToString( nFacet) + ")" +
|
||||
" -- Ok=" + ToString( bOk) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
@@ -515,7 +552,7 @@ ExeSurfTmSwapFacets( int nId, int nFacet1, int nFacet2)
|
||||
ExeSetModified() ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = "EgtSurfTmSwapFacets(" + ToString( nId) + "," +
|
||||
string sLua = "EgtSurfTmSwapFacets(" + IdToString( nId) + "," +
|
||||
ToString( nFacet1) + "," +
|
||||
ToString( nFacet2) + ")" +
|
||||
" -- Ok=" + ToString( bOk) ;
|
||||
@@ -539,7 +576,7 @@ ExeSurfTmRemovePart( int nId, int nPart)
|
||||
ExeSetModified() ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = "EgtSurfTmRemovePart(" + ToString( nId) + "," +
|
||||
string sLua = "EgtSurfTmRemovePart(" + IdToString( nId) + "," +
|
||||
ToString( nPart) + ")" +
|
||||
" -- Ok=" + ToString( bOk) ;
|
||||
LOG_INFO( GetCmdLogger(), sLua.c_str()) ;
|
||||
@@ -571,7 +608,7 @@ ExeCutSurfTmPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, bool bSave
|
||||
ExeSetModified() ;
|
||||
// se richiesto, salvo il comando Lua equivalente
|
||||
if ( IsCmdLog()) {
|
||||
string sLua = "EgtCutSurfTmPlane(" + ToString( nId) + ",{" +
|
||||
string sLua = "EgtCutSurfTmPlane(" + IdToString( nId) + ",{" +
|
||||
ToString( ptOn) + "},{" +
|
||||
ToString( vtN) + "}," +
|
||||
( bSaveOnEq ? "true" : "false") + "," +
|
||||
|
||||
Reference in New Issue
Block a user