/////////////////////////////////////////////////////////////////////////////// // 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. /////////////////////////////////////////////////////////////////////////////// // StepImportProperties.h: interface for the OdStepImportProperties class. // ////////////////////////////////////////////////////////////////////// #if !defined(ODA_ODSTEPIMPORTPROPERTIES_H_INCLUDED_) #define ODA_ODSTEPIMPORTPROPERTIES_H_INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "RxDispatchImpl.h" #include "../Drawing/Include/DbDatabase.h" #include "StepHostAppServices.h" /** \details Contains declarations related to the functionality of converting data from the .dwg to the STEP format. */ namespace DWG_STEP_IMPORT { /** \details The class that stores and operates the set of .dwg to .step conversion properties. */ class OdStepImportProperties : public OdRxDispatchImpl<> { //DOM-IGNORE-BEGIN OdInt16 _schemaVersion; OdSmartPtr _stepServices; OdDbDatabasePtr _dwgDb; OdInt16 _conversionMode; OdStepFilePtr _StepModel; OdIntPtr _FileMatrix; OdString _RootProductName; OdString _logFilePath; //DOM-IGNORE-END public: //DOM-IGNORE-BEGIN ODRX_DECLARE_DYNAMIC_PROPERTY_MAP(OdStepImportProperties); //DOM-IGNORE-END /** \details Creates an instance of .dwg to .step conversion properties with default parameters. \returns A smart pointer to the Rx dictionary object that contains properties values. */ static OdRxDictionaryPtr createObject(); /** \details Retrieves the current schema version used for the conversion. \returns A 16-bit unsigned integer value that represents the schema version. */ const OdInt16 get_SchemaVersion() const { return _schemaVersion; } /** \details Sets a new schema version used for the conversion. \param ver [in] A 16-bit unsigned integer value that represents the schema version. */ void put_SchemaVersion(OdInt16 ver) { _schemaVersion = ver; } /** \details Sets a directory of execution files. \param stepServices [in] An OdString object that contains the current directory of execution files. */ void put_StepServices(OdSmartPtr stepServices) { _stepServices = stepServices; } /** \details Retrieves the current directory of execution files. \returns An OdString object that contains the current directory of execution files. */ const OdSmartPtr get_StepServices() const { return _stepServices; } /** \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 step root product name. \returns The string with step root product name. */ OdString get_RootProductName() const { return _RootProductName; } /** \details Sets step root product name. \param rootProductName [in] A string with step root product name. */ void put_RootProductName(OdString rootProductName) { _RootProductName = rootProductName; } /** \details Retrieves the resultant STEP AP model. \returns A smart pointer to the OdStepFile object. */ OdRxObjectPtr get_StepModel() const { return _StepModel.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 step model to convert into. If STEP AP model is defined, all conversion will be performed into it, so several .dwg files can be collected into the single STEP model. \param db [in] A smart pointer to the OdStepFile object. */ void put_StepModel(OdRxObject* stepModel) { ODA_FAIL_M("Step model is created once for StepImporter and shouldn't be assigned outside. This method shouldn't be used."); throw OdError(eNotApplicable); } friend class OdStepImporter; //DOM-IGNORE-END }; /** \details A data type that represents a smart pointer to an OdStepImportProperties object. */ typedef OdSmartPtr OdStepImportPropertiesPtr; } #endif // !defined(ODA_ODSTEPIMPORTPROPERTIES_H_INCLUDED_)