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