MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Portal::Forma::Geometry::Form< T > Struct Template Reference

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.
 

Detailed Description

template<typename T>
struct MayaFlux::Portal::Forma::Geometry::Form< T >

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.

Template Parameters
TMappedState value type driving the geometry.

Definition at line 83 of file Geometry.hpp.


The documentation for this struct was generated from the following file: