FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Types | Public Member Functions | Public Attributes | List of all members
Wizt::GridAnemoneState Class Reference
Inheritance diagram for Wizt::GridAnemoneState:
Wizt::LanternFestival Wizt::LevelDisplayConstraints Wizt::AnemoneRenderFields Wizt::RenderFields Wizt::FieldSlice::SliceAnemoneState

Public Types

using SkeletonSet = map< SkeletonID, WeakPtr< Fiber::Skeleton > >
 
- Public Types inherited from Wizt::LanternFestival
using Parameters = LanternFestivalParameters
 
using LanternViewSequence = std::list< LanternView >
 
using lock_readonly = std::shared_lock< MemCore::shared_mutex >
 
using lock_writable = std::unique_lock< MemCore::shared_mutex >
 
- Public Types inherited from Wizt::AnemoneRenderFields
enum class  AnemoneRenderStatus {
  AllFine , Invisible , CouldNotUpdate , CouldNotInitialize ,
  InvalidVertexCoordinates , InvalidRefinementData , InvalidPrimitiveData , InconsistentData ,
  NoFieldState , DataUnderCreation
}
 
using AnemoneCreatorDependency = std::forward_list< std::pair< std::string, MemCore::RefPtr< Fiber::CreativeArrayBase > > >
 
using getTextureUnit_t = std::function< int(const string &Name)>
 
using DataFilter_t = std::function< RefPtr< ChunkBase >(const RefPtr< Fiber::MemBase > &FieldDataArray, const std::string &FieldName)>
 
using anemone_data_validator_t = std::function< bool(VRenderContext &theContext, map< string, RefPtr< Fiber::MemBase > > &AnemoneData, const RefPtr< Fiber::FragmentID > &theFragmentID, const Fiber::SkeletonID &theSkeletonID)>
 
- Public Types inherited from Wizt::RenderFields
using RefinementIndex = Fiber::SkeletonID
 Map from input slots to fields.
 
using result = MemCore::CreatorBase< Fiber::MemBase >::result
 

Public Member Functions

RenderAble::RenderTime retrieveTimers ()
 Retrieve the timers since last call and reset the timers.
 
void clearTimeout ()
 
virtual void reset ()
 
void invalidate ()
 
AnemoneRenderFields::AnemoneRenderStatus initializeAnemoneFields (VRenderContext &theContext, Anemone &RenderAnemone, const SkeletonID &theSkeletonID, const CreativeArrayBase &thePrimaryDataFragment, const RefPtr< FragmentID > &theFragmentID, AnemoneRenderFields::getTextureUnit_t getTextureUnit, const RefPtr< AnemoneCreatorBase > &theAnemoneCreator, const RefPtr< VStateCreatorBase::State > &S, bool VerticesAreUnderCreation, const AnemoneRenderFields::anemone_data_validator_t &anemone_data_validator={})
 
void addChildren (RefinedFragment &WhichFragment, const SkeletonSet::iterator &It)
 
bool retrieveRefinement () const
 
int MinLevel () const
 
int MaxLevel () const
 
WeakPtr< Fiber::SkeletongetVertexSkeleton (const SkeletonID &) const
 
RefPtr< Fiber::RepresentationgetVertexRepresentation (const SkeletonID &) const
 
GridAnemone::FieldHierarchy getPositions () const
 
- Public Member Functions inherited from Wizt::LanternFestival
RefPtr< LanternfishgetExactLantern (const Parameters &LFP) const
 Get a lantern exactly matching the given camera position.
 
RefPtr< LanternfishgetBestLantern (const Parameters &LFP) const
 Returns the best fitting lantern which is always valid.
 
RefPtr< LanternfishgetMostRecentValidLantern () const
 As needed for the "frozen" feature and as fallback when no best Lantern could be found.
 
RefPtr< LanternfishnewLantern (const RefPtr< Grid > &G, const RefPtr< Chart > &chart, const LanternFestival::Parameters &LFP)
 
void setLanternGrid (const RefPtr< Grid > &G, const RefPtr< Chart > &chart)
 
bool hasSameLanternGrid (const RefPtr< Grid > &G, const RefPtr< Chart > &chart) const
 
- Public Member Functions inherited from Wizt::LevelDisplayConstraints
bool mayDisplay (const SkeletonID &S) const
 
- Public Member Functions inherited from Wizt::AnemoneRenderFields
 AnemoneRenderFields (const RenderFields &RF)
 
bool createAnemoneDependency (const RefinementIndex &RI, const RefPtr< Fiber::FragmentID > &theFragmentID, AnemoneCreatorDependency &ACD) const
 
AnemoneRenderStatus initializeAnemoneFields (VRenderContext &theContext, Anemone &RenderAnemone, const Fiber::SkeletonID &theSkeletonID, const Fiber::CreativeArrayBase &thePrimaryDataFragment, const RefPtr< Fiber::FragmentID > &theFragmentID, getTextureUnit_t getTextureUnit, const RefPtr< AnemoneCreatorBase > &theAnemoneCreator, const RefPtr< VStateCreatorBase::State > &, bool VerticesAreYetUnderCreation, const anemone_data_validator_t &anemone_data_validator)
 
- Public Member Functions inherited from Wizt::RenderFields
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
 

Public Attributes

std::mutex CreationMutex
 
SkeletonSet myVertexSkeletons
 
std::unordered_map< string, WeakPtr< RenderBasin::RenderTimer > > AnemoneFragmentTimers
 List of available timers per fragment.
 
std::string TimeoutMessage
 If the last rendering was too slow, display this message.
 
std::string RenderStatistics
 
double LastCPURenderTime = 0.0
 
long ReusedAnemones
 Counting used of anemones, for performance measurements.
 
long NewAnemones
 Counting newly created anemones, for performance measurements.
 
- Public Attributes inherited from Wizt::LanternFestival
WeakPtr< Fiber::GridmyGrid
 
WeakPtr< ChartmyChart
 
std::unordered_map< WeakPtr< Grid >, LanternViewSequencemyLanternView
 
MemCore::shared_mutex myLanternView_mutex
 
- Public Attributes inherited from Wizt::LevelDisplayConstraints
unsigned DisplayMinLevel = 0
 
unsigned DisplayMaxLevel = 0
 

Additional Inherited Members

- Static Public Member Functions inherited from Wizt::AnemoneRenderFields
static const chargetAnemoneRenderStatusDescription (AnemoneRenderStatus)
 
- Static Public Attributes inherited from Wizt::LanternFestival
static unsigned LanternsToRemember = 128