//-------------------------------------------------------------------------------------------------------+ // Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd. // = FileName : TPGeGLine2D 类 // = Version : ver2.0 // = Author : wlw // = CreateDate : 2002-09-09 // = Description: TPGeGLine2D 声明 // = Maintainers: // //-------------------------------------------------------------------------------------------------------+ #ifndef _TPGEGLINE2D_H_ #define _TPGEGLINE2D_H_ #ifndef _TPGECURVE2D_H_ #include "TPGeCurve2D.h" #endif #ifndef _TGVECTOR2D_H_ #include "TGVector2D.h" #endif #ifndef _TPGELINE2D_H_ #include "TPGeLine2D.h" #endif #ifndef _TGPOINT_H_ #include "TGPoint.h" #endif #ifndef _TTABLE_H_ #include "TTable.h" #endif #ifndef _TGMATRIX_H_ #include "TGMatrix.h" #endif #ifndef _TGOBJECT_H_ #include "TGObject.h" #endif #ifndef _TGOBJECTLIST_H_ #include "TGObjectList.h" #endif #ifndef _TWFLAG_H_ #include "TWFlag.h" #endif class TGObject3D; class GEOAPI TPGeGLine2D:public TPGeCurve2D,public TPGeLine2D { DECLARE_RUN_TIME_CLASS(TPGeGLine2D) public: TPGeGLine2D(); TPGeGLine2D(const TGVector2D&vt,const TGPoint&pt); TPGeGLine2D(const TGPoint&pt0,const TGPoint&pt1); TPGeGLine2D(const TPGeLine2D&line); virtual ~TPGeGLine2D(); //重载 TPGeCurve2D virtual bool IsClosed() const; virtual bool IsFinite(bool bStart) const; virtual void Pa2Pt(double pa,TGPoint&pt) const; virtual void Pt2Pa(const TGPoint&pt,double&pa) const; virtual void GetTangent(double pa,TPGeLine2D&line) const; virtual double Integration(double pa0,double pa1) const; virtual void Reverse(); virtual void Split(const TTable &paTable,TGObjectList&res) const; virtual TPGeCurve2D* GetSubCurve(double pa0,double pa1) const; virtual bool Offset(double offset); //重载 TGObject2D virtual double GetElev() const; virtual void SetElev(double elev); virtual TGObject3D* Convert3D() const; //重载 TGObject virtual TGObject * Clone() const; virtual bool IsValid() const; virtual bool IsInclude(const TGObject&obj) const; virtual bool Intersect(const TGObject&obj,TGObjectList&res) const; virtual void TransformBy(const TGMatrix&matrix); virtual GRelation HitTest(const TGPoint&pt) const; const TPGeLine2D &GetGeLine() const; }; #endif