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

48 lines
1.6 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