88 lines
1.7 KiB
C++
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 |