1#ifndef __FISH_POND_ANEMONEFISH_RecursiveSeabed_HPP
2#define __FISH_POND_ANEMONEFISH_RecursiveSeabed_HPP
5#include <fiber/grid/Skeleton.hpp>
6#include <fiber/grid/RepresentationReference.hpp>
7#include <aerie/BoundingBox.hpp>
9#include <grid/types/RefinedFragmentSkeleton.hpp>
11#include "GridAnemone.hpp"
25#ifdef SUPPORT_MULTIROOT_LEVELS
29 double CellsizeThreshold;
31#ifdef SUPPORT_MULTIROOT_LEVELS
37 for(
size_t i = 0; i<
RootLevel.size(); i++)
48 const VCamera &CurrentCameraSettings()
const
50 return mySeaBed.myCamera;
53 double ApparentCellSize2_Threshold()
const;
67 bool checkIfVertexFragmentIsTooDetailedOrInvisible(
const Fiber::SkeletonID&LevelID ,
74 bool checkIfVertexCompatibleFragmentIsTooDetailedOrInvisible(
const Fiber::SkeletonID&LevelID ,
81 bool checkIfFragmentIsTooDetailedOrInvisible(
const GridAnemone::SkeletonSet::const_iterator&S,
88 mutable index_t HighestUsedLevel = 0;
90 int MaxCollectedFragsPerLevel()
const
93 for(
const auto&
L : Statistics)
95 if (
L.second>i) i =
L.second;
100 void includeInStatistics(
const SkeletonID&ID)
const
108static constexpr bool SortFragments =
false;
110 void prepareFragment(
const GridAnemone::SkeletonSet::const_iterator&S,
112 bool TerminalFragment)
const;
122 void recurseLevelFragment(
const GridAnemone::SkeletonSet::const_iterator&S,
128 void recurseLevel(
const GridAnemone::SkeletonSet::const_iterator&S);
153 void ShowStatistics()
const;
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
A Field is a collection of CreativeArrayBase reference pointers which are accessed via FragmentID obj...
Definition Field.hpp:245
A relative representation from the fragments of one one Skeleton to the fragments of another Skeleton...
Definition RefinedFragmentSkeleton.hpp:19
Identifier for Skeletons within a Grid.
Definition SkeletonID.hpp:24
index_t getHomogeneousLevel() const
IF this skeleton ID refers to a refinement level that is same in all dimensions, return that single i...
Definition SkeletonID.hpp:189
A Skeleton is a set of Representation object, each of them accessed by an Representer object.
Definition Skeleton.hpp:102
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
Definition RecursiveSeaBed.hpp:19
int isInside(const Skeleton &VertexSkeleton, const RefPtr< FragmentID > &theFragmentID) const
Definition RecursiveSeaBed.cpp:333
void recurseLevel(const GridAnemone::SkeletonSet::const_iterator &S)
Recursion over vertices.
Definition RecursiveSeaBed.cpp:550