#pragma once #include "NvBlastExtAuthoringTypes.h" #include #include #include struct NvBlastAsset; class IMeshFileWriter { public: /** Input mesh geometry as triangle array */ virtual bool saveToFile(const NvBlastAsset* asset, std::vector> chunksGeometry, std::string assetName, std::string outputPath) = 0; /** Input mesh geometry as vertex buffers with separate indices for positions, normals and uvs. Is used for compressed output to .obj file. */ virtual bool saveToFile(const NvBlastAsset* asset, const std::string& name, const std::string& outputPath, const std::vector& pos, const std::vector& norm, const std::vector& uvs, const std::vector > >& posIndex, const std::vector > >& normIndex, const std::vector > >& texIndex, const std::vector& texPathes, const uint32_t submeshCount) = 0; /** Input mesh geometry as vertex buffers and single index array. */ virtual bool saveToFile(const NvBlastAsset* asset, const std::string& name, const std::string& outputPath, const std::vector& pos, const std::vector& norm, const std::vector& uvs, const std::vector > >& indices) = 0; virtual bool getConvertToUE4() { return bConvertToUE4; } virtual void setConvertToUE4(bool bConvert) { bConvertToUE4 = bConvert; } private: bool bConvertToUE4; };