//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd. // = FileName : TGGeEntity 类 // = Version : ver2.0 // = Author : wlw // = CreateDate : 2002-09-09 // = Description: TGGeEntity 类声明 // = Maintainers: // //-----------------------------------------------------------------------------+ #ifndef _TGGEENTITY_H_ #define _TGGEENTITY_H_ #ifndef _TADSGEPOINT3D_H_ #include "TADSGePoint3d.h" #endif class GEOAPI TGGeEntity { 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 TGGeEntity* pImpSrc); virtual void TransformBy(ads_matrix mat); virtual int GetExtend(TADSGePoint3d &ptlow, TADSGePoint3d &ptup) const; //图形长度,周长 virtual double GetLength() const; virtual int Make(const TCHAR *szlay = NULL) const; virtual int MakeEntity(const TEntitySet* pEntity) const; virtual int HitTest2d(const TADSGePoint3d &ptTest) const; virtual int OSnap(int nMode, TADSGePoint3d &ptPick) const; protected: TGGeEntity(); virtual ~TGGeEntity(); }; #endif