Classes

struct  dimensionData
 
struct  mLineStyleDefComponent
 
struct  viewportData
 

Public Member Functions

virtual void importDatabase (AcDbDatabase *pDatabase)
 
 MrDwgReader (bool skip_unreferenced_blocks, int attribute_precision_mode, wchar_t *texture_directory)
 

Public Attributes

HC_KEY entityInsertionSegment
 
int m_attributePrecisionMode
 
std::map< std::wstring, std::string > m_fontmap
 
bool m_generatedDouble
 
mTextData m_multiline_text_info
 

Protected Types

typedef std::vector< mLineStyleDefComponentmLineStyleDef
 

Protected Member Functions

virtual bool applyEntityLinetype (AcDbEntity *pEnt)
 
virtual void DrawEntity (AcDbEntity *pEnt, AcGiRegenType regenType)
 
virtual HC_KEY GetAttrStateSegKey (AcDbEntity *pEnt, bool is_zombie_entity=false)
 
virtual HC_KEY GetBlockTableRecordSegKey (AcDbBlockTableRecord *pRecord)
 
virtual HC_KEY GetLayerSegKey (ACHAR *layoutName)
 
virtual HC_KEY GetLayoutSegKey (ACHAR *layoutName)
 
virtual void importAcDb2dPolyline (AcDbEntity *pEnt)
 
virtual void importAcDb2dVertex (AcDbEntity *pEnt)
 
virtual void importAcDb2LineAngularDimension (AcDbEntity *pEnt)
 
virtual void importAcDb3dPolyline (AcDbEntity *pEnt)
 
virtual void importAcDb3dPolylineVertex (AcDbEntity *pEnt)
 
virtual void importAcDb3dSolid (AcDbEntity *pEnt)
 
virtual void importAcDb3PointAngularDimension (AcDbEntity *pEnt)
 
virtual void importAcDbAlignedDimension (AcDbEntity *pEnt)
 
virtual void importAcDbArc (AcDbEntity *pEnt)
 
virtual void importAcDbAttribute (AcDbEntity *pEnt)
 
virtual void importAcDbAttributeDefinition (AcDbEntity *pEnt)
 
virtual void importAcDbBlockBegin (AcDbEntity *pEnt)
 
virtual void importAcDbBlockEnd (AcDbEntity *pEnt)
 
virtual void importAcDbBlockReference (AcDbEntity *pEnt)
 
virtual void importAcDbBody (AcDbEntity *pEnt)
 
virtual void importAcDbCircle (AcDbEntity *pEnt)
 
virtual void importAcDbCurve (AcDbEntity *pEnt)
 
virtual void importAcDbDiametricDimension (AcDbEntity *pEnt)
 
virtual void importAcDbDimension (AcDbEntity *pEnt)
 
virtual void importAcDbEllipse (AcDbEntity *pEnt)
 
virtual void importAcDbFace (AcDbEntity *pEnt)
 
virtual void importAcDbFaceRecord (AcDbEntity *pEnt)
 
virtual void importAcDbFcf (AcDbEntity *pEnt)
 
virtual void importAcDbFrame (AcDbEntity *pEnt)
 
virtual void importAcDbHatch (AcDbEntity *pEnt)
 
virtual void importAcDbLeader (AcDbEntity *pEnt)
 
virtual void importAcDbLine (AcDbEntity *pEnt)
 
virtual void importAcDbMInsertBlock (AcDbEntity *pEnt)
 
virtual void importAcDbMline (AcDbEntity *pEnt)
 
virtual void importAcDbMText (AcDbEntity *pEnt)
 
virtual void importAcDbMTextFragment (AcDbMTextFragment *pAcDbMTextFragment, AcDbEntity *pEnt)
 
virtual void importAcDbOle2Frame (AcDbEntity *pEnt)
 
virtual void importAcDbOleFrame (AcDbEntity *pEnt)
 
virtual void importAcDbOrdinateDimension (AcDbEntity *pEnt)
 
virtual void importAcDbPoint (AcDbEntity *pEnt)
 
virtual void importAcDbPolyFaceMesh (AcDbEntity *pEnt)
 
virtual void importAcDbPolyFaceMeshVertex (AcDbEntity *pEnt)
 
virtual void importAcDbPolygonMesh (AcDbEntity *pEnt)
 
virtual void importAcDbPolygonMeshVertex (AcDbEntity *pEnt)
 
virtual void importAcDbPolyline (AcDbEntity *pEnt)
 
virtual void importAcDbProxyEntity (AcDbEntity *pEnt)
 
virtual void importAcDbRadialDimension (AcDbEntity *pEnt)
 
virtual void importAcDbRasterImage (AcDbEntity *pEnt)
 
