Files
DarioS de34cfb7e8 EgtGeomKernel :
- sistemate minuscole/maiuscole in #include.
2022-02-26 17:47:48 +01:00

224 lines
13 KiB
C++

//----------------------------------------------------------------------------
// EgalTech 2013-2019
//----------------------------------------------------------------------------
// File : GdbExecutor.h Data : 01.10.19 Versione : 2.1i3
// Contenuto : Dichiarazione della classe GdbExecutor.
//
//
//
// Modifiche : 27.03.13 DS Creazione modulo.
//
//
//----------------------------------------------------------------------------
#pragma once
#include "OutTsc.h"
#include "/EgtDev/Include/EGkGdbExecutor.h"
#include "/EgtDev/Include/EgtPerfCounter.h"
#include "/EgtDev/Include/EgtExecMgr.h"
#include "/EgtDev/Include/EGkGeoCollection.h"
#include "Tool.h"
class PolyLine ;
class PolyArc ;
//----------------------------------------------------------------------------
class GdbExecutor : public IGdbExecutor
{
public : // ICmdExecutor
bool SetCmdParser( ICmdParser* pParser) override ;
bool AddStandardVariables( void) override ;
int Execute( const std::string& sCmd1, const std::string& sCmd2, const STRVECTOR& vsParams) override ;
public : // IGdbExecutor
~GdbExecutor( void) override ;
bool SetGeomDB( IGeomDB* pGdb) override ;
public :
GdbExecutor( void) ;
private :
bool AddGeoObj( const std::string& sId, const std::string& sIdParent, IGeoObj* pGeoObj) ;
int GetIdParam( const std::string& sParam, bool bNewAllowed = false) ;
bool GetNamesParam( const std::string& sParam, INTVECTOR& vnNames) ;
bool GetVectorParam( const std::string& sParam, const Frame3d& frVect, Vector3d& vtV) ;
bool GetPointParam( const std::string& sParam, const Frame3d& frPnt, Point3d& ptP) ;
bool GetPointsParam( const std::string& sParam, const Frame3d& frPnt, PolyLine& PL) ;
bool GetPointWParam( const std::string& sParam, const Frame3d& frPnt, Point3d& ptP, double& dW) ;
bool GetPointWsParam( const std::string& sParam, const Frame3d& frPnt, PolyArc& PA) ;
bool GetLengthParam( const std::string& sParam, double& dLen) ;
bool GetDirParam( const std::string& sParam, const Frame3d& frDir, double& dDir) ;
bool GetFrameParam( const std::string& sParam, const Frame3d& frRef, Frame3d& frF) ;
bool GetColorParam( const std::string& sParam, bool& bByParent, Color& cCol) ;
bool GetMaterialParam( const std::string& sParam, bool& bByParent, int& nMat) ;
bool GetStringParam( const std::string& sParam, std::string& sString) ;
bool ExecuteGroup( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecutePoint( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteVector( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool VectorMake( const STRVECTOR& vsParams) ;
bool VectorBaseVector( const STRVECTOR& vsParams) ;
bool VectorFromSpherical( const STRVECTOR& vsParams) ;
bool VectorDifference( const STRVECTOR& vsParams) ;
bool VectorCrossProduct( const STRVECTOR& vsParams) ;
bool VectorModifyBase( const STRVECTOR& vsParams) ;
bool ExecuteFrame( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteCurveLine( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool CurveLineMake( const STRVECTOR& vsParams) ;
bool CurveLineVersorLength( const STRVECTOR& vsParams) ;
bool CurveLineDirLength( const STRVECTOR& vsParams) ;
bool CurveLinePointTgCurve( const STRVECTOR& vsParams) ;
bool CurveLineTgTwoArcs( const STRVECTOR& vsParams) ;
bool CurveLineMinPointCurve( const STRVECTOR& vsParams) ;
bool ExecuteCurveCircle( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteCurveArc( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool CurveCircleMake( const STRVECTOR& vsParams) ;
bool CurveCirclePlaneXY( const STRVECTOR& vsParams) ;
bool CurveArcMake( const STRVECTOR& vsParams) ;
bool CurveArcPlaneXY( const STRVECTOR& vsParams) ;
bool CurveArcCircle3P( const STRVECTOR& vsParams, bool bCirc) ;
bool CurveArc2PDi( const STRVECTOR& vsParams) ;
bool CurveArc2PRS( const STRVECTOR& vsParams) ;
bool CurveArcC2P( const STRVECTOR& vsParams) ;
bool CurveCircleCenterTgArc( const STRVECTOR& vsParams) ;
bool CurveArcCenterTgArcP( const STRVECTOR& vsParams) ;
bool CurveArcPDiTgArc( const STRVECTOR& vsParams) ;
bool CurveArcInvertNormal( const STRVECTOR& vsParams) ;
bool CurveArcChangeRadius( const STRVECTOR& vsParams) ;
bool CurveArcChangeDeltaN( const STRVECTOR& vsParams) ;
bool CurveArcToExplementary( const STRVECTOR& vsParams) ;
bool CurveArcFlip( const STRVECTOR& vsParams) ;
bool ExecuteCurveBez( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteCurveCompo( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool CurveCompoMake( const STRVECTOR& vsParams) ;
bool CurveCompoFromPoints( const STRVECTOR& vsParams) ;
bool CurveCompoFromPointBulges( const STRVECTOR& vsParams) ;
bool CurveCompoFromPointInterpolation( const STRVECTOR& vsParams) ;
bool CurveCompoFromCurveApproximation( const STRVECTOR& vsParams) ;
bool CurveCompoFromSplit( const STRVECTOR& vsParams) ;
bool CurveCompoFromPolygon( const STRVECTOR& vsParams, int nType) ;
bool CurveCompoFromBiarc( const STRVECTOR& vsParams) ;
bool CurveCompoAddCurve( const STRVECTOR& vsParams, bool bEndOrStart) ;
bool CurveCompoExtractCurve( const STRVECTOR& vsParams, bool bEndOrStart) ;
bool CurveCompoChangeStart( const STRVECTOR& vsParams) ;
bool ExecuteSurfTriMesh( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool SurfTriMeshBegin( const STRVECTOR& vsParams) ;
bool SurfTriMeshAddVertex( const STRVECTOR& vsParams) ;
bool SurfTriMeshAddTriangle( const STRVECTOR& vsParams) ;
bool SurfTriMeshEnd( const STRVECTOR& vsParams) ;
bool SurfTriMeshByTriangleSoup( const STRVECTOR& vsParams) ;
bool SurfTriMeshByFlatContour( const STRVECTOR& vsParams) ;
bool SurfTriMeshByExtrusion( const STRVECTOR& vsParams) ;
bool SurfTriMeshByTwoPaths( const STRVECTOR& vsParams) ;
bool SurfTriMeshByScrewing( bool bMove, const STRVECTOR& vsParams) ;
bool SurfTriMeshChangeSmoothAng( const STRVECTOR& vsParams) ;
bool SurfTriMeshDoCompacting( const STRVECTOR& vsParams) ;
bool SurfTriMeshDoSewing( const STRVECTOR& vsParams) ;
bool SurfTrimeshCheckConnection( const STRVECTOR& vsParams) ;
bool SurfTrimeshRemovePart( const STRVECTOR& vsParams) ;
bool SurfTrimeshClonePart( const STRVECTOR& vsParams) ;
bool SurfTrimeshGenCut( const STRVECTOR& vsParams) ;
bool SurfTrimeshAdd( const STRVECTOR& vsParams) ;
bool SurfTrimeshInters( const STRVECTOR& vsParams) ;
bool SurfTrimeshSubtract( const STRVECTOR& vsParams) ;
bool ExecuteVolZmap( const std::string& sCmd2, const STRVECTOR& vsParams) ;
//bool VolZmapCreate( const STRVECTOR& vsParams) ;
//bool VolZmapCreateFromFlatRegion( const STRVECTOR& vsParams) ;
//bool VolZmapCreateFromTriMesh( const STRVECTOR& vsParams) ;
//bool VolZmapMilling( const STRVECTOR& vsParams) ;
//bool VolZmapSetAdvTool( const STRVECTOR& vsParams) ;
//bool VolZmapSetGenTool( const STRVECTOR& vsParams) ;
//bool VolZmapDeepnessMeasure( const STRVECTOR& vsParams) ;
//bool VolZmapBBoxZmapIntersection( const STRVECTOR& vsParams) ;
//bool ExecuteVolZmapCut( const STRVECTOR& vsParams) ;
//bool ExecuteVolZmapCompact( const STRVECTOR& vsParams) ;
//bool ExecuteVolZmapEdges( const STRVECTOR& vsParams) ;
bool ExecuteIntersection( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool LineDiscInters( const STRVECTOR& vsParams) ;
bool RayDiscInters( const STRVECTOR& vsParams) ;
bool SegmentDiscInters( const STRVECTOR& vsParams) ;
bool LineSphereInters( const STRVECTOR& vsParams) ;
bool RaySphereInters( const STRVECTOR& vsParams) ;
bool SegmentSphereInters( const STRVECTOR& vsParams) ;
bool LineSemiSphereInters( const STRVECTOR& vsParams) ;
bool RaySemiSphereInters( const STRVECTOR& vsParams) ;
bool SegmentSemiSphereInters( const STRVECTOR& vsParams) ;
bool LinCompSemiSphereInters( const STRVECTOR& vsParams) ;
bool LineInfiniteCylinderInters( const STRVECTOR& vsParams) ;
bool RayInfiniteCylinderInters( const STRVECTOR& vsParams) ;
bool SegmentInfiniteCylinderInters( const STRVECTOR& vsParams) ;
bool LineCylinderInters( const STRVECTOR& vsParams) ;
bool RayCylinderInters( const STRVECTOR& vsParams) ;
bool SegmentCylinderInters( const STRVECTOR& vsParams) ;
bool SegmentConeInters( const STRVECTOR& vsParams) ;
bool LineTruncateConeInters( const STRVECTOR& vsParams) ;
bool RayTruncateConeInters( const STRVECTOR& vsParams) ;
bool SegmentTruncateConeInters( const STRVECTOR& vsParams) ;
bool LineTorusInters( const STRVECTOR& vsParams) ;
bool RayTorusInters( const STRVECTOR& vsParams) ;
bool SegmentTorusInters( const STRVECTOR& vsParams) ;
bool LinCompTorusPartInters( const STRVECTOR& vsParams) ;
bool ExecuteToolAvoidTriangle( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteDistPointTrimesh( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteText( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool TextSimple( const STRVECTOR& vsParams) ;
bool TextComplete( const STRVECTOR& vsParams) ;
bool TextModifyText( const STRVECTOR& vsParams) ;
bool TextChangeFont( const STRVECTOR& vsParams) ;
bool TextFlip( const STRVECTOR& vsParams) ;
bool TextMir( const STRVECTOR& vsParams) ;
bool TextOutline( const STRVECTOR& vsParams) ;
bool TextSplitOnLineBreak( const STRVECTOR& vsParams) ;
bool ExecuteLevel( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteMode( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteStatus( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteSelect( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteDeselect( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteMaterial( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool MaterialColor( const STRVECTOR& vsParams) ;
bool MaterialMaterial( const STRVECTOR& vsParams) ;
bool MaterialDefault( const STRVECTOR& vsParams) ;
bool ExecuteName( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteInfo( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteMatLibrary( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteCopy( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteRelocate( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteErase( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteTranslate( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteRotate( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteScale( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteMirror( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteShear( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteCurveModify( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool CurveModifyInvert( const STRVECTOR& vsParams) ;
bool CurveModifyStartPoint( const STRVECTOR& vsParams) ;
bool CurveModifyEndPoint( const STRVECTOR& vsParams) ;
bool CurveModifyExtrusion( const STRVECTOR& vsParams) ;
bool CurveModifyThickness( const STRVECTOR& vsParams) ;
bool CurveModifyTrim( const STRVECTOR& vsParams, int nTrimType) ;
bool ExecuteCurveCopy( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool CurveCopyByParamRange( const STRVECTOR& vsParams) ;
bool CurveCopyBySplitClass( const STRVECTOR& vsParams) ;
bool CurveCopyByChain( const STRVECTOR& vsParams) ;
bool ExecuteSurfModify( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool SurfModifyInvert( const STRVECTOR& vsParams) ;
bool ExecuteNew( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteLoad( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteSave( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteOutTextIcci( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool ExecuteOutTsc( const std::string& sCmd2, const STRVECTOR& vsParams) ;
bool OutGroupTsc( int nId, int nFlag, int nLev = 0) ;
private :
enum SeLp { SL, EL, SP, EP, SEP} ;
private :
IGeomDB* m_pGDB ;
ICmdParser* m_pParser ;
ExecManager<GdbExecutor> m_ExecMgr ;
OutTsc m_OutTsc ;
std::string m_sId ;
std::string m_sParentId ;
IGeoObj* m_pGeoObj ;
} ;