gtsam
Loading...
Searching...
No Matches
KernelBase.h
Go to the documentation of this file.
1/* ----------------------------------------------------------------------------
2
3 * GTSAM Copyright 2010, Georgia Tech Research Corporation,
4 * Atlanta, Georgia 30332-0415
5 * All Rights Reserved
6 * Authors: Frank Dellaert, et al. (see THANKS for the full author list)
7
8 * See LICENSE for the license information
9
10 * -------------------------------------------------------------------------- */
11
17
18#pragma once
19
21
22#include <cstddef>
23
24namespace gtsam {
25
28 public:
30 virtual double evaluate(double t, OptionalJacobian<1, 1> H = {}) const = 0;
31
36 virtual double evaluateDerivative(size_t derivative, double t,
37 OptionalJacobian<1, 1> H = {}) const = 0;
38
40 virtual double getBeginning() const = 0;
41
43 virtual double getCenter() const = 0;
44
46 virtual double getEnd() const = 0;
47
49 virtual size_t getValidDerivatives() const = 0;
50
52 double getLength() const { return getEnd() - getBeginning(); }
53
55 virtual ~KernelBase() = default;
56};
57
58} // namespace gtsam
Special class for optional Jacobian arguments.
Global functions in a separate testing namespace.
Definition chartTesting.h:28
OptionalJacobian is an Eigen::Ref like class that can take be constructed using either a fixed size o...
Definition OptionalJacobian.h:40
Interface for a compactly supported continuous convolution kernel.
Definition KernelBase.h:27
double getLength() const
Width of the kernel support.
Definition KernelBase.h:52
virtual double getCenter() const =0
Center of the kernel support.
virtual double evaluateDerivative(size_t derivative, double t, OptionalJacobian< 1, 1 > H={}) const =0
Evaluate the requested derivative at t, optionally returning the next derivative.
virtual double getBeginning() const =0
Earliest argument at which the kernel is non-constant.
virtual size_t getValidDerivatives() const =0
Highest derivative order represented by the kernel.
virtual double getEnd() const =0
Latest argument at which the kernel is non-constant.
virtual ~KernelBase()=default
Destroy the polymorphic kernel interface.
virtual double evaluate(double t, OptionalJacobian< 1, 1 > H={}) const =0
Evaluate the kernel at t, optionally returning its first derivative.