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

117 lines
3.4 KiB
C++

#pragma once
/*----------------------------------------------------------------------------------
//剖切隐藏 实体
//
//注意: 内部使用,不对外开放!!!!
//---------------------------------------------------------------------------------*/
#include "AecDbEntityBase.h"
#include "AecComplexCurveDraw.h"
#include "define_class_xdata_key.h"
#include "AecDbObjXDataMap.h"
#ifdef EARTHWORM_EXPORT
#define DLLIMPEXP __declspec(dllexport)
#else
#define DLLIMPEXP __declspec(dllimport)
#endif
class AcDbX3dSolid;
class AecDbX3dPart;
class DLLIMPEXP AecDbBlackHoleEntity :public AecDbEntityBase
{
public:
ACRX_DECLARE_MEMBERS(AecDbBlackHoleEntity);
protected:
static Adesk::UInt32 kCurrentVersionNumber;
public:
AecDbBlackHoleEntity(void);
~AecDbBlackHoleEntity(void);
bool Set(AcDbPolyline* pPl,double dH,const AcDbObjectIdArray& arIds);
virtual AcDb3dSolid* GetBlackHole() const;
virtual Acad::ErrorStatus copyFrom(const AcRxObject* pSrc);
virtual Acad::ErrorStatus subGetGripPoints(AcDbGripDataPtrArray &grips,
const double curViewUnitSize,
const int gripSize,
const AcGeVector3d &curViewDir,
const int bitflags) const;
virtual Acad::ErrorStatus subMoveGripPointsAt(const AcDbVoidPtrArray& appData
, const AcGeVector3d& offset
, const int bitflags);
#if ARX>16
virtual Acad::ErrorStatus subTransformBy(const AcGeMatrix3d& xform);
virtual Acad::ErrorStatus subErase(Adesk::Boolean erasing);
#endif
virtual Acad::ErrorStatus Draw2d(AcGiDraw &dc) const;
virtual Acad::ErrorStatus Draw3d(AcGiDraw &dc) 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 void AssertWriteEnabled(Adesk::Boolean autoUndo = true, Adesk::Boolean recordModified = true );
virtual AecDbObjXDataMap* GetSpecialtyData(AcDb::OpenMode bMode = AcDb::kForWrite){return &m_mapSpecXData;}
virtual const AecDbObjXDataMap* GetSpecialtyData() const {return &m_mapSpecXData;}
protected:
//创建显示3dSolid
AcDb3dSolid* CreateDraw3dSolid() const;
public:
void Refresh();
double GetHeight() const;
void SetHeight(const double dH);
void SetElev(const double dH);
double GetElev()const;
protected:
double m_dH; //上下各个高度
CString m_sPolyline;
AcDbObjectIdArray m_arAssocIds; //关联的对象
//BIM数据
AcGePoint3d m_ptOrg;
//2D
AecComplexCurveDraw m_drawable2d; //2D
private:
AecDbObjXDataMap m_mapSpecXData;
public:
DEF_XDATA_KEY_FUN(_IS_CUT_WALL, BOOL, _IS_CUT_WALL_);
DEF_XDATA_KEY_FUN(_IS_CUT_BEAM, BOOL, _IS_CUT_BEAM_);
DEF_XDATA_KEY_FUN(_IS_CUT_COLUMN, BOOL, _IS_CUT_COLUMN_);
DEF_XDATA_KEY_FUN(_IS_CUT_SLAB, BOOL, _IS_CUT_SLAB_);
DEF_XDATA_KEY_FUN(_IS_CUT_WINDOOR, BOOL, _IS_CUT_WINDOOR_);
DEF_XDATA_KEY_FUN(_IS_CUT_YXGZ, BOOL, _IS_CUT_YXGZ_);
DEF_XDATA_KEY_FUN(_IS_CUT_STAIR, BOOL, _IS_CUT_STAIR_);
DEF_XDATA_KEY_FUN(_IS_CUT_WEIR, BOOL, _IS_CUT_WEIR_);
DEF_XDATA_KEY_FUN(_IS_CUT_GUARDBAR, BOOL, _IS_CUT_GUARDBAR_);
DEF_XDATA_KEY_FUN(_IS_CUT_ROOF, BOOL, _IS_CUT_ROOF_);
DEF_XDATA_KEY_FUN(_IS_USE_DBCLICK, BOOL, _IS_USE_DBCLICK_);
DEF_XDATA_KEY_FUN(_IS_CUT_PIPE,BOOL, _IS_CUT_PIPE_);
DEF_XDATA_KEY_FUN(_IS_CUT_EQU, BOOL, _IS_CUT_EQU_);
DEF_XDATA_KEY_FUN(_IS_CUT_DUCT, BOOL, _IS_CUT_DUCT_);
DEF_XDATA_KEY_FUN(_IS_CUT_CABTRY, BOOL, _IS_CUT_CABTRY_);
DEF_XDATA_KEY_FUN(_IS_CUT_HOLDER, BOOL, _IS_CUT_HOLDER_);
};