43 lines
1.2 KiB
C++
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_)
|