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

68 lines
1.3 KiB
C++

//-----------------------------------------------------------------------------+
// Copyright (C), 1998-2007, SH Software Co. Ltd.
// = FileName : XEntity 类
// = Version : ver2.0
// = Author : zjq
// = CreateDate : 2002-09-09
// = Description: XEntity 类声明
// = Maintainers:
//
//-----------------------------------------------------------------------------+
#ifndef _XENTITY_H_
#define _XENTITY_H_
#ifndef _XPOINT_H_
#include "XPoint.h"
#endif
class GEOAPI XEntity
{
public:
enum TEntityId
{
eEntity,
e3DFace,
ePlane,
eHatch,
eCurve,
eShape,
eCircle,
eArc,
eLinearEnt,
eLine,
eCurveSegment,
eAFace3D,
eDbCurveSegEntity,
eRegionSide,
eDirectionCurve,
eCurveSegSeg,
eCurveSegunique,
ePoly,
ePolygonEx,
ePoly2D,
ePoly3D,
eRegion2D
};
virtual bool IsKindOf(TEntityId entType) const;
virtual TEntityId Type() const;
virtual void CopyFrom(const XEntity* pImpSrc);
virtual void TransformBy(ads_matrix mat);
virtual int GetExtend(XPoint &ptlow, XPoint &ptup) const;
//图形长度,周长
virtual double GetLength() const;
virtual int Make(const TCHAR *szlay = NULL) const;
virtual int MakeEntity(const Entity* pEntity) const;
virtual int HitTest2d(const XPoint &ptTest) const;
virtual int OSnap(int nMode, XPoint &ptPick) const;
protected:
XEntity();
virtual ~XEntity();
};
#endif