panwave
WaveletPacketTreeBase.h
1 //-------------------------------------------------------------------------------------------------------
2 // Copyright (C) Taylor Woll and panwave contributors. All rights reserved.
3 // Licensed under the MIT license. See LICENSE.txt file in the project root for
4 // full license information.
5 //-------------------------------------------------------------------------------------------------------
6 
7 #ifndef WAVELETPACKETTREEBASE_H
8 #define WAVELETPACKETTREEBASE_H
9 
10 #include <vector>
11 
12 #include "Tree.h"
13 
14 namespace panwave {
15 
22  public:
25  WaveletPacketTreeBase& operator=(const WaveletPacketTreeBase&) = delete;
26  WaveletPacketTreeBase& operator=(const WaveletPacketTreeBase&&) = delete;
27 
28  WaveletPacketTreeBase() = default;
29  virtual ~WaveletPacketTreeBase() = default;
30 
36  std::vector<double> signal;
37  };
38 
47  virtual void Decompose() = 0;
48 
58  virtual void Reconstruct(size_t level) = 0;
59 
67  virtual void SetRootSignal(const std::vector<double>* signal) = 0;
68 
73  virtual const std::vector<double>* GetRootSignal() = 0;
74 
79  virtual size_t GetWaveletLevelCount() const = 0;
80 };
81 
82 } // namespace panwave
83 
84 #endif // WAVELETPACKETTREEBASE_H
panwave::WaveletPacketTreeBase::GetRootSignal
virtual const std::vector< double > * GetRootSignal()=0
panwave::WaveletPacketTreeBase::SetRootSignal
virtual void SetRootSignal(const std::vector< double > *signal)=0
panwave::WaveletPacketTreeBase::Reconstruct
virtual void Reconstruct(size_t level)=0
panwave::WaveletPacketTreeBase
Definition: WaveletPacketTreeBase.h:21
panwave::WaveletPacketTreeBase::Decompose
virtual void Decompose()=0
panwave::WaveletPacketTreeBase::WaveletPacketTreeNodeData
Definition: WaveletPacketTreeBase.h:35
panwave::WaveletPacketTreeBase::GetWaveletLevelCount
virtual size_t GetWaveletLevelCount() const =0