1#ifndef GfxTL__CELLPARENTTREESTRATEGY_HEADER__
2#define GfxTL__CELLPARENTTREESTRATEGY_HEADER__
7 template <
class InheritedStrategyT>
10 typedef typename InheritedStrategyT::value_type
value_type;
12 template <
class BaseT>
15 class CellData :
public InheritedStrategyT::CellData
18 template <
class BaseT>
20 typedef typename InheritedStrategyT::CellData
BaseType;
26 template <
class BaseT>
65 template <
class BuildInformationT>
69 BaseType::InitRootBuildInformation(bi);
73 template <
class BuildInformationT>
76 const BuildInformationT& parentInfo,
77 unsigned int childIdx,
78 BuildInformationT* bi)
80 BaseType::InitBuildInformation(parent, parentInfo, childIdx, bi);
81 bi->Parent(
const_cast<CellType*
>(&parent));
84 template <
class BuildInformationT>
87 const BuildInformationT& parentInfo,
88 unsigned int childIdx,
89 const BuildInformationT& bi,
92 BaseType::InitCell(parent, parentInfo, childIdx, bi, cell);
93 cell->m_parent = bi.Parent();
friend class StrategyBase
InheritedStrategyT::CellData BaseType
CellType *const CellParent(CellType &c)
BaseType::CellType CellType
void InitBuildInformation(const CellType &parent, const BuildInformationT &parentInfo, unsigned int childIdx, BuildInformationT *bi)
InheritedStrategyT::template StrategyBase< BaseT > BaseType
const CellType *const CellParent(const CellType &c) const
void InitRootBuildInformation(BuildInformationT *bi)
void InitCell(const CellType &parent, const BuildInformationT &parentInfo, unsigned int childIdx, const BuildInformationT &bi, CellType *cell)
InheritedStrategyT::value_type value_type