114 lines
2.3 KiB
C++
114 lines
2.3 KiB
C++
//-------------------------------------------------------------------------------------------------------+
|
|
// 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<double> &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
|