//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd. // = FileName : TPGeGLine3D.h // = Version : ver2.0 // = Author : xlc // = CreateDate : 2002-09-09 // = Description: 类的声明 // = Maintainers: // //-----------------------------------------------------------------------------+ #ifndef _TPGEGLINE3D_H_ #define _TPGEGLINE3D_H_ #ifndef _TPGECURVE3D_H_ #include "TPGeCurve3D.h" #endif #ifndef _TGVECTOR3D_H_ #include "TGVector3D.h" #endif #ifndef _TPGELINE3D_H_ #include "TPGeLine3D.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 TGObject2D; class GEOAPI TPGeGLine3D:public TPGeCurve3D,public TPGeLine3D { DECLARE_RUN_TIME_CLASS(TPGeGLine3D) public: TPGeGLine3D(); TPGeGLine3D(const TGVector3D&vt,const TGPoint&pt); TPGeGLine3D(const TGPoint&pt0,const TGPoint&pt1); TPGeGLine3D(const TPGeLine3D&line); virtual ~TPGeGLine3D(); //重载 TPGeCurve3D 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 Reverse(); virtual void Split(const TTable &paTable,TGObjectList&res) const; virtual TPGeCurve3D* GetSubCurve(double pa0,double pa1) const; //重载 TGObject3D virtual TGObject * Clone() const; virtual TGObject2D* Convert2D() 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 TPGeLine3D& GetGeLine() const; }; #endif