106 lines
2.7 KiB
C++
106 lines
2.7 KiB
C++
#ifndef COMMANDSTREAMPROCESSING_H
|
|
#define COMMANDSTREAMPROCESSING_H
|
|
#include <string>
|
|
#include <vector>
|
|
#include "tangible_string_helper.h"
|
|
#include "DataManagerGlobal.h"
|
|
#include <unordered_map>
|
|
#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<string> SplitCommand(string data);
|
|
|
|
static string FirstWord(const string &str);
|
|
|
|
static int ParseCmdType(const string &data);
|
|
|
|
static vector<string> RemoveSpaces(const string &trimmedData);
|
|
|
|
static vector<string> 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<string, e_modeling_operate_type> m_static_commandMap;
|
|
|
|
};
|
|
#endif
|