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 <acgi.h> 00013 00014 class MrDwgContext : public AcGiContext 00015 { 00016 public: 00017 MrDwgContext(); 00018 00019 // If this returns TRUE then we are regening for extents information. 00020 // Either draw yourself normally or pass one or more WCS points to the 00021 // candidate point function, whichever is quicker for you 00022 // 00023 Adesk::Boolean isRegenForExtents() const; 00024 void candidateWCSPoint(const AcGePoint3d & ptWCSCand); 00025 Adesk::Boolean isPsOut() const; 00026 Adesk::Boolean isPlotGeneration() const; 00027 bool isBoundaryClipping() const; 00028 00029 void pushModelTransform(const AcGeVector3d & vNormal); 00030 void pushModelTransform(const AcGeMatrix3d & xMat); 00031 void popModelTransform(); 00032 const AcGeMatrix3d & modelTransform() const; 00033 const AcGeMatrix3d & inverseModelTransform() const; 00034 00035 void pushBlockReference(AcDbBlockReference * pBlockReference); 00036 void popBlockReference(); 00037 AcDbBlockReference *blockReference() const; 00038 00039 AcDbDatabase *database() const; 00040 void setDatabase(AcDbDatabase * pDb); 00041 00042 protected: 00043 AcDbDatabase *m_pDb; 00044 };