//-----------------------------------------------------------------------------+ // 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