Fish - FiberLib for VISH 0.3
Fish - The Fiber Bundle API for the Vish Visualization Shell
Wizt::RenderFields Class Reference

Handling a hierarchy of fields. More...

#include <RenderFields.hpp>

Inheritance diagram for Wizt::RenderFields:
Wizt::AnemoneRenderFields Wizt::GridAnemoneState Wizt::FieldSlice::SliceAnemoneState

Classes

struct  NamedField

Public Types

using RefinementIndex = Fiber::SkeletonID
 Map from input slots to fields.
using result = MemCore::CreatorBase<Fiber::MemBase>::result

Public Member Functions

void resetRenderFields ()
 RenderFields (const RenderFields &RF)
void operator= (const RenderFields &RF)=delete
void assignRenderFields (const RenderFields &RF)
NamedField find (const RefinementIndex &Id, const RenderNamespace::glsl &ShaderAttributeName) const
bool find (const RefinementIndex &Id) const
void insert (const NamedField &N, const RefinementIndex &Id, const RenderNamespace::glsl &ShaderAttributeName)
void insert (const RefinementIndex &Id, const RenderNamespace::glsl &ShaderAttributeName, const NamedField &N)
void erase (const RefinementIndex &Id, const RenderNamespace::glsl &ShaderAttributeName)
int iterate (const RefinementIndex &RI, const std::function< bool(const RenderNamespace::glsl &ShaderAttribute, const string &Fieldname, const RefPtr< Fiber::Field > &F)> &callback) const
int iterate (const std::function< bool(const RenderNamespace::glsl &ShaderAttribute, const string &Fieldname, const RefPtr< Fiber::Field > &F)> &callback) const
bool checkIfFieldFragmentCreatorsAreNewerThan (const RefinementIndex &RI, const RefPtr< AnemoneCreatorBase > &myAnemoneCreator, const RefPtr< Fiber::FragmentID > &Fid) const
void request (const RefPtr< Fiber::FragmentID > &myFragmentID, const result &R=nullptr) const
 Asynchronity: Request this fragment from all fields managed in here.
bool isUnderCreation (const RefPtr< Fiber::FragmentID > &myFragmentID) const
 Asynchronity: Check whether one or more data fragments are under creation.
auto operator!= (const RenderFields &RF) const
auto operator== (const RenderFields &RF) const

Detailed Description

Handling a hierarchy of fields.

Member Typedef Documentation

◆ RefinementIndex

Map from input slots to fields.

Consider registering TypedSlot<Fiber::Field> instead and providing convenience functions to evaluate all such registered field slots.

Alternatively, we could also just iterate over all input slots of type field and handle them.