diff options
Diffstat (limited to 'src/Coxeter_triangulation/include/gudhi/Functions/Function_lemniscate_revolution_in_R3.h')
-rw-r--r-- | src/Coxeter_triangulation/include/gudhi/Functions/Function_lemniscate_revolution_in_R3.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_lemniscate_revolution_in_R3.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_lemniscate_revolution_in_R3.h index f36ccd3c..beb41e00 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_lemniscate_revolution_in_R3.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_lemniscate_revolution_in_R3.h @@ -14,8 +14,6 @@ #include <cstdlib> // for std::size_t #include <cmath> // for std::sqrt -#include <gudhi/Functions/Function.h> - #include <Eigen/Dense> namespace Gudhi { @@ -27,12 +25,12 @@ namespace coxeter_triangulation { * \brief A class that encodes the function, the zero-set of which is a surface of revolution * around the x axis based on the lemniscate of Bernoulli embedded in R^3. */ -struct Function_lemniscate_revolution_in_R3 : public Function { +struct Function_lemniscate_revolution_in_R3 { /** * \brief Value of the function at a specified point. * @param[in] p The input point. The dimension needs to coincide with the ambient dimension. */ - virtual Eigen::VectorXd operator()(const Eigen::VectorXd& p) const override { + Eigen::VectorXd operator()(const Eigen::VectorXd& p) const { double x = p(0) - off_[0], y = p(1) - off_[1], z = p(2) - off_[2]; Eigen::VectorXd result(cod_d()); double x2 = x * x, y2 = y * y, z2 = z * z, a2 = a_ * a_; @@ -42,16 +40,16 @@ struct Function_lemniscate_revolution_in_R3 : public Function { } /** \brief Returns the (ambient) domain dimension.*/ - virtual std::size_t amb_d() const override { return 3; }; + std::size_t amb_d() const { return 3; }; /** \brief Returns the codomain dimension. */ - virtual std::size_t cod_d() const override { return 1; }; + std::size_t cod_d() const { return 1; }; /** \brief Returns a point on the surface. This seed point is only one of * two necessary seed points for the manifold tracing algorithm. * See the method seed2() for the other point. */ - virtual Eigen::VectorXd seed() const override { + Eigen::VectorXd seed() const { Eigen::Vector3d result(std::sqrt(2 * a_) + off_[0], off_[1], off_[2]); return result; } |