File indexing completed on 2026-09-10 09:17:56
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #ifndef _RWObj_MtlReader_HeaderFile
0016 #define _RWObj_MtlReader_HeaderFile
0017
0018 #include <Graphic3d_Vec3.hxx>
0019 #include <RWObj_Material.hxx>
0020 #include <NCollection_DataMap.hxx>
0021
0022
0023 class RWObj_MtlReader
0024 {
0025 public:
0026
0027 RWObj_MtlReader(NCollection_DataMap<TCollection_AsciiString, RWObj_Material>& theMaterials);
0028
0029
0030 ~RWObj_MtlReader();
0031
0032
0033 bool Read(const TCollection_AsciiString& theFolder, const TCollection_AsciiString& theFile);
0034
0035 private:
0036
0037 bool validateScalar(const Standard_Real theValue);
0038
0039
0040 bool validateColor(const Graphic3d_Vec3& theVec);
0041
0042
0043 void processTexturePath(TCollection_AsciiString& theTexturePath,
0044 const TCollection_AsciiString& theFolder);
0045
0046 private:
0047 FILE* myFile;
0048 TCollection_AsciiString myPath;
0049 NCollection_DataMap<TCollection_AsciiString, RWObj_Material>* myMaterials;
0050 int myNbLines;
0051 };
0052
0053 #endif