MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ resolve_vertices()

std::optional< std::vector< Kakshya::DataVariant > > MayaFlux::Buffers::DataReadProcessor::resolve_vertices ( )

Finish a read_vertices() read as typed channels.

One DataVariant per layout attribute, in layout order (see VertexInsertion). Returns nullopt, leaving the result pending, when the pending read was not a vertex read; returns nullopt and discards it when its layout has an attribute that cannot be decoded. resolve_bytes() still yields the raw interleaved bytes of any vertex read.

Definition at line 338 of file DataReadProcessor.cpp.

339{
340 auto pending = collect_result(ReadKind::Vertices);
341 if (!pending || !pending->layout) {
342 return std::nullopt;
343 }
344
345 std::vector<Kakshya::DataVariant> channels;
346 Kakshya::VertexInsertion insertion(channels);
347 if (!insertion.insert_interleaved(pending->bytes, *pending->layout)) {
348 return std::nullopt;
349 }
350
351 return channels;
352}
uint32_t channels
std::unique_ptr< PendingRead > collect_result(ReadKind kind)

References channels, collect_result(), MayaFlux::Kakshya::VertexInsertion::insert_interleaved(), and Vertices.

+ Here is the call graph for this function: