QUGaR 0.0.4
Loading...
Searching...
No Matches
bezier_tp_utils.hpp
Go to the documentation of this file.
1// --------------------------------------------------------------------------
2//
3// Copyright (C) 2025-present by Pablo Antolin
4//
5// This file is part of the QUGaR library.
6//
7// SPDX-License-Identifier: MIT
8//
9// --------------------------------------------------------------------------
10
11#ifndef QUGAR_IMPL_BEZIER_TP_UTILS_HPP
12#define QUGAR_IMPL_BEZIER_TP_UTILS_HPP
13
20
21#include <qugar/bezier_tp.hpp>
22
23namespace qugar::impl {
24
31template<typename T> void evaluate_Bernstein_value(const T &point, const int order, std::vector<T> &values);
32
41template<typename T> void evaluate_Bernstein(const T &point, const int order, int der, std::vector<T> &values);
42
43
49template<int dim, int range>
50[[nodiscard]] std::shared_ptr<BezierTP<dim, range>> Bezier_product(const BezierTP<dim, range> &lhs,
51 const BezierTP<dim, range> &rhs);
52
61template<int dim, int range, int dim2>
62[[nodiscard]] std::shared_ptr<BezierTP<dim, range>> Bezier_composition(const BezierTP<dim2, range> &lhs,
63 const BezierTP<dim, dim2> &rhs);
64
65
66}// namespace qugar::impl
67
68#endif// QUGAR_IMPL_BEZIER_TP_UTIL_HPP
Declaration of tensor-product Bezier class.
dim-dimensional tensor-product Bezier polynomial function.
Definition monomials_tp.hpp:34
Definition affine_transf.hpp:28
std::shared_ptr< BezierTP< dim, range > > Bezier_product(const BezierTP< dim, range > &lhs, const BezierTP< dim, range > &rhs)
Product of two Beziers.
void evaluate_Bernstein(const T &point, const int order, int der, std::vector< T > &values)
Evaluates the Bernstein polynomials of the given order (or its derivative).
std::shared_ptr< BezierTP< dim, range > > Bezier_composition(const BezierTP< dim2, range > &lhs, const BezierTP< dim, dim2 > &rhs)
Computes the composition of two Beziers as rhs(lhs)
void evaluate_Bernstein_value(const T &point, const int order, std::vector< T > &values)
Evaluates the Bernstein polynomials of the given order.