VISR  0.11.7
Versatile Interactive Scene Renderer
interpolation_parameter.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_PML_INTERPOLATION_PARAMETER_HPP_INCLUDED
4 #define VISR_PML_INTERPOLATION_PARAMETER_HPP_INCLUDED
5 
6 #include "export_symbols.hpp"
7 
9 
13 
14 #include <limits>
15 #include <vector>
16 
17 namespace visr
18 {
19 namespace pml
20 {
21 
22 namespace // unnamed
23 {
24 } // unnamed namespace
25 
26 
30 class VISR_PML_LIBRARY_SYMBOL InterpolationParameterConfig: public ParameterConfigBase
31 {
32 public:
33  explicit InterpolationParameterConfig( std::size_t numberOfInterpolants );
34 
36 
37  std::unique_ptr< ParameterConfigBase > clone() const override;
38 
39  bool compare( ParameterConfigBase const & rhs ) const override;
40 
41  bool compare( InterpolationParameterConfig const & rhs ) const;
42 
43  std::size_t numberOfInterpolants() const { return mNumberOfInterpolants; }
44 private:
45  std::size_t mNumberOfInterpolants;
46 };
47 
53 class VISR_PML_LIBRARY_SYMBOL InterpolationParameter:
54  public TypedParameterBase<InterpolationParameter, InterpolationParameterConfig, detail::compileTimeHashFNV1("InterpolationParameter") >,
56 {
57 public:
62 
63  explicit InterpolationParameter(ParameterConfigBase const & config);
64 
66 
67 };
68 
69 } // namespace pml
70 } // namespace visr
71 
73 
74 #endif // VISR_PML_INTERPOLATION_PARAMETER_HPP_INCLUDED
InterpolationParameter(InterpolationParameter const &rhs)
Definition: interpolation_parameter.hpp:53
Definition: interpolation_parameter.hpp:30
Definition: options.cpp:10
Definition: interpolation_parameter.hpp:24
Definition: parameter_factory.hpp:20
Definition: parameter_config_base.hpp:22
#define DEFINE_PARAMETER_TYPE(ParameterClassType, ParameterId, ParameterConfigType)
Definition: parameter_type.hpp:60
std::size_t numberOfInterpolants() const
Definition: interpolation_parameter.hpp:43