Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

MrDwgViewportDraw.h
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 "hc.h"
00013 #include "MrDwgReader.h"
00014 #include <vector>
00015 #include <acgi.h>
00016 
00017 class MrDwgReader;
00018 
00019 class MrDwgViewportDraw : public AcGiViewportDraw
00020 {
00021 public:
00022     ACRX_DECLARE_MEMBERS(MrDwgViewportDraw);
00023     MrDwgViewportDraw(std::vector<HC_KEY> * keys, MrDwgReader * reader);
00024     ~MrDwgViewportDraw();
00025 
00026     void setEntity(AcDbEntity * pEnt);
00027     AcGiViewport& viewport() const;
00028     AcGiViewportGeometry& geometry() const;
00029     Adesk::UInt32 sequenceNumber() const;
00030     Adesk::Boolean isValidId(const Adesk::ULongPtr acgiId) const;
00031     AcDbObjectId viewportObjectId() const;
00032 
00033     AcGiRegenType regenType() const;
00034     Adesk::Boolean regenAbort() const;
00035     AcGiSubEntityTraits& subEntityTraits() const;
00036     AcGiGeometry * rawGeometry() const;
00037     Adesk::Boolean isDragging() const;
00038 
00039     double deviation(const AcGiDeviationType, const AcGePoint3d&) const;
00040     Adesk::UInt32 numberOfIsolines() const;
00041     
00042     AcGiContext * context();
00043     AcDbEntity * GetCurrentEntity() const;
00044 
00045 private:
00046     AcGiViewport * mpVp;
00047     AcGiViewportGeometry * mpVpGeometry;
00048     AcDbObjectId mpObjId;
00049 
00050     AcGiSubEntityTraits * mpSubEntityTraits;
00051     AcGiContext * mpContext;
00052     AcGiRegenType mRegenType;
00053 
00054     AcDbEntity * m_pAcDbEntity;
00055 };