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;
19 
20 class MrDwgViewportDraw : public AcGiViewportDraw
21 {
22 public:
23  ACRX_DECLARE_MEMBERS(MrDwgViewportDraw);
24  MrDwgViewportDraw(std::vector<HC_KEY> * keys, MrDwgReader * reader);
26 
27  void setEntity(AcDbEntity * pEnt);
28  AcGiViewport& viewport() const;
29  AcGiViewportGeometry& geometry() const;
30  Adesk::UInt32 sequenceNumber() const;
31  Adesk::Boolean isValidId(const Adesk::ULongPtr acgiId) const;
32  AcDbObjectId viewportObjectId() const;
33 
34  AcGiRegenType regenType() const;
35  Adesk::Boolean regenAbort() const;
36  AcGiSubEntityTraits& subEntityTraits() const;
37  AcGiGeometry * rawGeometry() const;
38  Adesk::Boolean isDragging() const;
39 
40  double deviation(const AcGiDeviationType, const AcGePoint3d&) const;
41  Adesk::UInt32 numberOfIsolines() const;
42 
43  AcGiContext * context();
44  AcDbEntity * GetCurrentEntity() const;
45 
46 private:
47  AcGiViewport * mpVp;
48  MrDwgViewportGeometry * mpVpGeometry;
49  AcDbObjectId mpObjId;
50 
51  AcGiSubEntityTraits * mpSubEntityTraits;
52  AcGiContext * mpContext;
53  AcGiRegenType mRegenType;
54 
55  AcDbEntity * m_pAcDbEntity;
56 };
Definition: MrDwgReader.h:37
Definition: MrDwgViewportGeometry.h:17
Definition: MrDwgViewportDraw.h:20