UVBarycentricMapping.h dnacalib/types/Aliases.h dnacalib/types/Triangle.h dnacalib/types/BoundingBox.h CalculateMeshLowerLODsCommand.cpp UVBarycentricMapping.cpp dnac::UVBarycentricMapping dnac //CopyrightEpicGames,Inc.AllRightsReserved. #pragmaonce #include"dnacalib/types/Aliases.h" #include"dnacalib/types/Triangle.h" #include"dnacalib/types/BoundingBox.h" namespacednac{ classUVBarycentricMapping{ public: usingTrianglePositionIndicesPair=std::pair<Triangle,std::array<std::uint32_t,3u>>; usingBarycentricPositionIndicesPair=std::pair<fvec3,ConstArrayView<std::uint32_t>>; public: UVBarycentricMapping(conststd::function<ConstArrayView<std::uint32_t>(std::uint32_t)>&faceGetter, ConstArrayView<std::uint32_t>vertexPositionIndices, ConstArrayView<std::uint32_t>textureCoordinateUVIndices, ConstArrayView<float>Us, ConstArrayView<float>Vs, std::uint32_tfaceCount, MemoryResource*memRes); explicitUVBarycentricMapping(constdna::Reader*reader,std::uint16_tmeshIndex,MemoryResource*memRes); ConstArrayView<TrianglePositionIndicesPair>getTriangles()const; ConstArrayView<BoundingBox>getBoundingBoxes()const; BarycentricPositionIndicesPairgetBarycentric(constfvec2&uv)const; private: Vector<TrianglePositionIndicesPair>triangles; Vector<BoundingBox>bBoxes; }; }//namespacednac