FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Fiber::FragmentTopology Struct Reference
Inheritance diagram for Fiber::FragmentTopology:
Fiber::TypedGrid MemCore::StrongPtr< class Object, class ObjectBase > MemCore::WeakPtr< class Object, class ObjectBase > MemCore::DynPtr< class Object, class 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 MemCore::StrongPtr< class Object, class ObjectBase >
typedef WeakPtr< Object, ObjectBase >::ObjectBase_t ObjectBase_t
 
- Public Types inherited from MemCore::WeakPtr< class Object, class 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< class Object, class 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 MemCore::StrongPtr< class Object, class 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< class Object, class ObjectBase >
pointer_t getPtrValue () const
 
pointer_t operator-> () const
 
refvalue_toperator* () const
 
size_t operator~ () const
 
 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)
 
WeakPtrassignWeak (const WeakPtr &other)
 
WeakPtroperator= (const WeakPtr &other)
 
- Public Member Functions inherited from MemCore::DynPtr< class Object, class 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< class Object, class ObjectBase >
static const DynPtrgetNullPtr () noexcept
 

Public Attributes

RefPtr< SkeletonFragmentSkeleton
 
RefPtr< RepresentationFragmentsAsBaseElements
 Fields per fragment providing coordinate-independent information.
 
RefPtr< FragmentArray_tFragmentArray
 

Additional Inherited Members

- Protected Member Functions inherited from MemCore::WeakPtr< class Object, class ObjectBase >
 WeakPtr (Object *that, const SelfInitialize &)
 
- Protected Member Functions inherited from MemCore::DynPtr< class Object, class 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.

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