/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #ifndef _IGES_IMPORT_ENTITY_CONVERTERS_H_ #define _IGES_IMPORT_ENTITY_CONVERTERS_H_ #include "RxObject.h" #include "DbEntity.h" #include "daiModel.h" #include "IgesImportEntitiesPE.h" #include "Db3dSolid.h" #include "DbPolyline.h" #include "DbBody.h" #include "DbSurface.h" #include "DbRegion.h" #include "DbBlockReference.h" #include "DbSolid.h" #include "DbText.h" #include "DbHatch.h" #include "DbRadialDimension.h" #include "DbDiametricDimension.h" #include "Db3dPolyline.h" #include "Db2LineAngularDimension.h" #include "DbArcDimension.h" #include "DbRotatedDimension.h" #include "Db3PointAngularDimension.h" #include "DbAlignedDimension.h" /** \details Contains declarations related to the functionality of converting data from the .dwg to the IGES format. */ namespace DWG_IGES_IMPORT { class IgesImportEntityConverters { OdStaticRxObject< DbDiametricDimensionConverterPE > m_dbDiametricDimensionConverterPE; OdStaticRxObject< DbRadialDimensionConverterPE > m_dbRadialDimensionConverterPE; OdStaticRxObject< DbCurveConverterPE > m_dbCurveConverterPE; OdStaticRxObject< DbPolylineConverterPE > m_dbPolylineConverterPE; OdStaticRxObject< Db3dPolylineConverterPE > m_db3dPolylineConverterPE; OdStaticRxObject< Db3dSolidConverterPE > m_db3dSolidConverterPE; OdStaticRxObject< DbBodyConverterPE > m_dbBodyConverterPE; OdStaticRxObject< DbSurfaceConverterPE > m_dbSurfaceConverterPE; OdStaticRxObject< DbRegionConverterPE > m_dbRegionConverterPE; OdStaticRxObject< DbRadialDimensionConverterPE > m_radialDimensionConverter; //OdStaticRxObject< DbBlockReferenceConverterPE > m_dbBlockReferenceConverterPE; OdStaticRxObject< DbTextConverterPE > m_dbTextConverterPE; OdStaticRxObject< DbHatchConverterPE > m_dbHatchConverterPE; OdStaticRxObject< Db2LineAngularDimensionConverterPE > m_db2LineAngularDimensionConverterPE; OdStaticRxObject< Db3PointAngularDimensionConverterPE > m_db3PointAngularDimensionConverterPE; OdStaticRxObject< DbRotatedDimensionConverterPE > m_dbRotatedDimensionConverterPE; OdStaticRxObject< DbAlignedDimensionConverterPE > m_dbAlignedDimensionConverterPE; public: /**********************************************************************/ /* Add Protocol Extensions */ /**********************************************************************/ void addXs() { IgesImportConverterPE ::rxInit(); DbRadialDimensionConverterPE ::rxInit(); DbDiametricDimensionConverterPE ::rxInit(); DbCurveConverterPE ::rxInit(); DbPolylineConverterPE ::rxInit(); Db3dPolylineConverterPE ::rxInit(); Db3dSolidConverterPE ::rxInit(); DbBodyConverterPE ::rxInit(); DbSurfaceConverterPE ::rxInit(); DbRegionConverterPE ::rxInit(); //DbBlockReferenceConverterPE ::rxInit(); DbTextConverterPE ::rxInit(); DbHatchConverterPE ::rxInit(); Db2LineAngularDimensionConverterPE ::rxInit(); Db3PointAngularDimensionConverterPE::rxInit(); DbRotatedDimensionConverterPE ::rxInit(); DbAlignedDimensionConverterPE ::rxInit(); OdDbDiametricDimension ::desc()->addX(IgesImportConverterPE::desc(), &m_dbDiametricDimensionConverterPE); OdDbRadialDimension ::desc()->addX(IgesImportConverterPE::desc(), &m_dbRadialDimensionConverterPE); OdDbCurve ::desc()->addX(IgesImportConverterPE::desc(), &m_dbCurveConverterPE); OdDbPolyline ::desc()->addX(IgesImportConverterPE::desc(), &m_dbPolylineConverterPE); OdDb3dPolyline ::desc()->addX(IgesImportConverterPE::desc(), &m_db3dPolylineConverterPE); OdDb3dSolid ::desc()->addX(IgesImportConverterPE::desc(), &m_db3dSolidConverterPE); OdDbBody ::desc()->addX(IgesImportConverterPE::desc(), &m_dbBodyConverterPE); OdDbSurface ::desc()->addX(IgesImportConverterPE::desc(), &m_dbSurfaceConverterPE); OdDbRegion ::desc()->addX(IgesImportConverterPE::desc(), &m_dbRegionConverterPE); //OdDbBlockReference ::desc()->addX(IgesImportConverterPE::desc(), &m_dbBlockReferenceConverterPE); OdDbText ::desc()->addX(IgesImportConverterPE::desc(), &m_dbTextConverterPE); OdDbHatch ::desc()->addX(IgesImportConverterPE::desc(), &m_dbHatchConverterPE); OdDb2LineAngularDimension ::desc()->addX(IgesImportConverterPE::desc(), &m_db2LineAngularDimensionConverterPE); OdDb3PointAngularDimension ::desc()->addX(IgesImportConverterPE::desc(), &m_db3PointAngularDimensionConverterPE); OdDbRotatedDimension ::desc()->addX(IgesImportConverterPE::desc(), &m_dbRotatedDimensionConverterPE); OdDbAlignedDimension ::desc()->addX(IgesImportConverterPE::desc(), &m_dbAlignedDimensionConverterPE); } // end addXs /**********************************************************************/ /* Delete Protocol Extensions */ /**********************************************************************/ void delXs() { OdDbDiametricDimension ::desc()->delX(IgesImportConverterPE::desc()); OdDbRadialDimension ::desc()->delX(IgesImportConverterPE::desc()); OdDbCurve ::desc()->delX(IgesImportConverterPE::desc()); OdDbPolyline ::desc()->delX(IgesImportConverterPE::desc()); OdDb3dPolyline ::desc()->delX(IgesImportConverterPE::desc()); OdDb3dSolid ::desc()->delX(IgesImportConverterPE::desc()); OdDbBody ::desc()->delX(IgesImportConverterPE::desc()); OdDbSurface ::desc()->delX(IgesImportConverterPE::desc()); OdDbRegion ::desc()->delX(IgesImportConverterPE::desc()); //OdDbBlockReference ::desc()->delX(IgesImportConverterPE::desc()); OdDbText ::desc()->delX(IgesImportConverterPE::desc()); OdDbHatch ::desc()->delX(IgesImportConverterPE::desc()); OdDb2LineAngularDimension ::desc()->delX(IgesImportConverterPE::desc()); OdDb3PointAngularDimension ::desc()->delX(IgesImportConverterPE::desc()); OdDbArcDimension ::desc()->delX(IgesImportConverterPE::desc()); OdDbRotatedDimension ::desc()->delX(IgesImportConverterPE::desc()); OdDbAlignedDimension ::desc()->delX(IgesImportConverterPE::desc()); DbAlignedDimensionConverterPE ::rxUninit(); DbRotatedDimensionConverterPE ::rxUninit(); Db3PointAngularDimensionConverterPE::rxUninit(); Db2LineAngularDimensionConverterPE ::rxUninit(); DbHatchConverterPE ::rxUninit(); DbTextConverterPE ::rxUninit(); //DbBlockReferenceConverterPE ::rxUninit(); DbRegionConverterPE ::rxUninit(); DbSurfaceConverterPE ::rxUninit(); DbBodyConverterPE ::rxUninit(); Db3dSolidConverterPE ::rxUninit(); Db3dPolylineConverterPE ::rxUninit(); DbPolylineConverterPE ::rxUninit(); DbCurveConverterPE ::rxUninit(); DbDiametricDimensionConverterPE ::rxUninit(); DbRadialDimensionConverterPE ::rxUninit(); IgesImportConverterPE ::rxUninit(); } }; } #endif // _IGES_IMPORT_ENTITY_CONVERTERS_H_