diff --git a/VolZmap.cpp b/VolZmap.cpp index 1142da6..39af1f9 100644 --- a/VolZmap.cpp +++ b/VolZmap.cpp @@ -1680,3 +1680,10 @@ VolZmap::SetChiselTool( const string& sToolName, double dH, double dW, double dT { return m_Tool.SetChiselTool( sToolName, dH, dW, dTh, nFlag) ; } + +//---------------------------------------------------------------------------- +bool +VolZmap::ResetTool( void) +{ + return m_Tool.Clear() ; +} diff --git a/VolZmap.h b/VolZmap.h index ae5c7cf..25d9ee0 100644 --- a/VolZmap.h +++ b/VolZmap.h @@ -84,6 +84,7 @@ class VolZmap : public IVolZmap, public IGeoObjRW bool SetGenTool( const std::string& sToolName, const ICurveComposite* pToolOutline, int nFlag) override ; bool SetMortiserTool( const std::string& sToolName, double dH, double dW, double dTh, double dRc, int nFlag) override ; bool SetChiselTool( const std::string& sToolName, double dH, double dW, double dTh, int nFlag) override ; + bool ResetTool( void) override ; const ICurveComposite& GetToolOutline( bool bApprox = false) const override { return ( bApprox ? m_Tool.GetApproxOutline() : m_Tool.GetOutline()) ;} bool MillingStep( const Point3d& ptPs, const Vector3d& vtDs, const Point3d& ptPe, const Vector3d& vtDe) override ; diff --git a/VolZmapVolume.cpp b/VolZmapVolume.cpp index 2a5d36c..9abd4c3 100644 --- a/VolZmapVolume.cpp +++ b/VolZmapVolume.cpp @@ -489,6 +489,9 @@ VolZmap::MillingStep( const Point3d& ptPs, const Vector3d& vtDs, const Point3d& bool VolZmap::MillingStep( const Point3d& ptPs, const Vector3d& vtDs, const Vector3d& vtAs, const Point3d& ptPe, const Vector3d& vtDe, const Vector3d& vtAe) { + // Se non è definito l'utensile, non devo fare alcunchè + if ( m_Tool.GetType() == Tool::UNDEF) + return true ; // Controllo definizione vettori direzione if ( vtDs.IsSmall() || vtDe.IsSmall()) return false ;