81 lines
1.7 KiB
C++
81 lines
1.7 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
|
|
// = FileName : TGPoint3D.h
|
|
// = Version : ver2.0
|
|
// = Author : xlc
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: ÀàµÄÉùÃ÷
|
|
// = Maintainers:
|
|
//
|
|
//-----------------------------------------------------------------------------+
|
|
#ifndef _TGPOINT3D_H_
|
|
#define _TGPOINT3D_H_
|
|
|
|
#ifndef _TGOBJECT3D_H_
|
|
#include "TGObject3D.h"
|
|
#endif
|
|
|
|
#ifndef _TGPOINT_H_
|
|
#include "TGPoint.h"
|
|
#endif
|
|
|
|
#ifndef _TGOBJECT_H_
|
|
#include "TGObject.h"
|
|
#endif
|
|
|
|
#ifndef _TGOBJECTLIST_H_
|
|
#include "TGObjectList.h"
|
|
#endif
|
|
|
|
#ifndef _TGMATRIX_H_
|
|
#include "TGMatrix.h"
|
|
#endif
|
|
|
|
#ifndef _TPGEEXTEND2D_H_
|
|
#include "TPGeExtend2D.h"
|
|
#endif
|
|
|
|
#ifndef _TPGEEXTEND3D_H_
|
|
#include "TPGeExtend3D.h"
|
|
#endif
|
|
|
|
#ifndef _TWFLAG_H_
|
|
#include "TWFlag.h"
|
|
#endif
|
|
|
|
class TGObject2D;
|
|
|
|
class GEOAPI TGPoint3D : public TGObject3D,public TGPoint
|
|
{
|
|
DECLARE_RUN_TIME_CLASS(TGPoint3D)
|
|
|
|
public:
|
|
TGPoint3D(double *p);
|
|
TGPoint3D(float *p);
|
|
TGPoint3D(const TGPoint& pt);
|
|
TGPoint3D(double X = 0, double Y = 0, double Z = 0);
|
|
virtual ~TGPoint3D();
|
|
|
|
//override TGObject3D
|
|
virtual TGObject2D *Convert2D() const;
|
|
|
|
//override TGObject
|
|
virtual void TransformBy(const TGMatrix& matrix);
|
|
|
|
virtual bool IsValid() const;
|
|
virtual bool IsInclude(const TGObject& obj) const;
|
|
virtual bool Intersect(const TGObject& obj,TGObjectList& res) const;
|
|
|
|
virtual bool GetExtend3D(TPGeExtend3D& ext) const;
|
|
virtual bool GetExtend2D(TPGeExtend2D& ext) const;
|
|
|
|
virtual TGObject* Clone() const;
|
|
virtual GRelation HitTest(const TGPoint& pt) const;
|
|
|
|
virtual TGPoint GetSamplePoint() const;
|
|
|
|
double Distance(const TGPoint& pt) const;
|
|
|
|
};
|
|
|
|
#endif |