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

Internal class to collect fragments and to render them afterwards. More...

#include <Lanternfish.hpp>

Inheritance diagram for Wizt::Lanternfish:
Wizt::ReferenceBase< Lanternfish >

Classes

struct  Fragment
struct  RenderFragmentInfo

Public Types

using creation_result = std::chrono::duration<double>
Public Types inherited from Wizt::ReferenceBase< Lanternfish >
typedef Object reference_domain_t
typedef WeakPtr< Object, Object > SelfPtr_t

Public Member Functions

double getDataLoadTime () const
bool isCurrentlyUnderCreation () const
bool hasCreationCompleted () const
bool isValid () const
void setCompletion ()
 Lanternfish (const RefPtr< Fiber::Grid > &theCurrentGrid, const RefPtr< Fiber::Chart > &theCurrentChart)
 Lanternfish (const Lanternfish &)=delete
void catchFragment (const Fragment &F)
size_t NumberOfFragments () const
unsigned NumberOfFragmentsUnderCreation () const
std::string description () const
void request (const Fiber::CreativeArrayBase::result &R) const
void cancelCreation () const
bool allFragmentsAreFine () const
 Check for I/O errors.
RenderFragmentInfo renderFragments (VRenderContext &theContext, const RefPtr< GridAnemone::AnemoneExplorer > &myAnemoneExplorer, const WeakPtr< GridAnemone > &myGridAnemone, double RenderTimeFactor, bool ShowTerminalFragmentsOnly, unsigned MaxNumberOfRenderFragments)
 Render all fragments, which is incomplete if the returned number is unequal to the NumberOfFragments().
RefPtr< BoundingBoxgetBoundingBox (unsigned N) const
Public Member Functions inherited from Wizt::ReferenceBase< Lanternfish >
auto getObjectCountID () const noexcept
bool isIdentical (const WeakPtr< Object, Object > &PossibleSelf) const noexcept
void mkAutoDestructive ()
refcount_t refcount () const noexcept
 ReferenceBase (Object *that) noexcept
const auto & self () const
refcount_t wrefcount () const noexcept

Public Attributes

std::mutex FragmentListMutex
std::forward_list< Fragmentfragments
RefPtr< Fiber::GridmyCurrentGrid
RefPtr< Fiber::ChartmyCurrentChart
std::set< RefPtr< FragmentID > > myFragmentIDs
int id = 0
double CreationTime = 0.0
MemCore::Timer myLifetime
std::future< creation_result > SeabedCreation
std::atomic< bool > creationComplete {false}

Additional Inherited Members

Protected Member Functions inherited from Wizt::ReferenceBase< Lanternfish >
virtual void extremeUnction ()
ReferenceBaseoperator= (const ReferenceBase &R)
void suicide ()

Detailed Description

Internal class to collect fragments and to render them afterwards.

Member Function Documentation

◆ catchFragment()

void Wizt::Lanternfish::catchFragment ( const Fragment & F)

Maybe request data here already, but if so, request loading raw data. IF this is a good idea at all.

References catchFragment(), and Fiber::FragmentID::Name().

Referenced by catchFragment().