COMPASSi/trunk/code/inc/DataManager/DataManagerInterface/include/CommandStreamProcessing.h

106 lines
2.7 KiB
C
Raw Normal View History

2025-06-25 15:06:42 +08:00
#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