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