Files
envi-code/SourceCode/Code2026/tg_shs/shs_pipebase/TInterfaceReleationManager.h
T

64 lines
1.9 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
#ifndef _TINTERFACERELEATIONMANAGER_H__
2026-09-28 15:28:50 +08:00
#define _TINTERFACERELEATIONMANAGER_H__
#if _MSC_VER > 1000
#pragma once
#endif
#include "TInterfaceManager.h"
class TToolKitBase;
class TInterfaceReleationManager : public TInterfaceManager
{
public:
TInterfaceReleationManager();
virtual ~TInterfaceReleationManager();
virtual void TranslateMoveGripPointMsg(const TInterfaceModifyMsg& msg,AcDbObjectIdArray& idOperOns);
protected:
BOOL Find(const TInterface& pipeInterface);
BOOL Find(const AcGePoint3d& ptCon,const AcGeVector3d& vtDir,AcDbObjectId& idFind,const AcDbObjectId& idOwnerNotMe);
BOOL Find2(const AcGePoint3d& ptCon,const AcGeVector3d& vtDir,AcDbObjectId& idFind,AcDbObjectId& idOwnerThis);
BOOL Update(const TInterface& pipeInterface);
BOOL SetInterfaceRelation(const AcDbDatabase* pDb,const TInterface& pipeInterface);
2026-10-04 00:04:20 +08:00
//进入连锁移动的循环并处理移动后是否有新的连接
2026-09-28 15:28:50 +08:00
BOOL TransactCycleMoveGripMsg(TDbInterfacesObj* pIObjOrigFr,const TInterfaceModifyMsg& msg,AcDbObjectIdArray& idOperOns);
2026-10-04 00:04:20 +08:00
//与用户交互,得到信息
2026-09-28 15:28:50 +08:00
int GetUserChoose();
2026-10-04 00:04:20 +08:00
//是否按住CRTLMOVE
2026-09-28 15:28:50 +08:00
BOOL TransactMoveOperation(const TInterfaceModifyMsg& msg,AcDbObjectIdArray& idOperOns,TDbInterfacesObj* pIObj,BOOL bCtrl);
2026-10-04 00:04:20 +08:00
//按住CRTL并选择衍生拉出
2026-09-28 15:28:50 +08:00
BOOL TransactPullOperation(const TInterfaceModifyMsg& msg,AcDbObjectIdArray& idOperOns,TDbInterfacesObj* pIObj);
2026-10-04 00:04:20 +08:00
//处理非中间夹点的操作
2026-09-28 15:28:50 +08:00
BOOL TransactOtherGripOperation(const TInterfaceModifyMsg& msg,AcDbObjectIdArray& idOperOns,TDbInterfacesObj* pIObj);
2026-10-04 00:04:20 +08:00
//改变接口方向
2026-09-28 15:28:50 +08:00
BOOL ChangeInterface(const TInterfaceModifyMsg& msg,TDbInterfacesObj* pIObj);
2026-10-04 00:04:20 +08:00
//建立新的连接
2026-09-28 15:28:50 +08:00
BOOL NewInterfaceReleation(TDbInterfacesObj* pIObj, TInterface& pipeInterface);
2026-10-04 00:04:20 +08:00
//创建三联通
2026-09-28 15:28:50 +08:00
BOOL CreateNewCabTee(const AcGePoint3d& ptCen);
public:
enum UserChoose
{
ePullObj = 0,
eMoveObj = 1,
};
TToolKitBase* m_pToolKit;
};
#endif //_TINTERFACERELEATIONMANAGER_H__