|
MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
|
| MAYAFLUX_API std::optional< Kinesis::AABB3D > MayaFlux::Nexus::read_bounds | ( | const std::shared_ptr< Buffers::VKBuffer > & | buf, |
| const std::optional< uint32_t > & | collection = std::nullopt |
||
| ) |
Bounds of a buffer's geometry in its own stored coordinates.
A VolumeGridBuffer reports its lattice bounds. A NetworkGeometryBuffer reports its vertices, or those of one collection. The primary operator only knows the authored positions and the CPU updates it dispatched, so once the chain holds a GpuFieldOperator the bytes are downloaded from the device instead, as the spatial export does; before the device buffer exists the operator's bytes are used. A GeometryBuffer on a node other than a MeshWriterNode, a point or path node for example, reports the node's own vertices, downloaded from the device when a VertexFieldProcessor is on the buffer. An InstanceNetworkBuffer reports the union of its slots' bounds through the slot transforms as the CPU holds them; the eight corners are placed, so a rotated slot is bounded loosely, and a transform a GPU kernel drives is not seen. Other mesh buffers are read as read_anchor reads them. Blocks for a ComputeMeshBuffer and for a buffer a field processor drives: call it from a FRAME_ACCURATE metro or the main thread, never the graphics thread.
| buf | Buffer to read. |
| collection | Collection of a NetworkGeometryBuffer to bound, if not all of it. Ignored for other buffers. |
Definition at line 256 of file Survey.cpp.
References count, positions, and read_bounds().
Referenced by MayaFlux::Nexus::Hull::Hull(), MayaFlux::Nexus::Mantle::Mantle(), read_bounds(), MayaFlux::Nexus::Hull::refit(), and MayaFlux::Nexus::Mantle::refit().
Here is the call graph for this function:
Here is the caller graph for this function: