49 lines
1.5 KiB
C++
49 lines
1.5 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, SH Software Co. Ltd.
|
|
// = FileName : XLinearEnt.h
|
|
// = Version : ver2.0
|
|
// = Author : zjq
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: 线性图形基类XLinearEnt类的声明
|
|
// = Maintainers:
|
|
//
|
|
//-----------------------------------------------------------------------------+
|
|
#ifndef _XLINEARENT_H_
|
|
#define _XLINEARENT_H_
|
|
|
|
#ifndef _XCURVE_H_
|
|
#include "XCurve.h"
|
|
#endif
|
|
|
|
class XArc;
|
|
class XCircle;
|
|
class GEOAPI XLinearEnt : public XCurve
|
|
{
|
|
public:
|
|
virtual bool IsKindOf(TEntityId entType) const;
|
|
virtual TEntityId Type() const;
|
|
|
|
virtual void TransformBy(ads_matrix mat);
|
|
virtual int GetExtend(XPoint &ptlow, XPoint &ptup) const;
|
|
//图形长度,周长
|
|
virtual ads_real GetLength() const;
|
|
virtual int Make(const TCHAR *szlay = NULL) const;
|
|
virtual int MakeEntity(const Entity* pEntity) const;
|
|
|
|
// 0--错误;1-左边;2-右边;3-起始点;4-终止点;5-线内;6-起始侧延长线;7-终止侧延长线
|
|
virtual int HitTest2d(const XPoint &ptTest) const;
|
|
|
|
virtual XPoint MidPoint() const;
|
|
virtual void SetPoints(const XPoint& pt1, const XPoint& pt2);
|
|
virtual int OSnap(int nMode, XPoint &ptPick) const;
|
|
virtual int Intersection(const XArc* pArc, ads_point ptrp1 = NULL, ads_point ptrp2 = NULL) const;
|
|
virtual int Intersection(const XCircle* pCircle, ads_point ptrp1 = NULL, ads_point ptrp2 = NULL) const;
|
|
virtual void CopyFrom(const XEntity* pImpSrc);
|
|
|
|
protected:
|
|
XLinearEnt();
|
|
virtual ~XLinearEnt();
|
|
};
|
|
|
|
#endif
|