//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, Beijing Tangent Software Co. Ltd. // = FileName : TGGiCustomWorldDraw.h // = Version : ver2.0 // = Author : xlc // = CreateDate : 2002-09-09 // = Description: 类的声明 // = Maintainers: // //-----------------------------------------------------------------------------+ #ifndef _TGGICUSTOMWORLDDRAW_H_ #define _TGGICUSTOMWORLDDRAW_H_ #ifndef _TGGISHELLDATA_H_ #include "TGGiShellData.h" #endif #ifndef _TDPTRLIST_H_ #include "TDPtrList.h" #endif #ifndef _TGGICURVESTREAM_H_ #include "TGGICurveStream.h" #endif class TGGiDrawStreamBase; // 用户worldDraw对象向实体worldDraw函数发送调用,实体将结束调用 // worldGeometry类的外形函数 // 在这种情况下,AsdkCustomWorldGeometry的外形成员函数将被调用 class GEOAPI TGGiCustomWorldDraw : public AcGiWorldDraw { public: ACRX_DECLARE_MEMBERS(TGGiCustomWorldDraw); TGGiCustomWorldDraw(); virtual ~TGGiCustomWorldDraw(); virtual AcGiRegenType regenType() const; virtual Adesk::Boolean regenAbort() const; virtual AcGiSubEntityTraits& subEntityTraits() const; virtual AcGiGeometry* rawGeometry() const; virtual AcGiContext* context(); virtual AcGiWorldGeometry& geometry() const; virtual Adesk::Boolean isDragging() const; virtual double deviation(const AcGiDeviationType, const AcGePoint3d&) const; virtual Adesk::UInt32 numberOfIsolines() const; TDPtrList& shellData(); TGGiDrawStreamBase& curveData(); void setDeviation(double); void setStreamDc(TGGiDrawStreamBase *pDc); private: AcGiSubEntityTraits* mpSubEntityTraits; AcGiWorldGeometry* mpWorldGeometry; double mDeviation; TDPtrList m_lstShellData; TGGiCurveStream m_lstCurves; TGGiDrawStreamBase* m_pStreamDc; AcGiContext* mpContext; }; #endif