//-----------------------------------------------------------------------------+ // Copyright (C), 1998-2007, SH Software Co. Ltd. // = FileName : XAsdkCustomWorldDraw.h // = Version : ver2.0 // = Author : zjq // = CreateDate : 2002-09-09 // = Description: 类的声明 // = Maintainers: // //-----------------------------------------------------------------------------+ #ifndef _XAsdkCustomWorldDraw_H_ #define _XAsdkCustomWorldDraw_H_ #ifndef _XAsdkShellData_H_ #include "XAsdkShellData.h" #endif #ifndef _DLIST_H_ #include "DList.h" #endif #ifndef _XCurveStream_H_ #include "XCurveStream.h" #endif class XDcStream; // 用户worldDraw对象向实体worldDraw函数发送调用,实体将结束调用 // worldGeometry类的外形函数 // 在这种情况下,AsdkCustomWorldGeometry的外形成员函数将被调用 class GEOAPI XAsdkCustomWorldDraw : public AcGiWorldDraw { public: ACRX_DECLARE_MEMBERS(XAsdkCustomWorldDraw); XAsdkCustomWorldDraw(); virtual ~XAsdkCustomWorldDraw(); 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; DList& shellData(); XDcStream& curveData(); void setDeviation(double); void setStreamDc(XDcStream *pDc); private: AcGiSubEntityTraits* mpSubEntityTraits; AcGiWorldGeometry* mpWorldGeometry; double mDeviation; DList m_lstShellData; XCurveStream m_lstCurves; XDcStream* m_pStreamDc; AcGiContext* mpContext; }; #endif