35 if (FragmentRefinement.getParentChildMapping())
36 return FragmentRefinement.getParentChildMapping();
37 return getParentChildMapping();
42 getFragmentMapping()
const;
49 const DynamicSize&getFragmentRefinementLayout()
const
51 return FragmentRefinementLayout;
54 int getFragmentRefinementDimension()
const
56 return FragmentRefinementLayout.getRank();
60 const RefPtr<Skeleton>&getParentSkeleton()
const
65 const RefPtr<Skeleton>&getChildSkeleton()
const
74 const FragmentMapping_t&
75 getFragmentMappingArray(
const RefPtr<FragmentID>&ParentFragmentID)
const;
84 bool setFragmentMappingArray(
const RefPtr<FragmentID>&ParentFragmentID,
85 const FragmentMapping_t&ChildFragments,
86 int RefinementFragmentDims);
88 bool assign(
const RefPtr<Grid>&theGrid,
const SkeletonID&ParentSid,
const SkeletonID&ChildSid,
89 int FragmentRefinementLayoutDimension);
91 RefinedFragmentSkeleton() =
delete;
93 RefinedFragmentSkeleton(
const RefPtr<Grid>&theGrid,
const SkeletonID&ParentSid,
const SkeletonID&ChildSid,
94 int FragmentRefinementLayoutDimension)
96 assign(theGrid, ParentSid, ChildSid, FragmentRefinementLayoutDimension);
99 RefinedFragmentSkeleton(
const Grid&theGrid,
const SkeletonID&ParentSid,
const SkeletonID&ChildSid,
100 int FragmentRefinementLayoutDimension)
101 : RefinedFragmentSkeleton(theGrid.self(), ParentSid, ChildSid, FragmentRefinementLayoutDimension)
104static RefinedFragmentSkeleton create(Grid&theGrid,
const SkeletonID&ParentSid,
const SkeletonID&ChildSid,
105 const DynamicSize&theFragmentRefinementLayout);
107static RefinedFragmentSkeleton createRefinement(Grid&theGrid,
const SkeletonID&S,
108 const DynamicSize&theFragmentRefinementLayout,
109 int refinement_increment = 1)
114 size_t getNumberOfChildren(
const RefPtr<FragmentID>&ParentFragmentID)
const;
116 int iterateChildren(
const RefPtr<FragmentID>&ParentFragmentID,
117 const std::function<
bool(
const RefPtr<FragmentID>&KidID)>&F)
const;
119 int iterateChildren(
const RefPtr<FragmentID>&ParentFragmentID,
120 const std::function<
bool(
const RefPtr<FragmentID>&KidID,
121 const RefPtr<Skeleton>&Parent,
122 const RefPtr<Skeleton>&
Child)>&F)
const;
126 using KidIterator = std::function<bool(
const SkeletonFragment&Parent,
const SkeletonFragment&Kid)>;
128 int iterateChildren(
const RefPtr<FragmentID>&ParentFragmentID,
const KidIterator&F)
const;
static SkeletonID nextRefinement(const SkeletonID &Sid, int refinement_increment)
Create a SkeletonID that is refined by a certain increment.
Definition SkeletonID.hpp:71