ShuffleIndicesTreeDataKernelStrategy.h
Go to the documentation of this file.
1 #ifndef GfxTL__SHUFFLEINDICESTREEDATAKERNELSTRATEGY_HEADER__
2 #define GfxTL__SHUFFLEINDICESTREEDATAKERNELSTRATEGY_HEADER__
3 #include <vector>
4 
5 #include <GfxTL/Swap.h>
6 
7 namespace GfxTL
8 {
9  template <class DataKernelT, class ShuffleIndicesT = std::vector<unsigned int>>
10  class ShuffleIndicesTreeDataKernelStrategy : public DataKernelT
11  {
12  public:
13  typedef typename DataKernelT::value_type value_type;
14  typedef typename DataKernelT::HandleType HandleType;
15  typedef typename DataKernelT::DereferencedType DereferencedType;
16 
17  ShuffleIndicesTreeDataKernelStrategy() : m_shuffleIndices(NULL)
18  {
19  }
20 
21  void
22  ShuffleIndices(ShuffleIndicesT* shuffleIndices)
23  {
24  m_shuffleIndices = shuffleIndices;
25  }
26 
27  ShuffleIndicesT*
29  {
30  return m_shuffleIndices;
31  }
32 
33  protected:
34  void
36  {
37  if (m_shuffleIndices)
38  {
39  Swap(a, b, m_shuffleIndices);
40  }
41  DataKernelT::SwapHandles(a, b);
42  }
43 
44  private:
45  ShuffleIndicesT* m_shuffleIndices;
46  };
47 }; // namespace GfxTL
48 
49 #endif
GfxTL::ShuffleIndicesTreeDataKernelStrategy
Definition: ShuffleIndicesTreeDataKernelStrategy.h:10
Swap.h
GfxTL::ShuffleIndicesTreeDataKernelStrategy::ShuffleIndicesTreeDataKernelStrategy
ShuffleIndicesTreeDataKernelStrategy()
Definition: ShuffleIndicesTreeDataKernelStrategy.h:17
GfxTL::ShuffleIndicesTreeDataKernelStrategy::DereferencedType
DataKernelT::DereferencedType DereferencedType
Definition: ShuffleIndicesTreeDataKernelStrategy.h:15
GfxTL::ShuffleIndicesTreeDataKernelStrategy::value_type
DataKernelT::value_type value_type
Definition: ShuffleIndicesTreeDataKernelStrategy.h:13
armarx::ctrlutil::a
double a(double t, double a0, double j)
Definition: CtrlUtil.h:45
GfxTL::ShuffleIndicesTreeDataKernelStrategy::HandleType
DataKernelT::HandleType HandleType
Definition: ShuffleIndicesTreeDataKernelStrategy.h:14
GfxTL::ShuffleIndicesTreeDataKernelStrategy::ShuffleIndices
ShuffleIndicesT * ShuffleIndices() const
Definition: ShuffleIndicesTreeDataKernelStrategy.h:28
GfxTL
Definition: AABox.h:9
GfxTL::ShuffleIndicesTreeDataKernelStrategy::ShuffleIndices
void ShuffleIndices(ShuffleIndicesT *shuffleIndices)
Definition: ShuffleIndicesTreeDataKernelStrategy.h:22
GfxTL::Swap
void Swap(HandleT a, HandleT b, ContainerT *container)
Definition: Swap.h:10
GfxTL::ShuffleIndicesTreeDataKernelStrategy::SwapHandles
void SwapHandles(HandleType a, HandleType b)
Definition: ShuffleIndicesTreeDataKernelStrategy.h:35