MrDwgViewportDraw.h
1 // Copyright (c) Tech Soft 3D, Inc.
2 //
3 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4 // and considered a trade secret as defined under civil and criminal statutes.
5 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6 // unauthorized use or misappropriation of its trade secrets. Use of this information
7 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9 
10 #pragma once
11 
12 #include "hc.h"
13 #include "MrDwgReader.h"
14 #include <vector>
15 #include <acgi.h>
16 
17 class MrDwgReader;
18 
19 class MrDwgViewportDraw : public AcGiViewportDraw
20 {
21 public:
22  ACRX_DECLARE_MEMBERS(MrDwgViewportDraw);
23  MrDwgViewportDraw(std::vector<HC_KEY> * keys, MrDwgReader * reader);
25 
26  void setEntity(AcDbEntity * pEnt);
27  AcGiViewport& viewport() const;
28  AcGiViewportGeometry& geometry() const;
29  Adesk::UInt32 sequenceNumber() const;
30  Adesk::Boolean isValidId(const Adesk::ULongPtr acgiId) const;
31  AcDbObjectId viewportObjectId() const;
32 
33  AcGiRegenType regenType() const;
34  Adesk::Boolean regenAbort() const;
35  AcGiSubEntityTraits& subEntityTraits() const;
36  AcGiGeometry * rawGeometry() const;
37  Adesk::Boolean isDragging() const;
38 
39  double deviation(const AcGiDeviationType, const AcGePoint3d&) const;
40  Adesk::UInt32 numberOfIsolines() const;
41 
42  AcGiContext * context();
43  AcDbEntity * GetCurrentEntity() const;
44 
45 private:
46  AcGiViewport * mpVp;
47  AcGiViewportGeometry * mpVpGeometry;
48  AcDbObjectId mpObjId;
49 
50  AcGiSubEntityTraits * mpSubEntityTraits;
51  AcGiContext * mpContext;
52  AcGiRegenType mRegenType;
53 
54  AcDbEntity * m_pAcDbEntity;
55 };
Definition: MrDwgReader.h:35
Definition: MrDwgViewportDraw.h:19