Files
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

237 lines
5.9 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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;
};