//---------------------------------------------------------------------------- // EgalTech 2015-2015 //---------------------------------------------------------------------------- // File : Milling.h Data : 07.06.15 Versione : 1.6f2 // Contenuto : Dichiarazione della classe Milling. // // // // Modifiche : 07.06.15 DS Creazione modulo. // // //---------------------------------------------------------------------------- #pragma once #include "Machining.h" #include "MillingData.h" #include "ToolData.h" class ICurve ; //---------------------------------------------------------------------------- class Milling : public Machining { public : // IUserObj virtual Milling* Clone( void) const ; virtual const std::string& GetClassName( void) const ; virtual bool Dump( std::string& sOut, bool bMM = true, const char* szNewLine = "\n") const ; virtual bool ToSave( void) const { return true ; } virtual bool Save( STRVECTOR& vString) const ; virtual bool Load( const STRVECTOR& vString) ; public : // Machining virtual bool Prepare( const std::string& sMillName) ; virtual bool SetParam( int nType, bool bVal) ; virtual bool SetParam( int nType, int nVal) ; virtual bool SetParam( int nType, double dVal) ; virtual bool SetParam( int nType, const std::string& sVal) ; virtual bool SetGeometry( const SELVECTOR& vIds) ; virtual bool Apply( void) ; virtual bool GetParam( int nType, bool& bVal) const ; virtual bool GetParam( int nType, int& nVal) const ; virtual bool GetParam( int nType, double& dVal) const ; virtual bool GetParam( int nType, std::string& sVal) const ; virtual const ToolData& GetToolData( void) const ; virtual bool AdjustPositionForAxesCalc( const CamData* pCamData, Point3d& ptP) ; public : Milling( void) ; private : bool VerifyGeometry( SelData Id, int& nSubs) ; ICurve* GetCurve( SelData Id) ; bool Chain( int nGrpDestId) ; private : INTVECTOR m_vId ; // identificativi entità geometriche da lavorare MillingData m_Params ; // parametri lavorazione ToolData m_TParams ; // parametri utensile } ;