00001 // Copyright (c) 1998-2014 by Tech Soft 3D, Inc. 00002 // 00003 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc., 00004 // and considered a trade secret as defined under civil and criminal statutes. 00005 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of 00006 // unauthorized use or misappropriation of its trade secrets. Use of this information 00007 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under 00008 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use. 00009 00010 #pragma once 00011 00012 #include "MrDwgContext.h" 00013 #include "MrDwgSubEntityTraits.h" 00014 #include "MrDwgWorldGeometry.h" 00015 #include "MrDwgReader.h" 00016 #include "hc.h" 00017 00018 #include <acgi.h> 00019 00020 class MrDwgWorldDraw : public AcGiWorldDraw 00021 { 00022 public: 00023 MrDwgWorldDraw(std::vector<HC_KEY> * keys, AcDbEntity * pEnt, MrDwgReader * reader); 00024 ~MrDwgWorldDraw(); 00025 00026 void setRegenType(AcGiRegenType r); 00027 AcGiRegenType regenType() const; 00028 Adesk::Boolean regenAbort() const; 00029 AcGiSubEntityTraits & subEntityTraits() const; 00030 AcGiWorldGeometry & geometry() const; 00031 AcGiGeometry *rawGeometry() const; 00032 Adesk::Boolean isDragging() const; 00033 double deviation(const AcGiDeviationType, const AcGePoint3d &) const; 00034 Adesk::UInt32 numberOfIsolines() const; 00035 00036 AcGiContext *context(); 00037 void regenerate(AcDbEntity * pEntity); 00038 void regenerate(AcDbBlockTableRecord * pBTR); 00039 00040 MrDwgContext * mpContext; 00041 MrDwgSubEntityTraits * mpTraits; 00042 MrDwgWorldGeometry * mpGeom; 00043 AcGiRegenType m_regenType; 00044 };