|
||||
File indexing completed on 2025-01-18 10:04:43
0001 // Copyright (c) 2022 OPEN CASCADE SAS 0002 // 0003 // This file is part of Open CASCADE Technology software library. 0004 // 0005 // This library is free software; you can redistribute it and/or modify it under 0006 // the terms of the GNU Lesser General Public License version 2.1 as published 0007 // by the Free Software Foundation, with special exception defined in the file 0008 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 0009 // distribution for complete text of the license and disclaimer of any warranty. 0010 // 0011 // Alternatively, this file may be used under the terms of Open CASCADE 0012 // commercial license or contractual agreement. 0013 0014 #ifndef _RWObj_ConfigurationNode_HeaderFile 0015 #define _RWObj_ConfigurationNode_HeaderFile 0016 0017 #include <DE_ConfigurationNode.hxx> 0018 #include <RWMesh_CoordinateSystem.hxx> 0019 0020 //! The purpose of this class is to configure the transfer process for OBJ format 0021 //! Stores the necessary settings for RWObj_Provider. 0022 //! Configures and creates special provider to transfer OBJ files. 0023 //! 0024 //! Nodes grouped by Vendor name and Format type. 0025 //! The Vendor name is "OCC" 0026 //! The Format type is "OBJ" 0027 //! The supported CAD extension is ".obj" 0028 //! The import process is supported. 0029 //! The export process is supported. 0030 class RWObj_ConfigurationNode : public DE_ConfigurationNode 0031 { 0032 DEFINE_STANDARD_RTTIEXT(RWObj_ConfigurationNode, DE_ConfigurationNode) 0033 public: 0034 0035 //! Initializes all field by default 0036 Standard_EXPORT RWObj_ConfigurationNode(); 0037 0038 //! Copies values of all fields 0039 //! @param[in] theNode object to copy 0040 Standard_EXPORT RWObj_ConfigurationNode(const Handle(RWObj_ConfigurationNode)& theNode); 0041 0042 //! Updates values according the resource 0043 //! @param[in] theResource input resource to use 0044 //! @return true if theResource loading has ended correctly 0045 Standard_EXPORT virtual bool Load(const Handle(DE_ConfigurationContext)& theResource) Standard_OVERRIDE; 0046 0047 //! Writes configuration to the string 0048 //! @return result resource string 0049 Standard_EXPORT virtual TCollection_AsciiString Save() const Standard_OVERRIDE; 0050 0051 //! Copies values of all fields 0052 //! @return new object with the same field values 0053 Standard_EXPORT virtual Handle(DE_ConfigurationNode) Copy() const Standard_OVERRIDE; 0054 0055 //! Creates new provider for the own format 0056 //! @return new created provider 0057 Standard_EXPORT virtual Handle(DE_Provider) BuildProvider() Standard_OVERRIDE; 0058 0059 public: 0060 0061 //! Checks the import supporting 0062 //! @return true if import is supported 0063 Standard_EXPORT virtual bool IsImportSupported() const Standard_OVERRIDE; 0064 0065 //! Checks the export supporting 0066 //! @return true if export is supported 0067 Standard_EXPORT virtual bool IsExportSupported() const Standard_OVERRIDE; 0068 0069 //! Gets CAD format name of associated provider 0070 //! @return provider CAD format 0071 Standard_EXPORT virtual TCollection_AsciiString GetFormat() const Standard_OVERRIDE; 0072 0073 //! Gets provider's vendor name of associated provider 0074 //! @return provider's vendor name 0075 Standard_EXPORT virtual TCollection_AsciiString GetVendor() const Standard_OVERRIDE; 0076 0077 //! Gets list of supported file extensions 0078 //! @return list of extensions 0079 Standard_EXPORT virtual TColStd_ListOfAsciiString GetExtensions() const Standard_OVERRIDE; 0080 0081 public: 0082 struct RWObj_InternalSection 0083 { 0084 // Common 0085 double FileLengthUnit = 1.; //!< File length units to convert from while reading the file, defined as scale factor for m (meters) 0086 RWMesh_CoordinateSystem SystemCS = RWMesh_CoordinateSystem_Zup; //!< System origin coordinate system to perform conversion into during read 0087 RWMesh_CoordinateSystem FileCS = RWMesh_CoordinateSystem_Yup; //!< File origin coordinate system to perform conversion during read 0088 // Reading 0089 bool ReadSinglePrecision = false; //!< Flag for reading vertex data with single or double floating point precision 0090 bool ReadCreateShapes = false; //!< Flag for create a single triangulation 0091 TCollection_AsciiString ReadRootPrefix; //!< Root folder for generating root labels names 0092 bool ReadFillDoc = true; //!< Flag for fill document from shape sequence 0093 bool ReadFillIncomplete = true; //!< Flag for fill the document with partially retrieved data even if reader has failed with error 0094 int ReadMemoryLimitMiB = -1; //!< Memory usage limit 0095 // Writing 0096 TCollection_AsciiString WriteComment; //!< Export special comment 0097 TCollection_AsciiString WriteAuthor; //!< Author of exported file name 0098 } InternalParameters; 0099 }; 0100 0101 #endif // _RWObj_ConfigurationNode_HeaderFile
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |