Files
envi-code/SourceCode/Code2026/Dimension/GeLinearEnt.h
T

32 lines
1.1 KiB
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
#pragma once
2026-09-28 15:28:50 +08:00
#include "GeCurve.h"
class GeArc;
class GeCircle;
class GeLinearEnt : public GeCurve
{
public:
virtual bool IsKindOf(TEntityId entType) const;
virtual TEntityId Type() const;
virtual void TransformBy(ads_matrix mat);
virtual int GetExtend(ADSGePoint3d &ptlow, ADSGePoint3d &ptup) const;
2026-10-04 00:04:20 +08:00
//图形长度,周长
2026-09-28 15:28:50 +08:00
virtual ads_real GetLength() const;
virtual int Make(const TCHAR *szlay = NULL) const;
virtual int MakeEntity(const EntitySet* pEntity) const;
2026-10-04 00:04:20 +08:00
// 0--错误;1-左边;2-右边;3-起始点;4-终止点;5-线内;6-起始侧延长线;7-终止侧延长线
2026-09-28 15:28:50 +08:00
virtual int HitTest2d(const ADSGePoint3d &ptTest) const;
virtual ADSGePoint3d MidPoint() const;
virtual void SetPoints(const ADSGePoint3d& pt1, const ADSGePoint3d& pt2);
virtual int OSnap(int nMode, ADSGePoint3d &ptPick) const;
virtual int Intersection(const GeArc* pArc, ads_point ptrp1 = NULL, ads_point ptrp2 = NULL) const;
virtual int Intersection(const GeCircle* pCircle, ads_point ptrp1 = NULL, ads_point ptrp2 = NULL) const;
virtual void CopyFrom(const GeEntity* pImpSrc);
protected:
GeLinearEnt();
virtual ~GeLinearEnt();
};