//-------------------------------------------------------------------------------------------------------+ // Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd. // = FileName : TPGeGLineRay2D 类 // = Version : ver2.0 // = Author : wlw // = CreateDate : 2002-09-09 // = Description: TPGeGLineRay2D 声明 // = Maintainers: // //-------------------------------------------------------------------------------------------------------+ #ifndef _TPGEGLINERAY2D_H_ #define _TPGEGLINERAY2D_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 _TGOBJECT_H_ #include "TGObject.h" #endif #ifndef _TGOBJECTLIST_H_ #include "TGObjectList.h" #endif #ifndef _TWFLAG_H_ #include "TWFlag.h" #endif #ifndef _TPGEGLINE2D_H_ #include "TPGeGLine2D.h" #endif class TGObject3D; class GEOAPI TPGeGLineRay2D:public TPGeGLine2D { DECLARE_RUN_TIME_CLASS(TPGeGLineRay2D) public: TPGeGLineRay2D(); TPGeGLineRay2D(const TGVector2D& vt,const TGPoint& pt); TPGeGLineRay2D(const TGPoint& pt0,const TGPoint& pt1); TPGeGLineRay2D(const TPGeLine2D& line); virtual ~TPGeGLineRay2D(); //重载 TPGeCurve2D //存在区间[0,正无穷) virtual bool IsFinite(bool bStart) const; virtual void Split(const TTable& paTable,TGObjectList& res) const; virtual TPGeCurve2D* GetExtendCurve() const; //重载 TGObject2D virtual TGObject3D* Convert3D() const; //重载 TGObject virtual TGObject * Clone() const; virtual GRelation HitTest(const TGPoint& pt) const; virtual bool IsInclude(const TGObject& obj) const; virtual bool Intersect(const TGObject& obj,TGObjectList& res) const; bool IsSameRay(const TPGeGLineRay2D& ray) const; }; #endif