EgtMachKernel :
- prime modifiche per tagli inclinati su esterno archi.
This commit is contained in:
+22
-22
@@ -23,34 +23,34 @@ using namespace std ;
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
static int CAM_PARAM_V1 = 10 ;
|
static int CAM_PARAM_V1 = 10 ;
|
||||||
static std::string CAM_CORR = "Corr" ;
|
static string CAM_CORR = "Corr" ;
|
||||||
static std::string CAM_TDIR = "TDir" ;
|
static string CAM_TDIR = "TDir" ;
|
||||||
static std::string CAM_CDIR = "CDir" ;
|
static string CAM_CDIR = "CDir" ;
|
||||||
static std::string CAM_ADIR = "ADir" ;
|
static string CAM_ADIR = "ADir" ;
|
||||||
static std::string CAM_PBAS = "PBas" ;
|
static string CAM_PBAS = "PBas" ;
|
||||||
static std::string CAM_FEED = "Feed" ;
|
static string CAM_FEED = "Feed" ;
|
||||||
static std::string CAM_FLAG = "Flg" ;
|
static string CAM_FLAG = "Flg" ;
|
||||||
static std::string CAM_AXSTS = "AxS" ;
|
static string CAM_AXSTS = "AxS" ;
|
||||||
static std::string CAM_AXMSK = "AxM" ;
|
static string CAM_AXMSK = "AxM" ;
|
||||||
static std::string CAM_AXVAL = "AxV" ;
|
static string CAM_AXVAL = "AxV" ;
|
||||||
static int CAM_PARAM_V2 = 16 ;
|
static int CAM_PARAM_V2 = 16 ;
|
||||||
static std::string CAM_MOVE = "Move" ;
|
static string CAM_MOVE = "Move" ;
|
||||||
static std::string CAM_PCEN = "PCen" ;
|
static string CAM_PCEN = "PCen" ;
|
||||||
static std::string CAM_ACEN = "ACen" ;
|
static string CAM_ACEN = "ACen" ;
|
||||||
static std::string CAM_AXMC = "AxMC" ;
|
static string CAM_AXMC = "AxMC" ;
|
||||||
static std::string CAM_AXMR = "AxMR" ;
|
static string CAM_AXMR = "AxMR" ;
|
||||||
static std::string CAM_AXAC = "AxAC" ;
|
static string CAM_AXAC = "AxAC" ;
|
||||||
static int CAM_PARAM_V3 = 18 ;
|
static int CAM_PARAM_V3 = 18 ;
|
||||||
static std::string CAM_NDIR = "NDir" ;
|
static string CAM_NDIR = "NDir" ;
|
||||||
static std::string CAM_AXND = "AxND" ;
|
static string CAM_AXND = "AxND" ;
|
||||||
static int CAM_PARAM_V4 = 19 ;
|
static int CAM_PARAM_V4 = 19 ;
|
||||||
static std::string CAM_NDLT = "NDlt" ;
|
static string CAM_NDLT = "NDlt" ;
|
||||||
static int CAM_PARAM_V5 = 20 ;
|
static int CAM_PARAM_V5 = 20 ;
|
||||||
static std::string CAM_BDIR = "BDir" ;
|
static string CAM_BDIR = "BDir" ;
|
||||||
static int CAM_PARAM_V6 = 21 ;
|
static int CAM_PARAM_V6 = 21 ;
|
||||||
static std::string CAM_INDEX = "Idx" ;
|
static string CAM_INDEX = "Idx" ;
|
||||||
static int CAM_PARAM_V7 = 22 ;
|
static int CAM_PARAM_V7 = 22 ;
|
||||||
static std::string CAM_ORIGFEED = "OrFeed" ;
|
static string CAM_ORIGFEED = "OrFeed" ;
|
||||||
static int CAM_TOTPARAM =CAM_PARAM_V7 ;
|
static int CAM_TOTPARAM =CAM_PARAM_V7 ;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -50,7 +50,7 @@ enum nChiselingKey {
|
|||||||
KEY_WS,
|
KEY_WS,
|
||||||
KEY_ZZZ} ; // rappresenta il numero di elementi
|
KEY_ZZZ} ; // rappresenta il numero di elementi
|
||||||
|
|
||||||
static const std::array<std::string,KEY_ZZZ> sChiselingKey = {
|
static const array<string,KEY_ZZZ> sChiselingKey = {
|
||||||
"AB",
|
"AB",
|
||||||
"AI",
|
"AI",
|
||||||
"DH",
|
"DH",
|
||||||
@@ -332,7 +332,7 @@ ChiselingData::VerifyWorkSide( int nVal) const
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
ChiselingData::VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const
|
ChiselingData::VerifyTool( const ToolsMgr* pToolsMgr, const string& sVal, const ToolData*& pTdata) const
|
||||||
{
|
{
|
||||||
if ( pToolsMgr == nullptr)
|
if ( pToolsMgr == nullptr)
|
||||||
return false ;
|
return false ;
|
||||||
|
|||||||
+21
-21
@@ -41,27 +41,27 @@ using namespace std ;
|
|||||||
// 2052 = "Warning in Disposition : No shifts"
|
// 2052 = "Warning in Disposition : No shifts"
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
static std::string DIS_TABLE = "Tab" ;
|
static string DIS_TABLE = "Tab" ;
|
||||||
static std::string DIS_PHASE = "Ph" ;
|
static string DIS_PHASE = "Ph" ;
|
||||||
static std::string DIS_REF1 = "Ref1" ;
|
static string DIS_REF1 = "Ref1" ;
|
||||||
static std::string DIS_AREA1 = "Area1" ;
|
static string DIS_AREA1 = "Area1" ;
|
||||||
static std::string DIS_FXD_TOT = "FxT" ;
|
static string DIS_FXD_TOT = "FxT" ;
|
||||||
static std::string DIS_FXD_NAME = "FxN" ;
|
static string DIS_FXD_NAME = "FxN" ;
|
||||||
static std::string DIS_FXD_POS = "FxP" ;
|
static string DIS_FXD_POS = "FxP" ;
|
||||||
static std::string DIS_FXD_ANG = "FxA" ;
|
static string DIS_FXD_ANG = "FxA" ;
|
||||||
static std::string DIS_FXD_MOV = "FxM" ;
|
static string DIS_FXD_MOV = "FxM" ;
|
||||||
static std::string DIS_MVD_TOT = "MvT" ;
|
static string DIS_MVD_TOT = "MvT" ;
|
||||||
static std::string DIS_MVD_ID = "MvI" ;
|
static string DIS_MVD_ID = "MvI" ;
|
||||||
static std::string DIS_MVD_TYPE = "MvT" ;
|
static string DIS_MVD_TYPE = "MvT" ;
|
||||||
static std::string DIS_MVD_PNT = "MvP" ;
|
static string DIS_MVD_PNT = "MvP" ;
|
||||||
static std::string DIS_MVD_ANG = "MvA" ;
|
static string DIS_MVD_ANG = "MvA" ;
|
||||||
static std::string DIS_MVD_FLAG = "MvF" ;
|
static string DIS_MVD_FLAG = "MvF" ;
|
||||||
static std::string DIS_NUM = "NUM" ;
|
static string DIS_NUM = "NUM" ;
|
||||||
static std::string DIS_HEAD = "Head" ;
|
static string DIS_HEAD = "Head" ;
|
||||||
static std::string DIS_EXIT = "Exit" ;
|
static string DIS_EXIT = "Exit" ;
|
||||||
static std::string DIS_SOMEBYHAND = "Sbh" ;
|
static string DIS_SOMEBYHAND = "Sbh" ;
|
||||||
static std::string DIS_TCPOS = "TcPos" ;
|
static string DIS_TCPOS = "TcPos" ;
|
||||||
static std::string DIS_AREA1_OFFS = "Area1Offs" ;
|
static string DIS_AREA1_OFFS = "Area1Offs" ;
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
static double DISP_BOX_TOL = - 0.5 ;
|
static double DISP_BOX_TOL = - 0.5 ;
|
||||||
|
|||||||
+2
-2
@@ -55,7 +55,7 @@ enum nDrillingKey {
|
|||||||
KEY_UUID,
|
KEY_UUID,
|
||||||
KEY_ZZZ} ; // rappresenta il numero di elementi
|
KEY_ZZZ} ; // rappresenta il numero di elementi
|
||||||
|
|
||||||
static const std::array<std::string,KEY_ZZZ> sDrillingKey = {
|
static const array<string,KEY_ZZZ> sDrillingKey = {
|
||||||
"AB",
|
"AB",
|
||||||
"AI",
|
"AI",
|
||||||
"DH",
|
"DH",
|
||||||
@@ -372,7 +372,7 @@ DrillingData::VerifySolCh( int nVal) const
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
DrillingData::VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const
|
DrillingData::VerifyTool( const ToolsMgr* pToolsMgr, const string& sVal, const ToolData*& pTdata) const
|
||||||
{
|
{
|
||||||
if ( pToolsMgr == nullptr)
|
if ( pToolsMgr == nullptr)
|
||||||
return false ;
|
return false ;
|
||||||
|
|||||||
+1
-1
@@ -43,7 +43,7 @@ Estimator::Init( MachMgr* pMchMgr)
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
Estimator::Run( const string& sCncFile, const std::string& sInfo)
|
Estimator::Run( const string& sCncFile, const string& sInfo)
|
||||||
{
|
{
|
||||||
// emetto info di log
|
// emetto info di log
|
||||||
{ string sOut = "Estimator Run : " + sCncFile ;
|
{ string sOut = "Estimator Run : " + sCncFile ;
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ enum nGenMachiningKey {
|
|||||||
KEY_UUID,
|
KEY_UUID,
|
||||||
KEY_ZZZ} ; // rappresenta il numero di elementi
|
KEY_ZZZ} ; // rappresenta il numero di elementi
|
||||||
|
|
||||||
static const std::array<std::string,KEY_ZZZ> sGenMachiningKey = {
|
static const array<string,KEY_ZZZ> sGenMachiningKey = {
|
||||||
"AB",
|
"AB",
|
||||||
"AI",
|
"AI",
|
||||||
"DH",
|
"DH",
|
||||||
@@ -317,7 +317,7 @@ GenMachiningData::VerifySolCh( int nVal) const
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
GenMachiningData::VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const
|
GenMachiningData::VerifyTool( const ToolsMgr* pToolsMgr, const string& sVal, const ToolData*& pTdata) const
|
||||||
{
|
{
|
||||||
if ( pToolsMgr == nullptr)
|
if ( pToolsMgr == nullptr)
|
||||||
return false ;
|
return false ;
|
||||||
|
|||||||
+1
-1
@@ -43,7 +43,7 @@ Generator::Init( MachMgr* pMchMgr)
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
Generator::Run( const string& sCncFile, const std::string& sInfo)
|
Generator::Run( const string& sCncFile, const string& sInfo)
|
||||||
{
|
{
|
||||||
// emetto info di log
|
// emetto info di log
|
||||||
{ string sOut = "Generator Run : " + sCncFile ;
|
{ string sOut = "Generator Run : " + sCncFile ;
|
||||||
|
|||||||
+2
-2
@@ -183,7 +183,7 @@ bool
|
|||||||
MachMgr::IsMachBase( int nId) const
|
MachMgr::IsMachBase( int nId) const
|
||||||
{
|
{
|
||||||
int nLevel ;
|
int nLevel ;
|
||||||
std::string sName ;
|
string sName ;
|
||||||
return ( m_pGeomDB != nullptr &&
|
return ( m_pGeomDB != nullptr &&
|
||||||
m_pGeomDB->GetLevel( nId, nLevel) && nLevel == GDB_LV_SYSTEM &&
|
m_pGeomDB->GetLevel( nId, nLevel) && nLevel == GDB_LV_SYSTEM &&
|
||||||
m_pGeomDB->GetName( nId, sName) && sName == MACH_BASE) ;
|
m_pGeomDB->GetName( nId, sName) && sName == MACH_BASE) ;
|
||||||
@@ -249,7 +249,7 @@ bool
|
|||||||
MachMgr::IsMachAux( int nId) const
|
MachMgr::IsMachAux( int nId) const
|
||||||
{
|
{
|
||||||
int nLevel ;
|
int nLevel ;
|
||||||
std::string sName ;
|
string sName ;
|
||||||
return ( m_pGeomDB != nullptr &&
|
return ( m_pGeomDB != nullptr &&
|
||||||
m_pGeomDB->GetLevel( nId, nLevel) && nLevel == GDB_LV_TEMP &&
|
m_pGeomDB->GetLevel( nId, nLevel) && nLevel == GDB_LV_TEMP &&
|
||||||
m_pGeomDB->GetName( nId, sName) && sName == MACH_AUX) ;
|
m_pGeomDB->GetName( nId, sName) && sName == MACH_AUX) ;
|
||||||
|
|||||||
+1
-1
@@ -662,7 +662,7 @@ MachMgr::ExistProtectedAreas( void) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
std::string
|
string
|
||||||
MachMgr::GetOutstrokeInfo( bool bMM) const
|
MachMgr::GetOutstrokeInfo( bool bMM) const
|
||||||
{
|
{
|
||||||
Machine* pMch = GetCurrMachine() ;
|
Machine* pMch = GetCurrMachine() ;
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ MachMgr::SimInit( void)
|
|||||||
// alloco o rialloco il simulatore
|
// alloco o rialloco il simulatore
|
||||||
if ( m_pSimul != nullptr)
|
if ( m_pSimul != nullptr)
|
||||||
delete m_pSimul ;
|
delete m_pSimul ;
|
||||||
m_pSimul = new( std::nothrow) Simulator ;
|
m_pSimul = new( nothrow) Simulator ;
|
||||||
if ( m_pSimul == nullptr)
|
if ( m_pSimul == nullptr)
|
||||||
return false ;
|
return false ;
|
||||||
// lo inizializzo
|
// lo inizializzo
|
||||||
|
|||||||
+3
-3
@@ -977,7 +977,7 @@ Machine::SetLook( int nFlag)
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
Machine::LinkRawPartToGroup( int nRawPartId, const std::string& sGroupName)
|
Machine::LinkRawPartToGroup( int nRawPartId, const string& sGroupName)
|
||||||
{
|
{
|
||||||
// verifico DB geometrico e gestore lavorazioni
|
// verifico DB geometrico e gestore lavorazioni
|
||||||
if ( m_pGeomDB == nullptr || m_pMchMgr == nullptr)
|
if ( m_pGeomDB == nullptr || m_pMchMgr == nullptr)
|
||||||
@@ -1054,7 +1054,7 @@ Machine::UnlinkAllRawPartsFromGroups( void)
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
Machine::LinkFixtureToGroup( int nFxtId, const std::string& sGroupName)
|
Machine::LinkFixtureToGroup( int nFxtId, const string& sGroupName)
|
||||||
{
|
{
|
||||||
// verifico DB geometrico e gestore lavorazioni
|
// verifico DB geometrico e gestore lavorazioni
|
||||||
if ( m_pGeomDB == nullptr || m_pMchMgr == nullptr)
|
if ( m_pGeomDB == nullptr || m_pMchMgr == nullptr)
|
||||||
@@ -1126,7 +1126,7 @@ const string KEY_ORIG_REF = "OrigRef" ;
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
Machine::LinkPartToGroup( int nPartId, const std::string& sGroupName)
|
Machine::LinkPartToGroup( int nPartId, const string& sGroupName)
|
||||||
{
|
{
|
||||||
// verifico DB geometrico e gestore lavorazioni
|
// verifico DB geometrico e gestore lavorazioni
|
||||||
if ( m_pGeomDB == nullptr || m_pMchMgr == nullptr)
|
if ( m_pGeomDB == nullptr || m_pMchMgr == nullptr)
|
||||||
|
|||||||
+1
-1
@@ -35,7 +35,7 @@ Machine::GetAllHeadsNames( STRVECTOR& vNames) const
|
|||||||
vNames.push_back( snGro.first) ;
|
vNames.push_back( snGro.first) ;
|
||||||
}
|
}
|
||||||
// ordino alfabeticamente
|
// ordino alfabeticamente
|
||||||
std::sort( vNames.begin(), vNames.end()) ;
|
sort( vNames.begin(), vNames.end()) ;
|
||||||
return true ;
|
return true ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -35,7 +35,7 @@ Machine::GetAllTablesNames( STRVECTOR& vNames) const
|
|||||||
vNames.push_back( snGro.first) ;
|
vNames.push_back( snGro.first) ;
|
||||||
}
|
}
|
||||||
// ordino alfabeticamente
|
// ordino alfabeticamente
|
||||||
std::sort( vNames.begin(), vNames.end()) ;
|
sort( vNames.begin(), vNames.end()) ;
|
||||||
return true ;
|
return true ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -889,7 +889,7 @@ MachiningsMgr::EncodeSpecialParams( MachiningData* pMach) const
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
MachiningsMgr::SetCurrMachiningParam( int nType, const std::string& sVal)
|
MachiningsMgr::SetCurrMachiningParam( int nType, const string& sVal)
|
||||||
{
|
{
|
||||||
// deve esistere lavorazione corrente
|
// deve esistere lavorazione corrente
|
||||||
if ( m_pCurrMach == nullptr)
|
if ( m_pCurrMach == nullptr)
|
||||||
@@ -995,7 +995,7 @@ MachiningsMgr::GetCurrMachiningParam( int nType, double& dVal) const
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
MachiningsMgr::GetCurrMachiningParam( int nType, std::string& sVal) const
|
MachiningsMgr::GetCurrMachiningParam( int nType, string& sVal) const
|
||||||
{
|
{
|
||||||
return ( ( m_pCurrMach != nullptr) ? m_pCurrMach->GetParam( nType, sVal) : false) ;
|
return ( ( m_pCurrMach != nullptr) ? m_pCurrMach->GetParam( nType, sVal) : false) ;
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -75,7 +75,7 @@ enum nMillingKey {
|
|||||||
KEY_WS,
|
KEY_WS,
|
||||||
KEY_ZZZ} ; // rappresenta il numero di elementi
|
KEY_ZZZ} ; // rappresenta il numero di elementi
|
||||||
|
|
||||||
static const std::array<std::string,KEY_ZZZ> sMillingKey = {
|
static const array<string,KEY_ZZZ> sMillingKey = {
|
||||||
"AB",
|
"AB",
|
||||||
"AI",
|
"AI",
|
||||||
"DH",
|
"DH",
|
||||||
@@ -578,7 +578,7 @@ MillingData::VerifySideAngle( double dVal) const
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
MillingData::VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const
|
MillingData::VerifyTool( const ToolsMgr* pToolsMgr, const string& sVal, const ToolData*& pTdata) const
|
||||||
{
|
{
|
||||||
if ( pToolsMgr == nullptr)
|
if ( pToolsMgr == nullptr)
|
||||||
return false ;
|
return false ;
|
||||||
|
|||||||
+2
-2
@@ -54,7 +54,7 @@ enum nMortisingKey {
|
|||||||
KEY_WS,
|
KEY_WS,
|
||||||
KEY_ZZZ} ; // rappresenta il numero di elementi
|
KEY_ZZZ} ; // rappresenta il numero di elementi
|
||||||
|
|
||||||
static const std::array<std::string,KEY_ZZZ> sMortisingKey = {
|
static const array<string,KEY_ZZZ> sMortisingKey = {
|
||||||
"AB",
|
"AB",
|
||||||
"AI",
|
"AI",
|
||||||
"DH",
|
"DH",
|
||||||
@@ -379,7 +379,7 @@ MortisingData::VerifyStepType( int nVal) const
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
MortisingData::VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const
|
MortisingData::VerifyTool( const ToolsMgr* pToolsMgr, const string& sVal, const ToolData*& pTdata) const
|
||||||
{
|
{
|
||||||
if ( pToolsMgr == nullptr)
|
if ( pToolsMgr == nullptr)
|
||||||
return false ;
|
return false ;
|
||||||
|
|||||||
+2
-2
@@ -80,7 +80,7 @@ using namespace std ;
|
|||||||
// 2458 = "Warning in Pocketing : machining depth (xxx) bigger than MaxMaterial (yyy)"
|
// 2458 = "Warning in Pocketing : machining depth (xxx) bigger than MaxMaterial (yyy)"
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
static std::string KEY_OPEN = "OPEN" ;
|
static string KEY_OPEN = "OPEN" ;
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
USEROBJ_REGISTER( GetOperationClass( OPER_POCKETING), Pocketing) ;
|
USEROBJ_REGISTER( GetOperationClass( OPER_POCKETING), Pocketing) ;
|
||||||
@@ -2169,7 +2169,7 @@ Pocketing::CalcZigZag( const ICurveComposite* pOffs,
|
|||||||
double dOe ;
|
double dOe ;
|
||||||
} ;
|
} ;
|
||||||
// raccolta di tratti
|
// raccolta di tratti
|
||||||
typedef std::vector<std::vector<Section>> VECVECSECT ;
|
typedef vector<vector<Section>> VECVECSECT ;
|
||||||
|
|
||||||
VECVECSECT vvSec ;
|
VECVECSECT vvSec ;
|
||||||
vvSec.resize( nYStep + 1) ;
|
vvSec.resize( nYStep + 1) ;
|
||||||
|
|||||||
+2
-2
@@ -57,7 +57,7 @@ enum nPocketingKey {
|
|||||||
KEY_UUID,
|
KEY_UUID,
|
||||||
KEY_ZZZ} ; // rappresenta il numero di elementi
|
KEY_ZZZ} ; // rappresenta il numero di elementi
|
||||||
|
|
||||||
static const std::array<std::string,KEY_ZZZ> sPocketingKey = {
|
static const array<string,KEY_ZZZ> sPocketingKey = {
|
||||||
"AB",
|
"AB",
|
||||||
"AI",
|
"AI",
|
||||||
"DH",
|
"DH",
|
||||||
@@ -404,7 +404,7 @@ PocketingData::VerifyLeadOutType( int nVal) const
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
PocketingData::VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const
|
PocketingData::VerifyTool( const ToolsMgr* pToolsMgr, const string& sVal, const ToolData*& pTdata) const
|
||||||
{
|
{
|
||||||
if ( pToolsMgr == nullptr)
|
if ( pToolsMgr == nullptr)
|
||||||
return false ;
|
return false ;
|
||||||
|
|||||||
+7
-7
@@ -70,7 +70,7 @@ Processor::Init( MachMgr* pMchMgr)
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
Processor::Run( const string& sOutFile, const std::string& sInfo)
|
Processor::Run( const string& sOutFile, const string& sInfo)
|
||||||
{
|
{
|
||||||
// verifico ci sia una macchinata corrente
|
// verifico ci sia una macchinata corrente
|
||||||
if ( m_pMchMgr == nullptr || m_pGeomDB == nullptr || m_pMachine == nullptr ||
|
if ( m_pMchMgr == nullptr || m_pGeomDB == nullptr || m_pMachine == nullptr ||
|
||||||
@@ -684,11 +684,11 @@ Processor::ProcessToolData( void)
|
|||||||
// altrimenti emetto direttamente gli utensili
|
// altrimenti emetto direttamente gli utensili
|
||||||
else {
|
else {
|
||||||
// ordino l'elenco degli utensili
|
// ordino l'elenco degli utensili
|
||||||
std::sort( vTdata.begin(), vTdata.end(), []( const MyToolData& a, const MyToolData& b)
|
sort( vTdata.begin(), vTdata.end(), []( const MyToolData& a, const MyToolData& b)
|
||||||
{ if ( a.sHead == b.sHead)
|
{ if ( a.sHead == b.sHead)
|
||||||
return a.nExit < b.nExit ;
|
return a.nExit < b.nExit ;
|
||||||
else
|
else
|
||||||
return a.sHead < b.sHead ; }) ;
|
return a.sHead < b.sHead ; }) ;
|
||||||
// emetto l'elenco degli utensili
|
// emetto l'elenco degli utensili
|
||||||
string sPrevHead ; int nPrevExit = 0 ; string sPrevTcPos ; string sPrevTool ;
|
string sPrevHead ; int nPrevExit = 0 ; string sPrevTcPos ; string sPrevTool ;
|
||||||
for ( size_t i = 0 ; i < vTdata.size() ; ++ i) {
|
for ( size_t i = 0 ; i < vTdata.size() ; ++ i) {
|
||||||
@@ -826,7 +826,7 @@ Processor::OnToolSelect( const string& sTool, const string& sHead, int nExit, co
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
Processor::OnToolDeselect( const std::string& sNextTool, const string& sNextHead, int nNextExit, const string& sNextTcPos)
|
Processor::OnToolDeselect( const string& sNextTool, const string& sNextHead, int nNextExit, const string& sNextTcPos)
|
||||||
{
|
{
|
||||||
// assegno il prossimo utensile
|
// assegno il prossimo utensile
|
||||||
bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_NEXTTOOL, sNextTool) ;
|
bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_NEXTTOOL, sNextTool) ;
|
||||||
|
|||||||
+4
-4
@@ -57,8 +57,8 @@ using namespace std ;
|
|||||||
// 2754 = "Warning in SawFinishing : Tool data changed (xx)"
|
// 2754 = "Warning in SawFinishing : Tool data changed (xx)"
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
const std::string MCH_SECTION = "Sect" ;
|
const string MCH_SECTION = "Sect" ;
|
||||||
const std::string MCH_GUIDE = "Guide" ;
|
const string MCH_GUIDE = "Guide" ;
|
||||||
enum nCrvClass {
|
enum nCrvClass {
|
||||||
CCL_SMALL = 0,
|
CCL_SMALL = 0,
|
||||||
CCL_VERT = 1,
|
CCL_VERT = 1,
|
||||||
@@ -1699,8 +1699,8 @@ SawFinishing::CalculateSection( int nSectGrpId, ICurve*& pSect)
|
|||||||
return false ;
|
return false ;
|
||||||
vIAsc.emplace_back( i, ptStart.x) ;
|
vIAsc.emplace_back( i, ptStart.x) ;
|
||||||
}
|
}
|
||||||
std::sort( vIAsc.begin(), vIAsc.end(), []( const INDASC& a, const INDASC& b)
|
sort( vIAsc.begin(), vIAsc.end(), []( const INDASC& a, const INDASC& b)
|
||||||
{ return a.second > b.second ; }) ;
|
{ return a.second > b.second ; }) ;
|
||||||
|
|
||||||
// unisco le diverse curve (ora aperte) in un unico profilo
|
// unisco le diverse curve (ora aperte) in un unico profilo
|
||||||
PtrOwner<ICurveComposite> pCurve( CreateCurveComposite()) ;
|
PtrOwner<ICurveComposite> pCurve( CreateCurveComposite()) ;
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ enum nSawFinishingKey {
|
|||||||
KEY_UUID,
|
KEY_UUID,
|
||||||
KEY_ZZZ} ; // rappresenta il numero di elementi
|
KEY_ZZZ} ; // rappresenta il numero di elementi
|
||||||
|
|
||||||
static const std::array<std::string,KEY_ZZZ> sSawFinishingKey = {
|
static const array<string,KEY_ZZZ> sSawFinishingKey = {
|
||||||
"AB",
|
"AB",
|
||||||
"AI",
|
"AI",
|
||||||
"APPR",
|
"APPR",
|
||||||
@@ -403,7 +403,7 @@ SawFinishingData::VerifyLeadLinkType( int nVal) const
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
SawFinishingData::VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const
|
SawFinishingData::VerifyTool( const ToolsMgr* pToolsMgr, const string& sVal, const ToolData*& pTdata) const
|
||||||
{
|
{
|
||||||
if ( pToolsMgr == nullptr)
|
if ( pToolsMgr == nullptr)
|
||||||
return false ;
|
return false ;
|
||||||
|
|||||||
+4
-4
@@ -57,8 +57,8 @@ using namespace std ;
|
|||||||
// 2654 = "Warning in SawRoughing : Tool data changed (xx)"
|
// 2654 = "Warning in SawRoughing : Tool data changed (xx)"
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
const std::string MCH_SECTION = "Sect" ;
|
const string MCH_SECTION = "Sect" ;
|
||||||
const std::string MCH_GUIDE = "Guide" ;
|
const string MCH_GUIDE = "Guide" ;
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
USEROBJ_REGISTER( GetOperationClass( OPER_SAWROUGHING), SawRoughing) ;
|
USEROBJ_REGISTER( GetOperationClass( OPER_SAWROUGHING), SawRoughing) ;
|
||||||
@@ -1371,8 +1371,8 @@ SawRoughing::CalculateSection( int nSectGrpId, ICurve*& pSect)
|
|||||||
return false ;
|
return false ;
|
||||||
vIAsc.emplace_back( i, ptStart.x) ;
|
vIAsc.emplace_back( i, ptStart.x) ;
|
||||||
}
|
}
|
||||||
std::sort( vIAsc.begin(), vIAsc.end(), []( const INDASC& a, const INDASC& b)
|
sort( vIAsc.begin(), vIAsc.end(), []( const INDASC& a, const INDASC& b)
|
||||||
{ return a.second > b.second ; }) ;
|
{ return a.second > b.second ; }) ;
|
||||||
|
|
||||||
// unisco le diverse curve (ora aperte) in un unico profilo
|
// unisco le diverse curve (ora aperte) in un unico profilo
|
||||||
PtrOwner<ICurveComposite> pCurve( CreateCurveComposite()) ;
|
PtrOwner<ICurveComposite> pCurve( CreateCurveComposite()) ;
|
||||||
|
|||||||
+2
-2
@@ -54,7 +54,7 @@ enum nSawRoughingKey {
|
|||||||
KEY_UUID,
|
KEY_UUID,
|
||||||
KEY_ZZZ} ; // rappresenta il numero di elementi
|
KEY_ZZZ} ; // rappresenta il numero di elementi
|
||||||
|
|
||||||
static const std::array<std::string,KEY_ZZZ> sSawRoughingKey = {
|
static const array<string,KEY_ZZZ> sSawRoughingKey = {
|
||||||
"AB",
|
"AB",
|
||||||
"AI",
|
"AI",
|
||||||
"APPR",
|
"APPR",
|
||||||
@@ -379,7 +379,7 @@ SawRoughingData::VerifyLeadLinkType( int nVal) const
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
SawRoughingData::VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const
|
SawRoughingData::VerifyTool( const ToolsMgr* pToolsMgr, const string& sVal, const ToolData*& pTdata) const
|
||||||
{
|
{
|
||||||
if ( pToolsMgr == nullptr)
|
if ( pToolsMgr == nullptr)
|
||||||
return false ;
|
return false ;
|
||||||
|
|||||||
+19
-7
@@ -1590,10 +1590,10 @@ Sawing::ProcessEntity( const ICurve* pCrvP, const ICurve* pCrvC, const ICurve* p
|
|||||||
else {
|
else {
|
||||||
if ( m_Params.m_nCurveUse == SAW_CRV_KEEP) {
|
if ( m_Params.m_nCurveUse == SAW_CRV_KEEP) {
|
||||||
// verifico che non ci sia angolo di fianco
|
// verifico che non ci sia angolo di fianco
|
||||||
if ( abs( m_Params.m_dSideAngle) > EPS_ANG_SMALL) {
|
//if ( abs( m_Params.m_dSideAngle) > EPS_ANG_SMALL) {
|
||||||
m_pMchMgr->SetLastError( 2207, "Error in Sawing : SideAngle not allowed on Arc") ;
|
// m_pMchMgr->SetLastError( 2207, "Error in Sawing : SideAngle not allowed on Arc") ;
|
||||||
return false ;
|
// return false ;
|
||||||
}
|
//}
|
||||||
// determino la convessità
|
// determino la convessità
|
||||||
int nConv = 0 ;
|
int nConv = 0 ;
|
||||||
for ( int i = 0 ; i < pCompo->GetCurveCount() ; ++ i) {
|
for ( int i = 0 ; i < pCompo->GetCurveCount() ; ++ i) {
|
||||||
@@ -2126,7 +2126,17 @@ Sawing::ProcessExtCurve( const ICurve* pCrvP, const ICurveComposite* pCrvC, cons
|
|||||||
return false ;
|
return false ;
|
||||||
}
|
}
|
||||||
// aggiungo affondamento (sempre in Z globale)
|
// aggiungo affondamento (sempre in Z globale)
|
||||||
pCrv->Translate( - Z_AX * dDepth) ;
|
double dDepthZ = dDepth ;
|
||||||
|
if ( abs( m_Params.m_dSideAngle) > EPS_ANG_SMALL)
|
||||||
|
dDepthZ *= cos( m_Params.m_dSideAngle * DEGTORAD) ;
|
||||||
|
pCrv->Translate( - Z_AX * dDepthZ) ;
|
||||||
|
// offset per taglio inclinato
|
||||||
|
if ( abs( m_Params.m_dSideAngle) > EPS_ANG_SMALL) {
|
||||||
|
double dOffs = dDepth * sin( abs( m_Params.m_dSideAngle) * DEGTORAD) ;
|
||||||
|
if ( m_Params.m_nHeadSide == SAW_HS_LEFT)
|
||||||
|
dOffs = - dOffs ;
|
||||||
|
pCrv->SimpleOffset( dOffs) ;
|
||||||
|
}
|
||||||
// calcolo elevazione (sui due bordi della striscia)
|
// calcolo elevazione (sui due bordi della striscia)
|
||||||
double dElev = 0 ;
|
double dElev = 0 ;
|
||||||
for ( const ICurve* pSmpCrv = pCrv->GetFirstCurve() ;
|
for ( const ICurve* pSmpCrv = pCrv->GetFirstCurve() ;
|
||||||
@@ -2144,8 +2154,8 @@ Sawing::ProcessExtCurve( const ICurve* pCrvP, const ICurveComposite* pCrvC, cons
|
|||||||
if ( ! CalculateToolAndCorrVersors( vtStaDir, m_Params.m_nHeadSide, m_Params.m_nWorkSide, m_Params.m_dSideAngle, vtStaTool, vtStaCorr) ||
|
if ( ! CalculateToolAndCorrVersors( vtStaDir, m_Params.m_nHeadSide, m_Params.m_nWorkSide, m_Params.m_dSideAngle, vtStaTool, vtStaCorr) ||
|
||||||
! CalculateToolAndCorrVersors( vtMidDir, m_Params.m_nHeadSide, m_Params.m_nWorkSide, m_Params.m_dSideAngle, vtMidTool, vtMidCorr) ||
|
! CalculateToolAndCorrVersors( vtMidDir, m_Params.m_nHeadSide, m_Params.m_nWorkSide, m_Params.m_dSideAngle, vtMidTool, vtMidCorr) ||
|
||||||
! CalculateToolAndCorrVersors( vtEndDir, m_Params.m_nHeadSide, m_Params.m_nWorkSide, m_Params.m_dSideAngle, vtEndTool, vtEndCorr) ||
|
! CalculateToolAndCorrVersors( vtEndDir, m_Params.m_nHeadSide, m_Params.m_nWorkSide, m_Params.m_dSideAngle, vtEndTool, vtEndCorr) ||
|
||||||
! AreSameVectorApprox( vtStaCorr, vtMidCorr) ||
|
abs( vtStaCorr.z - vtMidCorr.z) > EPS_SMALL ||
|
||||||
! AreSameVectorApprox( vtStaCorr, vtEndCorr)) {
|
abs( vtStaCorr.z - vtEndCorr.z) > EPS_SMALL) {
|
||||||
m_pMchMgr->SetLastError( 2208, "Error in Sawing : Entity CalculateToolAndCorrVersors") ;
|
m_pMchMgr->SetLastError( 2208, "Error in Sawing : Entity CalculateToolAndCorrVersors") ;
|
||||||
return false ;
|
return false ;
|
||||||
}
|
}
|
||||||
@@ -2580,6 +2590,7 @@ Sawing::GenerateExtCurveCl( const ICurveComposite* pCrv,
|
|||||||
if ( m_Params.m_dStepExtArc < EPS_SMALL || ( dElev - dExtraCut) <= m_Params.m_dStepExtArc) {
|
if ( m_Params.m_dStepExtArc < EPS_SMALL || ( dElev - dExtraCut) <= m_Params.m_dStepExtArc) {
|
||||||
// 1 -> approccio
|
// 1 -> approccio
|
||||||
SetToolDir( vtStaTool) ;
|
SetToolDir( vtStaTool) ;
|
||||||
|
SetCorrAuxDir( vtStaCorr) ;
|
||||||
Point3d ptP1 ;
|
Point3d ptP1 ;
|
||||||
pCrv->GetStartPoint( ptP1) ;
|
pCrv->GetStartPoint( ptP1) ;
|
||||||
if ( ! AddApproach( ptP1, vtStaCorr, dSafeZ, dElev, dAppr))
|
if ( ! AddApproach( ptP1, vtStaCorr, dSafeZ, dElev, dAppr))
|
||||||
@@ -2601,6 +2612,7 @@ Sawing::GenerateExtCurveCl( const ICurveComposite* pCrv,
|
|||||||
Vector3d vtCurrTool, vtCurrCorr ;
|
Vector3d vtCurrTool, vtCurrCorr ;
|
||||||
CalculateToolAndCorrVersors( vtCurrDir, m_Params.m_nHeadSide, m_Params.m_nWorkSide, m_Params.m_dSideAngle, vtCurrTool, vtCurrCorr) ;
|
CalculateToolAndCorrVersors( vtCurrDir, m_Params.m_nHeadSide, m_Params.m_nWorkSide, m_Params.m_dSideAngle, vtCurrTool, vtCurrCorr) ;
|
||||||
SetToolDir( vtCurrTool) ;
|
SetToolDir( vtCurrTool) ;
|
||||||
|
SetCorrAuxDir( vtCurrCorr) ;
|
||||||
if ( AddCurveMove( pSmpCrv, true) == GDB_ID_NULL)
|
if ( AddCurveMove( pSmpCrv, true) == GDB_ID_NULL)
|
||||||
return false ;
|
return false ;
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -65,7 +65,7 @@ enum nSawingKey {
|
|||||||
KEY_WS,
|
KEY_WS,
|
||||||
KEY_ZZZ} ; // rappresenta il numero di elementi
|
KEY_ZZZ} ; // rappresenta il numero di elementi
|
||||||
|
|
||||||
static const std::array<std::string,KEY_ZZZ> sSawingKey = {
|
static const array<string,KEY_ZZZ> sSawingKey = {
|
||||||
"AB",
|
"AB",
|
||||||
"AI",
|
"AI",
|
||||||
"APPR",
|
"APPR",
|
||||||
@@ -510,7 +510,7 @@ SawingData::VerifySideAngle( double dVal) const
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
SawingData::VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const
|
SawingData::VerifyTool( const ToolsMgr* pToolsMgr, const string& sVal, const ToolData*& pTdata) const
|
||||||
{
|
{
|
||||||
if ( pToolsMgr == nullptr)
|
if ( pToolsMgr == nullptr)
|
||||||
return false ;
|
return false ;
|
||||||
|
|||||||
+1
-1
@@ -1327,7 +1327,7 @@ Simulator::OnToolSelect( const string& sTool, const string& sHead, int nExit, co
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
Simulator::OnToolDeselect( const std::string& sNextTool, const string& sNextHead, int nNextExit, const string& sNextTcPos)
|
Simulator::OnToolDeselect( const string& sNextTool, const string& sNextHead, int nNextExit, const string& sNextTcPos)
|
||||||
{
|
{
|
||||||
// assegno il prossimo utensile
|
// assegno il prossimo utensile
|
||||||
bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_NEXTTOOL, sNextTool) ;
|
bool bOk = m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_NEXTTOOL, sNextTool) ;
|
||||||
|
|||||||
+1
-1
@@ -1447,7 +1447,7 @@ SurfFinishing::CalcZigZag( const ICurveComposite* pOffs,
|
|||||||
double dOe ;
|
double dOe ;
|
||||||
} ;
|
} ;
|
||||||
// raccolta di tratti
|
// raccolta di tratti
|
||||||
typedef std::vector<std::vector<Section>> VECVECSECT ;
|
typedef vector<vector<Section>> VECVECSECT ;
|
||||||
|
|
||||||
VECVECSECT vvSec ;
|
VECVECSECT vvSec ;
|
||||||
vvSec.resize( nYStep + 1) ;
|
vvSec.resize( nYStep + 1) ;
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ enum nSurfFinishingKey {
|
|||||||
KEY_UUID,
|
KEY_UUID,
|
||||||
KEY_ZZZ} ; // rappresenta il numero di elementi
|
KEY_ZZZ} ; // rappresenta il numero di elementi
|
||||||
|
|
||||||
static const std::array<std::string,KEY_ZZZ> sSurfFinishingKey = {
|
static const array<string,KEY_ZZZ> sSurfFinishingKey = {
|
||||||
"AB",
|
"AB",
|
||||||
"AI",
|
"AI",
|
||||||
"APPR",
|
"APPR",
|
||||||
@@ -420,7 +420,7 @@ SurfFinishingData::VerifyLeadOutType( int nVal) const
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
SurfFinishingData::VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const
|
SurfFinishingData::VerifyTool( const ToolsMgr* pToolsMgr, const string& sVal, const ToolData*& pTdata) const
|
||||||
{
|
{
|
||||||
if ( pToolsMgr == nullptr)
|
if ( pToolsMgr == nullptr)
|
||||||
return false ;
|
return false ;
|
||||||
|
|||||||
+1
-1
@@ -57,7 +57,7 @@ enum nToolKey {
|
|||||||
TK_UUID,
|
TK_UUID,
|
||||||
TK_ZZZ} ; // rappresenta il numero di elementi
|
TK_ZZZ} ; // rappresenta il numero di elementi
|
||||||
|
|
||||||
static const std::array<std::string,TK_ZZZ> sToolKey = {
|
static const array<string,TK_ZZZ> sToolKey = {
|
||||||
"ABSMAX",
|
"ABSMAX",
|
||||||
"COOLANT",
|
"COOLANT",
|
||||||
"COR",
|
"COR",
|
||||||
|
|||||||
+1
-1
@@ -502,7 +502,7 @@ ToolsMgr::VerifyTool( int nFamily, string& sName, int& nType) const
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
ToolsMgr::SetCurrTool( const std::string& sName)
|
ToolsMgr::SetCurrTool( const string& sName)
|
||||||
{
|
{
|
||||||
// se nome vuoto, faccio reset
|
// se nome vuoto, faccio reset
|
||||||
if ( sName.empty()) {
|
if ( sName.empty()) {
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ enum nWaterJetting {
|
|||||||
KEY_WS,
|
KEY_WS,
|
||||||
KEY_ZZZ} ; // rappresenta il numero di elementi
|
KEY_ZZZ} ; // rappresenta il numero di elementi
|
||||||
|
|
||||||
static const std::array<std::string,KEY_ZZZ> sWaterJettingKey = {
|
static const array<string,KEY_ZZZ> sWaterJettingKey = {
|
||||||
"AB",
|
"AB",
|
||||||
"AI",
|
"AI",
|
||||||
"CSL",
|
"CSL",
|
||||||
@@ -539,7 +539,7 @@ WaterJettingData::VerifyThickRef( double dVal) const
|
|||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool
|
bool
|
||||||
WaterJettingData::VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const
|
WaterJettingData::VerifyTool( const ToolsMgr* pToolsMgr, const string& sVal, const ToolData*& pTdata) const
|
||||||
{
|
{
|
||||||
if ( pToolsMgr == nullptr)
|
if ( pToolsMgr == nullptr)
|
||||||
return false ;
|
return false ;
|
||||||
|
|||||||
Reference in New Issue
Block a user