#pragma once #include "GeCurve.h" class GeArc; class GeCircle; class GeLinearEnt : public GeCurve { public: virtual bool IsKindOf(TEntityId entType) const; virtual TEntityId Type() const; virtual void TransformBy(ads_matrix mat); virtual int GetExtend(ADSGePoint3d &ptlow, ADSGePoint3d &ptup) const; //图形长度,周长 virtual ads_real GetLength() const; virtual int Make(const TCHAR *szlay = NULL) const; virtual int MakeEntity(const EntitySet* pEntity) const; // 0--错误;1-左边;2-右边;3-起始点;4-终止点;5-线内;6-起始侧延长线;7-终止侧延长线 virtual int HitTest2d(const ADSGePoint3d &ptTest) const; virtual ADSGePoint3d MidPoint() const; virtual void SetPoints(const ADSGePoint3d& pt1, const ADSGePoint3d& pt2); virtual int OSnap(int nMode, ADSGePoint3d &ptPick) const; virtual int Intersection(const GeArc* pArc, ads_point ptrp1 = NULL, ads_point ptrp2 = NULL) const; virtual int Intersection(const GeCircle* pCircle, ads_point ptrp1 = NULL, ads_point ptrp2 = NULL) const; virtual void CopyFrom(const GeEntity* pImpSrc); protected: GeLinearEnt(); virtual ~GeLinearEnt(); };