74 std::string influence_fn_name,
InfluenceFn influence);
111 [[nodiscard]]
float aspect()
const {
return m_aspect; }
126 void add_view_target(std::shared_ptr<Buffers::RenderProcessor> proc);
132 void remove_view_target(
const std::shared_ptr<Buffers::RenderProcessor>& proc);
137 [[nodiscard]]
const std::vector<std::shared_ptr<Buffers::RenderProcessor>>&
view_targets()
const
139 return m_view_targets;
174 float m_aspect { 1.0F };
std::function< void(const PerceptionContext &)> PerceptionFn
std::function< void(const InfluenceContext &)> InfluenceFn
Object that both perceives nearby entities and acts on MayaFlux objects.
const Kinesis::ViewTransform & current_view() const
The ViewTransform produced by the most recent perceive().
Kinesis::NavigationState m_nav
const std::vector< std::shared_ptr< Buffers::RenderProcessor > > & view_targets() const
All render processors currently driven by this Locus.
const Kinesis::NavigationState & nav() const
Read-only access to the navigation lens.
std::vector< std::shared_ptr< Buffers::RenderProcessor > > m_view_targets
void set_aspect(float aspect)
Aspect ratio used when integrating the view.
float aspect() const
Current aspect ratio.
Kinesis::NavigationState & nav()
Mutable access to the navigation lens.
Agent that perceives the world from a navigation state and influences how the things it touches are v...
Tuning parameters for a first-person fly-navigation controller.
Mutable first-person navigation state.
Data passed to an Emitter or Agent influence function on each commit.
Data passed to a Sensor or Agent perception function on each commit.