Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

MrDwgContext.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 <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 };