PolyFEM
Loading...
Searching...
No Matches
polyfem::solver::BSplineParametrization1DTo2D Class Reference

#include <SplineParametrizations.hpp>

Inheritance diagram for polyfem::solver::BSplineParametrization1DTo2D:
[legend]
Collaboration diagram for polyfem::solver::BSplineParametrization1DTo2D:
[legend]

Public Member Functions

 BSplineParametrization1DTo2D (const Eigen::MatrixXd &initial_control_points, const Eigen::VectorXd &knots, const int num_vertices, const bool exclude_ends=true)
 
Eigen::VectorXd inverse_eval (const Eigen::VectorXd &y) override
 
int size (const int x_size) const override
 
Eigen::VectorXd eval (const Eigen::VectorXd &x) const override
 
Eigen::VectorXd apply_jacobian (const Eigen::VectorXd &grad_full, const Eigen::VectorXd &x) const override
 
- Public Member Functions inherited from polyfem::solver::Parametrization
 Parametrization ()
 
virtual ~Parametrization ()
 

Private Attributes

const Eigen::MatrixXd initial_control_points_
 
const Eigen::VectorXd knots_
 
bool invoked_inverse_eval_ = false
 
const int size_
 
std::shared_ptr< BSplineParametrization2Dspline_
 
const bool exclude_ends_
 

Detailed Description

Definition at line 16 of file SplineParametrizations.hpp.

Constructor & Destructor Documentation

◆ BSplineParametrization1DTo2D()

polyfem::solver::BSplineParametrization1DTo2D::BSplineParametrization1DTo2D ( const Eigen::MatrixXd &  initial_control_points,
const Eigen::VectorXd &  knots,
const int  num_vertices,
const bool  exclude_ends = true 
)
inline

Definition at line 19 of file SplineParametrizations.hpp.

Member Function Documentation

◆ apply_jacobian()

Eigen::VectorXd polyfem::solver::BSplineParametrization1DTo2D::apply_jacobian ( const Eigen::VectorXd &  grad_full,
const Eigen::VectorXd &  x 
) const
overridevirtual

◆ eval()

Eigen::VectorXd polyfem::solver::BSplineParametrization1DTo2D::eval ( const Eigen::VectorXd &  x) const
overridevirtual

Implements polyfem::solver::Parametrization.

Definition at line 107 of file SplineParametrizations.cpp.

References exclude_ends_, polyfem::utils::flatten(), initial_control_points_, invoked_inverse_eval_, polyfem::log_and_throw_error(), spline_, polyfem::utils::unflatten(), x, and y.

Here is the call graph for this function:

◆ inverse_eval()

Eigen::VectorXd polyfem::solver::BSplineParametrization1DTo2D::inverse_eval ( const Eigen::VectorXd &  y)
overridevirtual

Reimplemented from polyfem::solver::Parametrization.

Definition at line 96 of file SplineParametrizations.cpp.

References exclude_ends_, polyfem::utils::flatten(), initial_control_points_, invoked_inverse_eval_, knots_, size_, spline_, polyfem::utils::unflatten(), and y.

Here is the call graph for this function:

◆ size()

int polyfem::solver::BSplineParametrization1DTo2D::size ( const int  x_size) const
inlineoverridevirtual

Implements polyfem::solver::Parametrization.

Definition at line 24 of file SplineParametrizations.hpp.

References size_.

Member Data Documentation

◆ exclude_ends_

const bool polyfem::solver::BSplineParametrization1DTo2D::exclude_ends_
private

Definition at line 41 of file SplineParametrizations.hpp.

Referenced by apply_jacobian(), eval(), and inverse_eval().

◆ initial_control_points_

const Eigen::MatrixXd polyfem::solver::BSplineParametrization1DTo2D::initial_control_points_
private

Definition at line 32 of file SplineParametrizations.hpp.

Referenced by apply_jacobian(), eval(), and inverse_eval().

◆ invoked_inverse_eval_

bool polyfem::solver::BSplineParametrization1DTo2D::invoked_inverse_eval_ = false
private

Definition at line 35 of file SplineParametrizations.hpp.

Referenced by eval(), and inverse_eval().

◆ knots_

const Eigen::VectorXd polyfem::solver::BSplineParametrization1DTo2D::knots_
private

Definition at line 33 of file SplineParametrizations.hpp.

Referenced by inverse_eval().

◆ size_

const int polyfem::solver::BSplineParametrization1DTo2D::size_
private

Definition at line 37 of file SplineParametrizations.hpp.

Referenced by inverse_eval(), and size().

◆ spline_

std::shared_ptr<BSplineParametrization2D> polyfem::solver::BSplineParametrization1DTo2D::spline_
private

Definition at line 39 of file SplineParametrizations.hpp.

Referenced by apply_jacobian(), eval(), and inverse_eval().


The documentation for this class was generated from the following files: