Fish - FiberLib for VISH 0.3
Fish - The Fiber Bundle API for the Vish Visualization Shell
Fiber::FragmentTopology Struct Reference
Inheritance diagram for Fiber::FragmentTopology:
Fiber::TypedGrid Eagle::StrongPtr< Object, ObjectBase > MemCore::WeakPtr< Object, ObjectBase > MemCore::DynPtr< Object, ObjectBase > Fiber::RegularFragmentTopology< Dims >

Public Types

typedef TypedArray< RefPtr< FragmentID > > FragmentArray_t
using NamedSkeleton_t = std::map<std::string, MemCore::WeakPtr<Fiber::Skeleton>>
 A helper type to store a set of skeletons via some (unique) textual identifier.
using FragmentSkeletonSearch_t = std::tuple<string, RefPtr<Fiber::Skeleton>>
Public Types inherited from Eagle::StrongPtr< Object, ObjectBase >
typedef WeakPtr< Object, ObjectBase >::ObjectBase_t ObjectBase_t
Public Types inherited from MemCore::WeakPtr< Object, ObjectBase >
typedef Object object_t
typedef ObjectBase ObjectBase_t
typedef RefPtrTypeTrait< Object, ObjectBase >::ReferencePointerType pointer_t
typedef RefPtrTypeTrait< Object, ObjectBase >::ReferenceValueType refvalue_t
Public Types inherited from MemCore::DynPtr< Object, ObjectBase >
typedef Object object_t

Public Member Functions

bool assign (const RefPtr< Grid > &theGrid, const SkeletonID &S, int FragmentTopologyDimension)
 FragmentTopology (const RefPtr< Grid > &theGrid, const SkeletonID &S, int FragmentTopologyDimension)
Public Member Functions inherited from Fiber::TypedGrid
bool assign (const RefPtr< Grid > &theGrid)
bool invalidate ()
 Invalidate the stored Grid pointer and return false.
Public Member Functions inherited from Eagle::StrongPtr< Object, ObjectBase >
StrongPtrassignStrong (const DynPtr_t &other)
StrongPtrassignStrong (const ReferenceBase< ObjectBase_t > *Obj)
StrongPtrassignStrong (const std::nullptr_t &)
auto operator() (Arguments...parameters) const -> decltype((*this->getPtrValue())(parameters...))
refvalue_toperator* () const
pointer_t operator-> () const
StrongPtroperator= (const DynPtr_t &other)
StrongPtroperator= (const ReferenceBase< ObjectBase_t > *Obj)
StrongPtroperator= (const std::initializer_list< StrongPtr > &other)
StrongPtroperator= (const std::nullptr_t &)
StrongPtroperator= (const StrongPtr &other)
auto operator[] (const IndexType &I) const -> decltype((*this->getPtrValue())[I])
 StrongPtr (const ReferenceBase< ObjectBase_t > *Obj)
 StrongPtr (const ReferenceBase< ObjectBase_t > *Obj, const NotNullPtr &)
 StrongPtr (const std::nullptr_t &)
 StrongPtr (const StrongPtr< ChildObject, ObjectBase > &Other)
 StrongPtr (const StrongPtr< Object, ObjectBase > &Other)
 StrongPtr (const WeakPtr< ChildObject, ObjectBase_t > &Other)
Public Member Functions inherited from MemCore::WeakPtr< Object, ObjectBase >
 WeakPtr (const std::nullptr_t &)
 WeakPtr (const ReferenceBase< ObjectBase > *Obj)
 WeakPtr (const ReferenceBase< ObjectBase > *Obj, const NotNullPtr &)
 WeakPtr (const WeakPtr< AnyObject, ObjectBase > &Other)
 WeakPtr (const WeakPtr &Other)
pointer_t getPtrValue () const
pointer_t operator-> () const
refvalue_toperator* () const
size_t operator~ () const
WeakPtrassignWeak (const WeakPtr &other)
WeakPtroperator= (const WeakPtr &other)
Public Member Functions inherited from MemCore::DynPtr< Object, ObjectBase >
const DynPtrgetDynPtr () const noexcept
const type_info & getType () const noexcept
bool isAssignable (const DynPtr< ObjectBase, ObjectBase > &Other) const noexcept
 operator void * () const noexcept
