Magnum/MeshTools/Interleave.h file

Function Magnum::MeshTools::interleave(), Magnum::MeshTools::interleaveInto(), Magnum::MeshTools::isInterleaved(), Magnum::MeshTools::interleavedLayout()

Namespaces

namespace Magnum
Root namespace.
namespace Magnum::MeshTools
Mesh tools.

Functions

template<class T, class ... U>
auto interleave(const T& first, const U&... next) -> Containers::Array<char>
Interleave vertex attributes.
template<class T, class ... U>
auto interleaveInto(Containers::ArrayView<char> buffer, const T& first, const U&... next) -> std::size_t
Interleave vertex attributes into existing buffer.
auto isInterleaved(const Trade::MeshData& mesh) -> bool new in 2020.06
If the mesh data is interleaved.
auto interleavedData(const Trade::MeshData& mesh) -> Containers::StridedArrayView2D<const char> new in 2020.06
Type-erased view on interleaved mesh data.
auto interleavedMutableData(Trade::MeshData& mesh) -> Containers::StridedArrayView2D<char> new in 2020.06
Mutable type-erased view on interleaved mesh data.
auto interleavedLayout(const Trade::MeshData& mesh, UnsignedInt vertexCount, Containers::ArrayView<const Trade::MeshAttributeData> extra = {}, InterleaveFlags flags = InterleaveFlag::PreserveInterleavedAttributes) -> Trade::MeshData new in 2020.06
Create an interleaved mesh layout.
auto interleavedLayout(const Trade::MeshData& mesh, UnsignedInt vertexCount, std::initializer_list<Trade::MeshAttributeData> extra, InterleaveFlags flags = InterleaveFlag::PreserveInterleavedAttributes) -> Trade::MeshData new in 2020.06
auto interleavedLayout(Trade::MeshData&& mesh, UnsignedInt vertexCount, Containers::ArrayView<const Trade::MeshAttributeData> extra = {}, InterleaveFlags flags = InterleaveFlag::PreserveInterleavedAttributes) -> Trade::MeshData new in 2020.06
Create an interleaved mesh layout.
auto interleavedLayout(Trade::MeshData&& mesh, UnsignedInt vertexCount, std::initializer_list<Trade::MeshAttributeData> extra, InterleaveFlags flags = InterleaveFlag::PreserveInterleavedAttributes) -> Trade::MeshData new in 2020.06
auto interleave(const Trade::MeshData& mesh, Containers::ArrayView<const Trade::MeshAttributeData> extra = {}, InterleaveFlags flags = InterleaveFlag::PreserveInterleavedAttributes) -> Trade::MeshData new in 2020.06
Interleave mesh data.
auto interleave(const Trade::MeshData& mesh, std::initializer_list<Trade::MeshAttributeData> extra, InterleaveFlags flags = InterleaveFlag::PreserveInterleavedAttributes) -> Trade::MeshData new in 2020.06
auto interleave(Trade::MeshData&& mesh, Containers::ArrayView<const Trade::MeshAttributeData> extra = {}, InterleaveFlags flags = InterleaveFlag::PreserveInterleavedAttributes) -> Trade::MeshData new in 2020.06
Interleave mesh data.
auto interleave(Trade::MeshData&& mesh, std::initializer_list<Trade::MeshAttributeData> extra, InterleaveFlags flags = InterleaveFlag::PreserveInterleavedAttributes) -> Trade::MeshData new in 2020.06
auto interleave(MeshPrimitive primitive, const Trade::MeshIndexData& indices, Containers::ArrayView<const Trade::MeshAttributeData> attributes) -> Trade::MeshData new in Git master
Create an indexed interleaved mesh.
auto interleave(MeshPrimitive primitive, const Trade::MeshIndexData& indices, std::initializer_list<Trade::MeshAttributeData> attributes) -> Trade::MeshData new in Git master
auto interleave(MeshPrimitive primitive, Containers::ArrayView<const Trade::MeshAttributeData> attributes) -> Trade::MeshData new in Git master
Create a non-indexed interleaved mesh.
auto interleave(MeshPrimitive primitive, std::initializer_list<Trade::MeshAttributeData> attributes) -> Trade::MeshData new in Git master