NurbsSolve Class Reference

Solving the linear system of equations using Eigen or UmfPack. (can be defined in on_nurbs.cmake) More...

`#include <opennurbs_fit.h>`

## Public Member Functions

NurbsSolve ()
Empty constructor. More...

void assign (unsigned rows, unsigned cols, unsigned dims)
Assign size and dimension (2D, 3D) of system of equations. More...

void K (unsigned i, unsigned j, double v)
Set value for system matrix K (stiffness matrix, basis functions) More...

void x (unsigned i, unsigned j, double v)
Set value for state vector x (control points) More...

void f (unsigned i, unsigned j, double v)
Set value for target vector f (force vector) More...

double K (unsigned i, unsigned j)
Get value for system matrix K (stiffness matrix, basis functions) More...

double x (unsigned i, unsigned j)
Get value for state vector x (control points) More...

double f (unsigned i, unsigned j)
Get value for target vector f (force vector) More...

void resizeF (unsigned rows)
Resize target vector f (force vector) More...

void printK ()
Print system matrix K (stiffness matrix, basis functions) More...

void printX ()
Print state vector x (control points) More...

void printF ()
Print target vector f (force vector) More...

bool solve ()
Solves the system of equations with respect to x. More...

ON_Matrix * diff ()
Compute the difference between solution K*x and target f. More...

void setQuiet (bool val)
Enable/Disable debug outputs in console. More...

## Detailed Description

Solving the linear system of equations using Eigen or UmfPack. (can be defined in on_nurbs.cmake)

Definition at line 235 of file opennurbs_fit.h.

## Constructor & Destructor Documentation

 NurbsSolve ( )
inline

Empty constructor.

Definition at line 239 of file opennurbs_fit.h.

## Member Function Documentation

 void assign ( unsigned rows, unsigned cols, unsigned dims )

Assign size and dimension (2D, 3D) of system of equations.

Definition at line 252 of file opennurbs_fit.cpp.

Referenced by FittingSurface::assemble().

 void K ( unsigned i, unsigned j, double v )

Set value for system matrix K (stiffness matrix, basis functions)

Definition at line 267 of file opennurbs_fit.cpp.

References OSL::Strings::v.

 void x ( unsigned i, unsigned j, double v )

Set value for state vector x (control points)

Definition at line 274 of file opennurbs_fit.cpp.

References OSL::Strings::v.

 void f ( unsigned i, unsigned j, double v )

Set value for target vector f (force vector)

Definition at line 279 of file opennurbs_fit.cpp.

References OSL::Strings::v.

 double K ( unsigned i, unsigned j )

Get value for system matrix K (stiffness matrix, basis functions)

Definition at line 286 of file opennurbs_fit.cpp.

 double x ( unsigned i, unsigned j )

Get value for state vector x (control points)

Definition at line 291 of file opennurbs_fit.cpp.

 double f ( unsigned i, unsigned j )

Get value for target vector f (force vector)

Definition at line 296 of file opennurbs_fit.cpp.

 void resizeF ( unsigned rows )

Resize target vector f (force vector)

Definition at line 303 of file opennurbs_fit.cpp.

 void printK ( )

Print system matrix K (stiffness matrix, basis functions)

 void printX ( )

Print state vector x (control points)

 void printF ( )

Print target vector f (force vector)

 bool solve ( )

Solves the system of equations with respect to x.

• Using UmfPack incredibly speeds up this function.

Definition at line 345 of file opennurbs_fit.cpp.

References solveSparseLinearSystemLQ().

Referenced by FittingSurface::solve().

Here is the call graph for this function:

 ON_Matrix* diff ( )

Compute the difference between solution K*x and target f.

 void setQuiet ( bool val )
inline

Enable/Disable debug outputs in console.

Definition at line 292 of file opennurbs_fit.h.

Referenced by FittingSurface::setQuiet().

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