Files
envi-code/SourceCode/Code2026/tg_shs/inc/subgeo/TPGeGLine3D.h
T

102 lines
2.0 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
//-----------------------------------------------------------------------------+
2026-09-28 15:28:50 +08:00
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TPGeGLine3D.h
// = Version : ver2.0
// = Author : xlc
// = CreateDate : 2002-09-09
2026-10-04 00:04:20 +08:00
// = Description: 类的声明
2026-09-28 15:28:50 +08:00
// = 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();
2026-10-04 00:04:20 +08:00
//重载 TPGeCurve3D
2026-09-28 15:28:50 +08:00
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<double> &paTable,TGObjectList&res) const;
virtual TPGeCurve3D* GetSubCurve(double pa0,double pa1) const;
2026-10-04 00:04:20 +08:00
//重载 TGObject3D
2026-09-28 15:28:50 +08:00
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