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::RefinedFragmentSkeleton Class Reference

A relative representation from the fragments of one one Skeleton to the fragments of another Skeleton. More...

#include <RefinedFragmentSkeleton.hpp>

Inheritance diagram for Fiber::RefinedFragmentSkeleton:
Fiber::RelativeRepresentation Fiber::TypedGrid MemCore::StrongPtr< class Object, class ObjectBase > MemCore::WeakPtr< class Object, class ObjectBase > MemCore::DynPtr< class Object, class ObjectBase >

Public Types

using FragmentMapping_t = std::vector< RefPtr< FragmentID > >
 The type used to store mapping from one fragment to another one.
 
using FragmentMappingArray_t = TypedArray< FragmentMapping_t >
 An array of fragment mappings.
 
using SkeletonFragment = std::tuple< const RefPtr< Skeleton > &, const RefPtr< FragmentID > & >
 
using KidIterator = std::function< bool(const SkeletonFragment &Parent, const SkeletonFragment &Kid)>
 
- 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

RefPtr< FieldgetParentChildFragmentField () const
 
const DynamicSizegetFragmentRefinementLayout () const
 
int getFragmentRefinementDimension () const
 
const RefPtr< Skeleton > & getParentSkeleton () const
 
const RefPtr< Skeleton > & getChildSkeleton () const
 
const FragmentMapping_tgetFragmentMappingArray (const RefPtr< FragmentID > &ParentFragmentID) const
 Get the array containing the fragment mapping, which is the field's only data.
 
bool setFragmentMappingArray (const RefPtr< FragmentID > &ParentFragmentID, const FragmentMapping_t &ChildFragments, int RefinementFragmentDims)
 Set a number of child fragment ID's for a given parent fragment ID.
 
bool assign (const RefPtr< Grid > &theGrid, const SkeletonID &ParentSid, const SkeletonID &ChildSid, int FragmentRefinementLayoutDimension)
 
 RefinedFragmentSkeleton (const RefPtr< Grid > &theGrid, const SkeletonID &ParentSid, const SkeletonID &ChildSid, int FragmentRefinementLayoutDimension)
 
 RefinedFragmentSkeleton (const Grid &theGrid, const SkeletonID &ParentSid, const SkeletonID &ChildSid, int FragmentRefinementLayoutDimension)
 
size_t getNumberOfChildren (const RefPtr< FragmentID > &ParentFragmentID) const
 
int iterateChildren (const RefPtr< FragmentID > &ParentFragmentID, const std::function< bool(const RefPtr< FragmentID > &KidID)> &F) const
 
int iterateChildren (const RefPtr< FragmentID > &ParentFragmentID, const std::function< bool(const RefPtr< FragmentID > &KidID, const RefPtr< Skeleton > &Parent, const RefPtr< Skeleton > &Child)> &F) const
 
int iterateChildren (const RefPtr< FragmentID > &ParentFragmentID, const KidIterator &F) const
 
- Public Member Functions inherited from Fiber::RelativeRepresentation
RefPtr< FieldgetParentChildMapping () const
 
bool assign (const RefPtr< Grid > &theGrid, const SkeletonID &ParentSid, const SkeletonID &ChildSid)
 Get refinement information between two Skeletons on the same Grid.
 
bool assign (const RefPtr< Grid > &theParentGrid, const SkeletonID &ParentSid, const RefPtr< Grid > &theChildGrid, const SkeletonID &ChildSid)
 Get refinement information between different Grids.
 
 RelativeRepresentation (const RefPtr< Grid > &theGrid, const SkeletonID &ParentSid, const SkeletonID &ChildSid)
 
 RelativeRepresentation (const Grid &theGrid, const SkeletonID &ParentSid, const SkeletonID &ChildSid)
 
- 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 RefPtr< TypedArray< FragmentMapping_t > > createFragmentMapping (const DynamicSize &theFragmentRefinementLayout)
 
static RefinedFragmentSkeleton create (Grid &theGrid, const SkeletonID &ParentSid, const SkeletonID &ChildSid, const DynamicSize &theFragmentRefinementLayout)
 
static RefinedFragmentSkeleton createRefinement (Grid &theGrid, const SkeletonID &S, const DynamicSize &theFragmentRefinementLayout, int refinement_increment=1)
 
- Static Public Member Functions inherited from Fiber::RelativeRepresentation
static RelativeRepresentation create (Grid &theGrid, const SkeletonID &ParentSid, const SkeletonID &ChildSid)
 
static RelativeRepresentation createRefinement (Grid &theGrid, const SkeletonID &S, int refinement_increment=1)
 
- Static Public Member Functions inherited from MemCore::DynPtr< class Object, class ObjectBase >
static const DynPtrgetNullPtr () noexcept
 

Public Attributes

RelativeRepresentation FragmentRefinement
 
- Public Attributes inherited from Fiber::RelativeRepresentation
RefPtr< SkeletonParentSkeleton
 
RefPtr< SkeletonChildSkeleton
 
RefPtr< RepresentationParentChildRelation
 

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
 

Detailed Description

A relative representation from the fragments of one one Skeleton to the fragments of another Skeleton.

The fragments of one Skeleton are related to the fragments of another one.

Examples
XF_LineSetHierarchical.cpp, and XF_LineSetHierarchicalRegularized.cpp.

Member Function Documentation

◆ setFragmentMappingArray()

bool Fiber::RefinedFragmentSkeleton::setFragmentMappingArray ( const RefPtr< FragmentID > &  ParentFragmentID,
const FragmentMapping_t ChildFragments,
int  RefinementFragmentDims 
)

Set a number of child fragment ID's for a given parent fragment ID.

This function will copy the given vector of fragment IDs and is only recommendable for a small number of fragment IDs. It does an explicit consistency check of the fragment IDs and their ownership according to the respective Skeletons.

Examples
XF_LineSetHierarchical.cpp, and XF_LineSetHierarchicalRegularized.cpp.