115 lines
2.2 KiB
C++
115 lines
2.2 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
|
|
// = FileName : TPGeGLineSeg3D.h
|
|
// = Version : ver2.0
|
|
// = Author : xlc
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: ÀàµÄÉùÃ÷
|
|
// = Maintainers:
|
|
//
|
|
//-----------------------------------------------------------------------------+
|
|
#ifndef _TPGEGLINESEG3D_H_
|
|
#define _TPGEGLINESEG3D_H_
|
|
|
|
#ifndef _TPGECURVE3D_H_
|
|
#include "TPGeCurve3D.h"
|
|
#endif
|
|
|
|
#ifndef _TGVECTOR3D_H_
|
|
#include "TGVector3D.h"
|
|
#endif
|
|
|
|
#ifndef _TPGEGLINE3D_H_
|
|
#include "TPGeGLine3D.h"
|
|
#endif
|
|
|
|
#ifndef _TGPOINT_H_
|
|
#include "TGPoint.h"
|
|
#endif
|
|
|
|
#ifndef _TTABLE_H_
|
|
#include "TTable.h"
|
|
#endif
|
|
|
|
#ifndef _TPGEEXTEND2D_H_
|
|
#include "TPGeExtend2D.h"
|
|
#endif
|
|
|
|
#ifndef _TPGEEXTEND3D_H_
|
|
#include "TPGeExtend3D.h"
|
|
#endif
|
|
|
|
#ifndef _TGOBJECT_H_
|
|
#include "TGObject.h"
|
|
#endif
|
|
|
|
#ifndef _TGOBJECTLIST_H_
|
|
#include "TGObjectList.h"
|
|
#endif
|
|
|
|
#ifndef _TWFLAG_H_
|
|
#include "TWFlag.h"
|
|
#endif
|
|
|
|
#ifndef _TGMLINE2D_H_
|
|
#include "TGMLine2D.h"
|
|
#endif
|
|
|
|
class TGObject2D;
|
|
|
|
class GEOAPI TPGeGLineSeg3D : public TPGeGLine3D
|
|
{
|
|
DECLARE_RUN_TIME_CLASS(TPGeGLineSeg3D)
|
|
public:
|
|
|
|
TPGeGLineSeg3D();
|
|
|
|
TPGeGLineSeg3D(const TPGeLine3D& line);
|
|
|
|
TPGeGLineSeg3D(const TGVector3D& vt,const TGPoint& pt);
|
|
|
|
TPGeGLineSeg3D(const TGPoint& pt0,const TGPoint& pt1);
|
|
|
|
virtual ~TPGeGLineSeg3D();
|
|
//ÖØÔØ TPGeCurve3D
|
|
virtual double Length()const;
|
|
|
|
virtual bool IsFinite(bool bStart)const;
|
|
|
|
virtual void GetStartPoint(TGPoint&pt)const;
|
|
|
|
virtual void GetEndPoint(TGPoint&pt)const;
|
|
|
|
virtual void Reverse();
|
|
|
|
virtual void Split(const TTable<double>& paTable,TGObjectList& res)const;
|
|
|
|
//ÖØÔØ TGObject3D
|
|
virtual TGObject2D* Convert2D()const;
|
|
|
|
//ÖØÔØ TGObject
|
|
virtual TGObject * Clone()const;
|
|
|
|
virtual bool Intersect(const TGObject& obj,TGObjectList& res)const;
|
|
|
|
virtual GRelation HitTest(const TGPoint& pt)const;
|
|
|
|
virtual bool IsInclude(const TGObject& obj)const;
|
|
|
|
virtual bool GetExtend2D(TPGeExtend2D& ext)const;
|
|
|
|
virtual bool GetExtend3D(TPGeExtend3D& ext)const;
|
|
|
|
const TGPoint& GetStartPoint()const;
|
|
|
|
TGPoint GetEndPoint()const;
|
|
|
|
TGPoint GetMidPoint()const;
|
|
|
|
const TPGeLine3D &GetGeLine()const;
|
|
|
|
bool IsSameSeg(const TPGeGLineSeg3D& seg, bool bSameDirection = false)const;
|
|
|
|
};
|
|
|
|
#endif |