From 343fc8794d7edc393b06e924a318bfdbd1d54f58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 29 Aug 2021 23:55:52 +0200 Subject: [PATCH] Trade: don't need to delegate trivial things. --- src/Magnum/Trade/MeshData.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Magnum/Trade/MeshData.cpp b/src/Magnum/Trade/MeshData.cpp index b56cbd27d..44ea4a773 100644 --- a/src/Magnum/Trade/MeshData.cpp +++ b/src/Magnum/Trade/MeshData.cpp @@ -331,25 +331,26 @@ UnsignedInt MeshData::attributeId(const MeshAttribute name, const UnsignedInt id VertexFormat MeshData::attributeFormat(const MeshAttribute name, const UnsignedInt id) const { const UnsignedInt attributeId = attributeFor(name, id); CORRADE_ASSERT(attributeId != ~UnsignedInt{}, "Trade::MeshData::attributeFormat(): index" << id << "out of range for" << attributeCount(name) << name << "attributes", {}); - return attributeFormat(attributeId); + return _attributes[attributeId]._format; } std::size_t MeshData::attributeOffset(const MeshAttribute name, const UnsignedInt id) const { const UnsignedInt attributeId = attributeFor(name, id); CORRADE_ASSERT(attributeId != ~UnsignedInt{}, "Trade::MeshData::attributeOffset(): index" << id << "out of range for" << attributeCount(name) << name << "attributes", {}); + /* Calculation is non-trivial, delegating */ return attributeOffset(attributeId); } UnsignedInt MeshData::attributeStride(const MeshAttribute name, const UnsignedInt id) const { const UnsignedInt attributeId = attributeFor(name, id); CORRADE_ASSERT(attributeId != ~UnsignedInt{}, "Trade::MeshData::attributeStride(): index" << id << "out of range for" << attributeCount(name) << name << "attributes", {}); - return attributeStride(attributeId); + return _attributes[attributeId]._stride; } UnsignedShort MeshData::attributeArraySize(const MeshAttribute name, const UnsignedInt id) const { const UnsignedInt attributeId = attributeFor(name, id); CORRADE_ASSERT(attributeId != ~UnsignedInt{}, "Trade::MeshData::attributeArraySize(): index" << id << "out of range for" << attributeCount(name) << name << "attributes", {}); - return attributeArraySize(attributeId); + return _attributes[attributeId]._arraySize; } Containers::StridedArrayView1D MeshData::attributeDataViewInternal(const MeshAttributeData& attribute) const {