Files
envi-code/SourceCode/Code2026/tg_shs/inc/TArch/TDbObjMakeAssoc.h
T

47 lines
1.3 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
//------------------------------------------------------------------------+
2026-09-28 15:28:50 +08:00
// Copyright (C), 1998-2011, Beijing Tangent Software Co. Ltd.
2026-10-04 00:04:20 +08:00
// = FileName : TDbObjMakeAssoc类
2026-09-28 15:28:50 +08:00
// = Version : ver1.0
// = Author : xlc
// = CreateDate : 2011-06-29
2026-10-04 00:04:20 +08:00
// = Description: 关联处理类声明
2026-09-28 15:28:50 +08:00
// = Maintainers:
//
//------------------------------------------------------------------------+
#ifndef _TDBOBJMAKEASSOC_H_
#define _TDBOBJMAKEASSOC_H_
#ifndef _TASSOCMSG_H_
#include "TAssocMsg.h"
#endif
class TDbStruFloorSlab;
class TARCH_EXP TDbObjMakeAssoc
{
public:
TDbObjMakeAssoc();
virtual ~TDbObjMakeAssoc();
2026-10-04 00:04:20 +08:00
//添加,编辑对象消息
2026-09-28 15:28:50 +08:00
void TranslateMsg(TAssocMsg& msg);
2026-10-04 00:04:20 +08:00
//夹点消息
2026-09-28 15:28:50 +08:00
void TranslateGripMsg(TAssocMsg& msg);
2026-10-04 00:04:20 +08:00
//移动消息
2026-09-28 15:28:50 +08:00
void TranslateTransformMsg(TAssocMsg& msg);
2026-10-04 00:04:20 +08:00
//新位置建立关联
2026-09-28 15:28:50 +08:00
void MakeAssocAtNewPosition(AcDbObjectId idObj);
2026-10-04 00:04:20 +08:00
AcDbObjectIdArray m_arIdsModified; //已修改Id数组
AcDbObjectIdArray m_arIdsToModify; //同时将要修改Id数组
AcDbObjectIdArray m_arIdsToUpdate; //将要更新的Id数组
2026-09-28 15:28:50 +08:00
protected:
void UpdateAssocByTransform();
private:
2026-10-04 00:04:20 +08:00
// 参考楼板pSlab,绘制以poly为边界的楼板
2026-09-28 15:28:50 +08:00
void CreateNewFloorSlab(const TDbStruFloorSlab* pSlab, TGGePoly2D& poly);
2026-10-04 00:04:20 +08:00
// 拆分楼板
2026-09-28 15:28:50 +08:00
void SplitFloorSlab(TGGeCurveSegment cvCenter, TDbStruFloorSlab* pFloorSlab);
};
#endif