Files
envi-code/SourceCode/Code2026/tg_shs/inc/Mep/XWall.h
T
2026-09-28 15:28:50 +08:00

43 lines
1.2 KiB
C++

// XWall.h: interface for the XWall class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_XWALL_H__1B22CC82_02C9_47AC_85E0_B6E7CE1D25F9__INCLUDED_)
#define AFX_XWALL_H__1B22CC82_02C9_47AC_85E0_B6E7CE1D25F9__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class TELAPI XWall
{
public:
XWall();
XWall(Entity ent);
virtual ~XWall();
void SearchAllWallLine(PickSet &ss);
BOOL IsArcWall();
Entity GetNextWallLine(XPoint ptPick);
XPoly2D m_poly;
XPoint m_ptCen, m_ptStart, m_ptEnd; //»¡Ç½
double m_nRadius; //»¡Ç½
double m_nAngle; //ֱǽ
BOOL GetInsEquipPt(XPoint &ptPick, double &nRotate, double nDist=0);
protected:
Entity m_ent;
BOOL m_bFirst;
BOOL DoSearch(XPoint pt, PickSet &ss);
Entity GetWinFromWall(Entity ent, XPoint pt);
Entity GetWinNextWall(Entity entWin, Entity FirstWall, XPoint &ptStart, XPoly2D &xpoly1);
BOOL IsEndWall(Entity ent);
Entity GetWallFromPt(Entity ent, XPoint pt);
BOOL GetWinData(Entity entWin, double &nWallThick, XPointList &lstPt);
void AppendTail(XPoint pt);
DList<XCurveSegment> m_lstSeg;
XPoint m_ptPolyStart, m_ptPolyEnd;
XPoint ptFirstTemp;
};
#endif // !defined(AFX_XWALL_H__1B22CC82_02C9_47AC_85E0_B6E7CE1D25F9__INCLUDED_)