237 lines
5.9 KiB
C++
237 lines
5.9 KiB
C++
#pragma once
|
||
|
||
/*----------------------------------------------------------------------------------
|
||
//AecDbParamEquipment : 参数化设备
|
||
//
|
||
//2021-9 后作废
|
||
//---------------------------------------------------------------------------------*/
|
||
|
||
|
||
#include "AecDbEntityBase.h"
|
||
#include "AecDbObjXDataMap.h"
|
||
#include "AecMInterfaces.h"
|
||
#include "define_class_xdata_key.h"
|
||
|
||
#ifdef EARTHWORM_EXPORT
|
||
#define DLLIMPEXP __declspec(dllexport)
|
||
#else
|
||
#define DLLIMPEXP __declspec(dllimport)
|
||
#endif
|
||
|
||
class CParamEquImplBase;
|
||
class DLLIMPEXP AecDbParamEquipment : public AecDbEntityBase,
|
||
public AecMInterfaces
|
||
{
|
||
public:
|
||
ACRX_DECLARE_MEMBERS(AecDbParamEquipment);
|
||
|
||
public:
|
||
// 格栅
|
||
DECLARE_ENUM(GESHAN)
|
||
XHG_I = 0,
|
||
XHG_II,
|
||
SG,
|
||
BLQ,
|
||
ZG_I,
|
||
ZG_II,
|
||
END_ENUM()
|
||
|
||
// 爆气器
|
||
DECLARE_ENUM(BAOQIQI)
|
||
PAN_SI = GESHAN::ZG_II + 1,
|
||
GUAN_SI,
|
||
END_ENUM()
|
||
|
||
// 水槽
|
||
DECLARE_ENUM(FLUME)
|
||
PARSHALL = BAOQIQI::GUAN_SI + 1,
|
||
END_ENUM()
|
||
|
||
// 堰
|
||
DECLARE_ENUM(WEIR)
|
||
SANJIAOYAN = FLUME::PARSHALL + 1,
|
||
CULIUKONGYAN,
|
||
BAOBIYAN,
|
||
END_ENUM()
|
||
|
||
// 沉沙池-砂水分离
|
||
DECLARE_ENUM(SHASHUIFENLI)
|
||
XCS = WEIR::BAOBIYAN + 1,
|
||
HXS,
|
||
LCS,
|
||
END_ENUM()
|
||
|
||
// 螺旋泵
|
||
DECLARE_ENUM(LUOXUANBENG)
|
||
LXB = SHASHUIFENLI::LCS + 1,
|
||
END_ENUM()
|
||
|
||
// 闸门
|
||
DECLARE_ENUM(ZHAMEN)
|
||
RECT_ZHAMEN = LUOXUANBENG::LXB + 1,
|
||
CIRCLE_ZHAMEN,
|
||
SHENG_NI_FA,
|
||
END_ENUM()
|
||
|
||
// 刮泥机
|
||
DECLARE_ENUM(GUANIJI)
|
||
XZG = ZHAMEN::SHENG_NI_FA +1,
|
||
CZG,
|
||
ZG,
|
||
QG,
|
||
PJ,
|
||
SX,
|
||
SB,
|
||
LIANTIAO,
|
||
END_ENUM()
|
||
|
||
// 浓缩机
|
||
DECLARE_ENUM(NONGSUOJI)
|
||
NC = GUANIJI::LIANTIAO + 1,
|
||
NB,
|
||
END_ENUM()
|
||
|
||
// 爆气机
|
||
DECLARE_ENUM(BAOQIJI)
|
||
YHG = NONGSUOJI::NB + 1,
|
||
AD,
|
||
END_ENUM()
|
||
|
||
// 加药混合
|
||
DECLARE_ENUM(JIAYAOHUNHE)
|
||
GJ = BAOQIJI::AD + 1,
|
||
PJ,
|
||
TJ,
|
||
LJF,
|
||
END_ENUM()
|
||
|
||
// 滤布机
|
||
DECLARE_ENUM(LVBUJI)
|
||
ZHUANPAN = JIAYAOHUNHE::LJF + 1,
|
||
END_ENUM()
|
||
|
||
// 启闭机
|
||
DECLARE_ENUM(QIBIJI)
|
||
QS_I_P = LVBUJI::ZHUANPAN + 1,
|
||
QS_I_Y,
|
||
QS_I_L,
|
||
QS_II_L,
|
||
QS_II_Y,
|
||
END_ENUM()
|
||
|
||
// 净水器
|
||
DECLARE_ENUM(JINGSHUIQI)
|
||
JSQ_I = QIBIJI::QS_I_P + 1,
|
||
JSQ_II,
|
||
JSQ_III,
|
||
JSQ_IV,
|
||
JSQ_V,
|
||
JSQ_VI,
|
||
END_ENUM()
|
||
|
||
//
|
||
DECLARE_ENUM(CHAOLVGUAN)
|
||
LG_I = JINGSHUIQI::JSQ_I + 1,
|
||
LVGUAN_I,
|
||
END_ENUM()
|
||
protected:
|
||
static Adesk::UInt32 kCurrentVersionNumber;
|
||
|
||
public:
|
||
AecDbParamEquipment(const int &type);
|
||
AecDbParamEquipment(): m_pImpl(NULL) {}
|
||
~AecDbParamEquipment(void);
|
||
|
||
void SetType(int nType);
|
||
int GetType() const;
|
||
|
||
virtual Acad::ErrorStatus dwgInFields(AcDbDwgFiler* pFiler);
|
||
virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler* pFiler) const;
|
||
virtual Acad::ErrorStatus dxfInFields(AcDbDxfFiler* pFiler);
|
||
virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler* pFiler) const;
|
||
|
||
virtual Acad::ErrorStatus subExplode(AcDbVoidPtrArray& entitySet) const;
|
||
virtual void subList() const;
|
||
|
||
virtual Acad::ErrorStatus copyFrom(const AcRxObject* pSrc);
|
||
|
||
virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform);
|
||
|
||
virtual Acad::ErrorStatus subGetGripPoints(AcDbGripDataPtrArray& grips,
|
||
const double curViewUnitSize,
|
||
const int gripSize,
|
||
const AcGeVector3d& curViewDir,
|
||
const int bitflags) const;
|
||
virtual Acad::ErrorStatus subGetGripPoints( AcGePoint3dArray &gripPoints, AcDbIntArray &osnapModes, AcDbIntArray &geomIds) const;
|
||
virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbVoidPtrArray& appData, const AcGeVector3d& offset, const int bitflags);
|
||
virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbIntArray& indices,const AcGeVector3d& offset);
|
||
|
||
virtual Acad::ErrorStatus subGetStretchPoints(AcGePoint3dArray& stretchPoints) const;
|
||
virtual Acad::ErrorStatus subMoveStretchPointsAt(const AcDbIntArray& indices,const AcGeVector3d& offset);
|
||
|
||
virtual Acad::ErrorStatus subGetOsnapPoints(AcDb::OsnapMode osnapMode,
|
||
INT_PTR gsSelectionMark,
|
||
const AcGePoint3d& pickPoint,
|
||
const AcGePoint3d& lastPoint,
|
||
const AcGeMatrix3d& viewXform,
|
||
AcGePoint3dArray& snapPoints,
|
||
AcDbIntArray& geomIds) const;
|
||
|
||
virtual Acad::ErrorStatus subGetGeomExtents(AcDbExtents& extents) const;
|
||
|
||
virtual Acad::ErrorStatus subIntersectWith( const AcDbEntity* pEnt,
|
||
AcDb::Intersect intType,
|
||
AcGePoint3dArray& points,
|
||
INT_PTR thisGsMarker,
|
||
INT_PTR otherGsMarker) const;
|
||
|
||
virtual Acad::ErrorStatus subIntersectWith( const AcDbEntity* pEnt,
|
||
AcDb::Intersect intType,
|
||
const AcGePlane& projPlane,
|
||
AcGePoint3dArray& points,
|
||
INT_PTR thisGsMarker,
|
||
INT_PTR otherGsMarker) const;
|
||
|
||
|
||
|
||
//AEC 派生
|
||
virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const;
|
||
virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) const;
|
||
|
||
//获取二维视图显示的图形
|
||
virtual int GetDraw2dables(Adesk::UInt16 nDrawStyle, AcDbVoidPtrArray& arEntPtrs) const;
|
||
|
||
//获取三维显示图形
|
||
virtual int GetDraw3dables(AcDbVoidPtrArray& arEntPtrs,bool bWriteBimInfo = false) const;
|
||
|
||
virtual SHJson::WValue& ToJson(bool bExprotGeo = true) const;
|
||
|
||
virtual bool ByJson(const SHJson::WValue &v);
|
||
|
||
virtual bool GetBimInfoTip(CString& sInfoTip) const;
|
||
|
||
//接口
|
||
MINTERFACES_METHODS
|
||
|
||
public:
|
||
virtual const AecDbObjXDataMap* GetSpecialtyData() const;
|
||
virtual AecDbObjXDataMap* GetSpecialtyData(AcDb::OpenMode bMode);
|
||
|
||
virtual int GetSectionDraw(const AcGePoint3d& ptFr,const AcGePoint3d& ptTo,const AcGeVector3d& vtViewDir,const AcGeVector3d& vtTo, AcDbVoidPtrArray& arRegPtrs) const;
|
||
|
||
public:
|
||
void SetPosAndDir(const AcGePoint3d &pt, const AcGeVector3d &dir);
|
||
void GetInsert(AcGePoint3d& ptIns,AcGeVector3d& vtDir) const;
|
||
void SetElev(const double &dElev);
|
||
double GetElev();
|
||
bool GetSrcString(CString &src);
|
||
void SetSrcString(LPCTSTR src);
|
||
CParamEquImplBase* cloneImpl(AecDbObjXDataMap *pXData);
|
||
public:
|
||
static CParamEquImplBase* createParamEquImpl(const int &type, AecDbObjXDataMap *pXData);
|
||
|
||
private:
|
||
AecDbObjXDataMap m_XDataMap;
|
||
CParamEquImplBase *m_pImpl;
|
||
};
|