Files
envi-code/SourceCode/Code2026/tg_shs/inc/subgeo/TPGeGLineRay3D.h
T
2026-09-28 15:28:50 +08:00

88 lines
1.7 KiB
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
// = FileName : TPGeGLineRay3D.h
// = Version : ver2.0
// = Author : xlc
// = CreateDate : 2002-09-09
// = Description: 类的声明 射线
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#ifndef _TPGEGLINERAY3D_H_
#define _TPGEGLINERAY3D_H_
#ifndef _TPGECURVE2D_H_
#include "TPGeCurve2D.h"
#endif
#ifndef _TGVECTOR3D_H_
#include "TGVector3D.h"
#endif
#ifndef _TPGEGLINE3D_H_
#include "TPGeGLine3D.h"
#endif
#ifndef _TPGELINE3D_H_
#include "TPGeLine3D.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
class TGObject2D;
class GEOAPI TPGeGLineRay3D:public TPGeGLine3D
{
DECLARE_RUN_TIME_CLASS(TPGeGLineRay3D)
public:
TPGeGLineRay3D();
TPGeGLineRay3D(const TPGeLine3D&line);
TPGeGLineRay3D(const TGVector3D&vt,const TGPoint&pt);
TPGeGLineRay3D(const TGPoint&pt0,const TGPoint&pt1);
virtual ~TPGeGLineRay3D();
//重载 TPGeCurve3D
//存在区间[0,正无穷)
virtual bool IsFinite(bool bStart)const;
virtual void Split(const TTable<double> &paTable,TGObjectList&res)const;
//重载 TGObject3D
virtual TGObject2D* Convert2D()const;
//重载 TGObject
virtual TGObject * Clone()const;
virtual bool IsInclude(const TGObject&obj)const;
virtual bool Intersect(const TGObject&obj,TGObjectList&res)const;
virtual GRelation HitTest(const TGPoint&pt)const;
bool IsSameRay(const TPGeGLineRay3D&ray)const;
};
#endif