virtual void importAcDbRay (AcDbEntity *pEnt)
 
virtual void importAcDbRegion (AcDbEntity *pEnt)
 
virtual void importAcDbRotatedDimension (AcDbEntity *pEnt)
 
virtual void importAcDbSequenceEnd (AcDbEntity *pEnt)
 
virtual void importAcDbShape (AcDbEntity *pEnt)
 
virtual void importAcDbSolid (AcDbEntity *pEnt)
 
virtual void importAcDbSpline (AcDbEntity *pEnt)
 
virtual void importAcDbTable (AcDbEntity *pEnt)
 
virtual void importAcDbText (AcDbEntity *pEnt)
 
virtual void importAcDbTrace (AcDbEntity *pEnt)
 
virtual void importAcDbVertex (AcDbEntity *pEnt)
 
virtual void importAcDbViewport (AcDbEntity *pEnt)
 
virtual void importAcDbWipeout (AcDbEntity *pEnt)
 
virtual void importAcDbXline (AcDbEntity *pEnt)
 
virtual void importAcDbZombieEntity (AcDbEntity *pEnt)
 
virtual void importBlockTable (AcDbBlockTable *pBlockTable)
 
virtual void importDwfInfo (AcDbDatabase *pDatabase)
 
virtual bool importEntity (AcDbEntity *pEnt)
 
void importEntityFromHandle (AcDbHandle handle)
 
virtual void importLayerTable (AcDbLayerTable *pLayerTable)
 
virtual bool importLinetypeAndApply (AcDbLinetypeTableRecord *pLinetypeRecord, double scale)
 
virtual void importMlineStyleDictionary (AcDbDictionary *pDictionary)
 
void importOneBlockTableRecord (dimensionData *dimensions)
 
void importUnknownEntity (AcDbEntity *pEnt)
 
virtual void importViewportTable (AcDbViewportTable *pViewportTable)
 
virtual void importXdata (AcDbEntity *pEnt)
 
virtual void linkDimension (AcDbDimension *pDim)
 
void populate_fontmap ()
 
void ProcessMaterial (AcDbMaterial *material, AcGiMapper *material_mapper)
 
virtual void progress (double percentComplete) const
 
void recomputeAndImportDimensions (std::vector< dimensionData > *dimensionVector)
 
bool RecursiveFileSearch (const wchar_t *in_file_name, const wchar_t *in_file_path, wchar_t *out_file_found_path)
 
void restyleAndImportMText (mTextData *mtext_info)
 

Protected Attributes

int m_3dSolids
 
int m_blockCount
 
std::vector< HC_KEY > m_clips
 
std::vector< dimensionDatam_dimensions
 
std::map< AcDbHandle, HC_KEY > m_layerKeyMap
 
std::stringstream m_main_color_map
 
std::map< AcDbHandle, mLineStyleDef > m_MlineStyles
 
HC_KEY m_modelKey
 
HC_KEY m_modelRoot
 
std::map< AcDbHandle, HC_KEY > m_recordKeyMap
 
std::multimap< HC_KEY, AcDbHandle > m_referenceKeyMap
 
bool m_skip_unreferenced_blocks
 
wchar_t m_texture_directory [4096]
 
std::map< AcDbHandle, std::vector< viewportData > > m_viewportMap
 
std::set< std::wstring > m_xrefList
 

Friends

static friend int callback_AcDbMTextFragments (AcDbMTextFragment *frag, void *param)
 
void importAcDb2dPolyline (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDb2dVertex (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDb2LineAngularDimension (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDb3dPolyline (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDb3dPolylineVertex (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDb3dSolid (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDb3PointAngularDimension (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbAlignedDimension (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbArc (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbAttribute (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbAttributeDefinition (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbBlockBegin (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbBlockEnd (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbBlockReference (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbBody (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbCircle (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbCurve (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbDiametricDimension (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbDimension (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbEllipse (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbFace (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbFaceRecord (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbFcf (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbFrame (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbHatch (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbLeader (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbLine (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbMInsertBlock (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbMline (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbMText (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbOle2Frame (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbOleFrame (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbOrdinateDimension (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbPoint (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbPolyFaceMesh (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbPolyFaceMeshVertex (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbPolygonMesh (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbPolygonMeshVertex (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbPolyline (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbProxyEntity (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbRadialDimension (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbRasterImage (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbRay (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbRegion (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbRotatedDimension (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbSequenceEnd (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbShape (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbSolid (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbSpline (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbTable (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbText (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbTrace (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbVertex (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbViewport (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbWipeout (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbXline (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 
void importAcDbZombieEntity (MrDwgReader *mrDwgReader, AcDbEntity *pEnt)
 

The documentation for this class was generated from the following file: