diff --git a/SurfBezier.h b/SurfBezier.h index 71c3d53..2e50e24 100644 --- a/SurfBezier.h +++ b/SurfBezier.h @@ -75,7 +75,11 @@ class SurfBezier : public ISurfBezier, public IGeoObjRW bool GetVolume( double& dVolume) const override { if ( &dVolume == nullptr) return false ; + if( m_pSTM == nullptr) + GetAuxSurf() ; dVolume = 0 ; + if( m_pSTM != nullptr) + m_pSTM->GetVolume( dVolume) ; return true ; } bool GetCentroid( Point3d& ptCen) const override ; bool Invert( void) override ; diff --git a/SurfTriMesh.cpp b/SurfTriMesh.cpp index 8a64e24..8124565 100644 --- a/SurfTriMesh.cpp +++ b/SurfTriMesh.cpp @@ -2835,12 +2835,10 @@ SurfTriMesh::CreateByScrewing( const PolyLine& PL, const Point3d& ptAx, const Ve // verifico che la polilinea non attraversi l'asse di rivoluzione o lo tocchi in punti interni PolyLine MyPL = PL ; - // commented for debug if ( ! VeryfyPolylineForRevolution( MyPL, ptAx, vtAx) && ! AdjustPolylineForRevolution( MyPL, ptAx, vtAx)) { LOG_ERROR( GetEGkLogger(), "StmCreateByRevolution : polyline inside meets axis") return false ; } - // commented for debug // imposto ricalcolo m_nStatus = ERR ;