FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Classes | Public Types | Public Member Functions | List of all members
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.