48 lines
1.7 KiB
C++
48 lines
1.7 KiB
C++
//-----------------------------------------------------------------------------+
|
|
// Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd.
|
|
// = FileName : TGGeLinearEnt.h
|
|
// = Version : ver2.0
|
|
// = Author : xlc
|
|
// = CreateDate : 2002-09-09
|
|
// = Description: 线性图形基类TGGeLinearEnt类的声明
|
|
// = Maintainers:
|
|
//
|
|
//-----------------------------------------------------------------------------+
|
|
#ifndef _TGGELINEARENT_H_
|
|
#define _TGGELINEARENT_H_
|
|
|
|
#ifndef _TGGECURVE_H_
|
|
#include "TGGeCurve.h"
|
|
#endif
|
|
|
|
class TGGeArc;
|
|
class TGGeCircle;
|
|
class GEOAPI TGGeLinearEnt : public TGGeCurve
|
|
{
|
|
public:
|
|
virtual bool IsKindOf(TEntityId entType) const;
|
|
virtual TEntityId Type() const;
|
|
|
|
virtual void TransformBy(ads_matrix mat);
|
|
virtual int GetExtend(TADSGePoint3d &ptlow, TADSGePoint3d &ptup) const;
|
|
//图形长度,周长
|
|
virtual ads_real GetLength() const;
|
|
virtual int Make(const TCHAR *szlay = NULL) const;
|
|
virtual int MakeEntity(const TEntitySet* pEntity) const;
|
|
|
|
// 0--错误;1-左边;2-右边;3-起始点;4-终止点;5-线内;6-起始侧延长线;7-终止侧延长线
|
|
virtual int HitTest2d(const TADSGePoint3d &ptTest) const;
|
|
|
|
virtual TADSGePoint3d MidPoint() const;
|
|
virtual void SetPoints(const TADSGePoint3d& pt1, const TADSGePoint3d& pt2);
|
|
virtual int OSnap(int nMode, TADSGePoint3d &ptPick) const;
|
|
virtual int Intersection(const TGGeArc* pArc, ads_point ptrp1 = NULL, ads_point ptrp2 = NULL) const;
|
|
virtual int Intersection(const TGGeCircle* pCircle, ads_point ptrp1 = NULL, ads_point ptrp2 = NULL) const;
|
|
virtual void CopyFrom(const TGGeEntity* pImpSrc);
|
|
|
|
protected:
|
|
TGGeLinearEnt();
|
|
virtual ~TGGeLinearEnt();
|
|
};
|
|
|
|
#endif |