bool operator! () const noexcept
void speak (const char *s, const char *prefix="") const noexcept
void Speak (const char *s, const char *prefix="") const

Static Public Member Functions

static bool isAPossibleFragmentSkeletonID (const SkeletonID &Candidate, const SkeletonID &BaseSkeletonID)
 Check if a skeleton ID could possibly be the fragment skeleton for a given base space.
static void create (Grid &theGrid, const SkeletonID &S, const RefPtr< FragmentArray_t > &theFragmentArray, int FragmentTopologyDimension)
static FragmentSkeletonSearch_t findHighestDimensionalSkeleton (const SkeletonID &WhichOne, const NamedSkeleton_t &AvailableGridSkeletons)
 Search for highest dimensional skeleton topology that is two two index depths deeper.
static RefPtr< SkeletonfindHighestDimensionalSkeleton (const SkeletonID &WhichOne, const SkeletonMap &AvailableGridSkeletons)
 Search for highest dimensional skeleton topology that is two index depths deeper.
static RefPtr< RepresentationfindHighestDimensionalRepresentation (const SkeletonID &WhichOne, const SkeletonMap &AvailableGridSkeletons)
 Search for highest dimensional skeleton topology with relative representation into the current one instead of just looking two index depths deeper.
static RefPtr< FieldfindHighestDimensionalFragmentationField (const SkeletonID &WhichOne, const SkeletonMap &AvailableGridSkeletons)
static FragmentSkeletonSearch_t findMatchingSkeleton (const SkeletonID &WhichOne, const NamedSkeleton_t &AvailableGridSkeletons)
static FragmentSkeletonSearch_t findSkeletonWithRelativeRepresentation (const SkeletonID &WhichOne, int DimensionOfFragmentSkeleton, const NamedSkeleton_t &AvailableGridSkeletons)
Static Public Member Functions inherited from MemCore::DynPtr< Object, ObjectBase >
static const DynPtrgetNullPtr () noexcept

Public Attributes

RefPtr< SkeletonFragmentSkeleton
RefPtr< RepresentationFragmentsAsBaseElements
 Fields per fragment providing coordinate-independent information.
RefPtr< FragmentArray_t > FragmentArray

Additional Inherited Members

Protected Member Functions inherited from MemCore::WeakPtr< Object, ObjectBase >
 WeakPtr (Object *that, const SelfInitialize &)
Protected Member Functions inherited from MemCore::DynPtr< Object, ObjectBase >
 DynPtr (const DynPtr< AnyObject, ObjectBase > &Other) noexcept
 DynPtr (const std::nullptr_t &) noexcept

Member Function Documentation

◆ findHighestDimensionalRepresentation()

RefPtr< Representation > Fiber::FragmentTopology::findHighestDimensionalRepresentation ( const SkeletonID & WhichOne,
const SkeletonMap & AvailableGridSkeletons )
static

Search for highest dimensional skeleton topology with relative representation into the current one instead of just looking two index depths deeper.

The set of Skeletons is given in a SkeletonMap, thus a Grid can be specified here.

References Fiber::Skeleton::Dims(), and isAPossibleFragmentSkeletonID().

◆ findHighestDimensionalSkeleton()

RefPtr< Skeleton > Fiber::FragmentTopology::findHighestDimensionalSkeleton ( const SkeletonID & WhichOne,
const SkeletonMap & AvailableGridSkeletons )
static

Search for highest dimensional skeleton topology that is two index depths deeper.

The set of Skeletons is given in a SkeletonMap, thus a Grid can be specified here.

References isAPossibleFragmentSkeletonID().

◆ isAPossibleFragmentSkeletonID()

bool Fiber::FragmentTopology::isAPossibleFragmentSkeletonID ( const SkeletonID & Candidate,
const SkeletonID & BaseSkeletonID )
static

Check if a skeleton ID could possibly be the fragment skeleton for a given base space.

This means its index depth must be two times larger and the refinement levels must be compatible.

References Fiber::SkeletonID::IndexDepth(), and Fiber::SkeletonID::NumberOfRefinementLevels().

Referenced by findHighestDimensionalRepresentation(), findHighestDimensionalSkeleton(), and findHighestDimensionalSkeleton().