/////////////////////////////////////////////////////////////////////////////// // 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_IMPORTPROPERTIES_H_ #define _IGES_IMPORTPROPERTIES_H_ #include "RxDispatchImpl.h" #include "../Drawing/Include/DbDatabase.h" #include "Core/IgesHostAppServices.h" #include "Core/IgesFile.h" /** \details Contains declarations related to the functionality of converting data from the .dwg to the IGES format. */ namespace DWG_IGES_IMPORT { /** \details The class that stores and operates the set of .dwg to IGES conversion properties. */ class OdIgesImportProperties : public OdRxDispatchImpl<> { //DOM-IGNORE-BEGIN OdSmartPtr _igesServices; OdDbDatabasePtr _dwgDb; OdInt16 _conversionMode; IgesFilePtr _igesModel; OdIntPtr _fileMatrix; OdString _rootProductName; OdString _logFilePath; //DOM-IGNORE-END public: //DOM-IGNORE-BEGIN ODRX_DECLARE_DYNAMIC_PROPERTY_MAP(OdIgesImportProperties); //DOM-IGNORE-END /** \details Creates an instance of .dwg to IGES conversion properties with default parameters. \returns A smart pointer to the Rx dictionary object that contains properties values. */ static OdRxDictionaryPtr createObject(); /** \details Sets a directory of execution files. \param igesServices [in] An OdString object that contains the current directory of execution files. */ void put_IgesServices(OdSmartPtr igesServices) { _igesServices = igesServices; } /** \details Retrieves the current directory of execution files. \returns An OdString object that contains the current directory of execution files. */ const OdSmartPtr get_IgesServices() const { return _igesServices; } /** \details Retrieves the input drawing database object to be converted. \returns A smart pointer to the database object. */ OdRxObjectPtr get_DwgDatabase() const { return _dwgDb.get(); } /** \details Sets a new input drawing database. \param db [in] A smart pointer to the database object. */ void put_DwgDatabase(OdRxObject* oddbdatabase) { _dwgDb = oddbdatabase; } /** \details Retrieves the conversion options. \returns A int value that represents the set of conversion options flags. */ const OdInt16 get_ConversionMode() const { return _conversionMode; } /** \details Sets an conversion options. \param mode [in] A int value that represents the set of conversion options flags. */ void put_ConversionMode(OdInt16 mode) { _conversionMode = mode; } /** \details Retrieves a pointer to a file transformation matrix. \returns A pointer to the OdGeMatrix3d object. */ void put_FileMatrix(OdIntPtr fileMatrix) { _fileMatrix = fileMatrix; } /** \details Retrieves IGES root product name. \returns The string with IGES root product name. */ OdString get_RootProductName() const { return _rootProductName; } /** \details Sets IGES root product name. \param rootProductName [in] A string with IGES root product name. */ void put_RootProductName(OdString rootProductName) { _rootProductName = rootProductName; } /** \details Retrieves the resultant IGES model. \returns A smart pointer to the IgesFile object. */ OdRxObjectPtr get_IgesModel() const { return _igesModel.get(); } /** \details Retrieves current output text log file path. \returns The string with output text log file path. */ OdString get_LogFilePath() const { return _logFilePath; } /** \details Sets current output text log file path. \param rootProductName [in] A string with output text log file path. */ void put_LogFilePath(OdString logFilePath) { _logFilePath = logFilePath; } //DOM-IGNORE-BEGIN /** \details Sets a IGES model to convert into. If IGES model is defined, all conversion will be performed into it, so several .dwg files can be collected into the single IGES model. \param db [in] A smart pointer to the IgesFile object. */ void put_IgesModel(OdRxObject* igesModel) { ODA_FAIL_M("IGES model is created once for IgesImporter and shouldn't be assigned outside. This method shouldn't be used."); throw OdError(eNotApplicable); } friend class OdIgesImporter; //DOM-IGNORE-END }; /** \details A data type that represents a smart pointer to an OdIgesImportProperties object. */ typedef OdSmartPtr OdIgesImportPropertiesPtr; } #endif // _IGES_IMPORTPROPERTIES_H_