|
MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
|
A geometry function plus everything its realization requires. More...
#include <Geometry.hpp>
Collaboration diagram for MayaFlux::Portal::Forma::Geometry::Form< T >:Public Member Functions | |
| Form ()=default | |
| Form (GeometryFn< T > fn) | |
| Adopt a bare geometry function with default topology and capacity and no interaction. | |
| Form (GeometryFn< T > fn, Graphics::PrimitiveTopology topo, size_t cap, std::function< void(Context &, uint32_t, std::shared_ptr< MappedState< T > >)> w={}) | |
| operator const GeometryFn< T > & () const & | |
| Implicit conversion to the underlying geometry function. | |
Public Attributes | |
| size_t | capacity { 4096 } |
FormaBuffer capacity in bytes for the vertex count geometry writes. | |
| GeometryFn< T > | geometry |
| Writes vertex bytes for the current value. | |
| Graphics::PrimitiveTopology | topology { Graphics::PrimitiveTopology::TRIANGLE_STRIP } |
Topology matching the vertex kind geometry writes. | |
| std::function< void(Context &, uint32_t, std::shared_ptr< MappedState< T > >)> | wire |
| Registers interaction against the realized element. | |
A geometry function plus everything its realization requires.
A geometry function alone is not enough to construct an element. Its topology is fixed by the vertex kind it writes, its capacity by the vertex count, and its interaction by the forward placement it performs. All three are knowledge the geometry factory already has and the call site would otherwise restate. Form carries them together.
Nothing enumerates the set of Forms. Any function returning one participates on equal footing with those in FormFactory.hpp, including ones written by the caller. There is no dispatch and no registry.
A bare GeometryFn converts implicitly, yielding default topology, default capacity, and no interaction.
| T | MappedState value type driving the geometry. |
Definition at line 83 of file Geometry.hpp.