#ifndef COMMANDSTREAMPROCESSING_H #define COMMANDSTREAMPROCESSING_H #include #include #include "tangible_string_helper.h" #include "DataManagerGlobal.h" #include #include "Hull.h" using namespace std; enum e_modeling_operate_type { e_modeling_operate_NULL=0, e_modeling_operate_MAINPRINCIPLE, e_modeling_operate_HULLCOORD, e_modeling_operate_RENAME, e_modeling_operate_PROP, e_modeling_operate_DISTANCE, e_modeling_operate_AREA, e_modeling_operate_VOLUNM, e_modeling_operate_COPY, e_modeling_operate_TRIM, e_modeling_operate_MIRROR, e_modeling_operate_JOIN, e_modeling_operate_SPLIT, e_modeling_operate_DELETE, e_modeling_operate_INTERSECT, e_modeling_operate_POINT, e_modeling_operate_CURVE, e_modeling_operate_ELLIPSE, e_modeling_operate_PARABOLA, e_modeling_operate_SURF, e_modeling_operate_LOFT, e_modeling_operate_SWEEPSURF, e_modeling_operate_ROTATIONSURF, e_modeling_operate_PIPE, e_modeling_operate_SPHERESURF, e_modeling_operate_SOLID, e_modeling_operate_BOX, e_modeling_operate_SWEEPSOLID, e_modeling_operate_ROTATIONSOLID, e_modeling_operate_SPHERESOLID, e_modeling_operate_RTANKSOLID, e_modeling_operate_CYLINDERSOLID, e_modeling_operate_HULL, e_modeling_operate_SPACE, e_modeling_operate_SPACEUNIT, e_modeling_operate_APPENDAGE, e_modeling_operate_MDECKSURF, e_modeling_operate_SHELLSURF, e_modeling_operate_OPENCARGOREGION, e_modeling_operate_DECKSURF, e_modeling_operate_BOUNDSURF, e_modeling_operate_MAT, e_modeling_operate_PLATETYPE, e_modeling_operate_BEAMTYPE, e_modeling_operate_SECTION, e_modeling_operate_SCNODE, e_modeling_operate_SCBEAM, e_modeling_operate_SCPLATE, e_modeling_operate_SCLOOP, e_modeling_operate_SCSHELLPLATE, e_modeling_operate_SCDECKPLATE, e_modeling_operate_SCBOTTOMPLATE, e_modeling_operate_SCCHARACTPLATE, e_modeling_operate_SCSHAPELINE, e_modeling_operate_REGENCMD, e_modeling_operate_UPDATE, e_modeling_operate_ALL, e_modeling_operate_Size }; class DATAMANAGER_DLL_API_EXPORTS CommandStreamProcessing { public: CommandStreamProcessing(); ~CommandStreamProcessing(); static vector SplitCommand(string data); static string FirstWord(const string &str); static int ParseCmdType(const string &data); static vector RemoveSpaces(const string &trimmedData); static vector SplitToSingleCommand(string data); static bool ContainsCommandKeyWords(string data); static e_modeling_operate_type getSingleCommandType(string command); static E_GEO_3D_OBJ_TYPE getObjTypeById(int id); private: static std::unordered_map m_static_commandMap; }; #endif