Fish - FiberLib for VISH 0.3
Fish - The Fiber Bundle API for the Vish Visualization Shell
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
using getTextureUnit_t = std::function<int (const string&Name)>
using DataFilter_t
using anemone_data_validator_t
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< Chart > myChart
std::unordered_map< WeakPtr< Grid >, LanternViewSequence > myLanternView
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 char * getAnemoneRenderStatusDescription (AnemoneRenderStatus)
Static Public Attributes inherited from Wizt::LanternFestival
static unsigned LanternsToRemember = 128