1#ifndef __FISH_POND_ANEMONEFISH_Lanternfish_HPP
2#define __FISH_POND_ANEMONEFISH_Lanternfish_HPP
4#include "GridAnemone.hpp"
5#include <memcore/shared_mutex.hpp>
29 bool TerminalFragment;
36 enum class FragmentRenderStatus
38 allDone, underConstruction, IOerror
41 mutable size_t MemUsed = 0, NumberOfVertices = 0;
58 bool haveDataUnderCreation()
const;
59 void request(
const Fiber::CreativeArrayBase::result&R)
const;
61 void cancelCreation()
const;
73 double CreationTime = 0.0;
81 double getDataLoadTime()
const;
83 bool isCurrentlyUnderCreation()
const
85 return SeabedCreation.valid() &&
89 bool hasCreationCompleted()
const
91 return creationComplete.load(std::memory_order_acquire);
97 return hasCreationCompleted()
and NumberOfFragmentsUnderCreation()==0
and allFragmentsAreFine();
100 void setCompletion();
111 size_t NumberOfFragments()
const;
115 size_t Completed = 0,
118 MemUsed = 0, NumberOfVertices = 0;
128 unsigned NumberOfFragmentsUnderCreation()
const;
132 void request(
const Fiber::CreativeArrayBase::result&R)
const;
133 void cancelCreation()
const;
138 bool allFragmentsAreFine()
const;
148 double RenderTimeFactor,
177 unsigned DisplayMinLevel = 0,
198 double Threshold = 400.0;
234static unsigned LanternsToRemember;
255 getMostRecentValidLantern()
const;
basic_string< char > string
A generic Chart object that may be used to cast information of points within a manifold to numerical ...
Definition Chart.hpp:91
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
Data structure describing all fields available per fragment, which is a selection of createable data ...
Definition Fragment.hpp:38
A Grid is a set of Skeleton objects, each of them accessed via some unique SkeletonID object.
Definition Grid.hpp:60
Identifier for Skeletons within a Grid.
Definition SkeletonID.hpp:24
Handling a hierarchy of fields.
Definition RenderFields.hpp:21
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
bool operator==(const MultipleStringSelection &a, const MultipleStringSelection &b)
bool operator!=(const MultipleStringSelection &a, const MultipleStringSelection &b)
Special properties that are available optionally in shader code.
Definition AnemoneCreationContext.hpp:36
Set of parameters that trigger a new Lanternfish upon change:
Definition Lanternfish.hpp:194
Definition Lanternfish.hpp:218
Behavior is similar to a map<VCamera, RefPtr<Lanternfish>> but the number of entries here remains lim...
Definition Lanternfish.hpp:214
Definition Lanternfish.hpp:23
AnemoneCreatorDependency myDataCreators
List of field names and CreatorBase objects.
Definition Lanternfish.hpp:34
Definition Lanternfish.hpp:114
Internal class to collect fragments and to render them afterwards.
Definition Lanternfish.hpp:21
Definition Lanternfish.hpp:176