#include <nurbs.hpp>
|
| KnotVector () |
| Create KnotVector.
|
|
| KnotVector (std::istream &input) |
|
| KnotVector (int Order_, int NCP) |
|
| KnotVector (const KnotVector &kv) |
|
KnotVector & | operator= (const KnotVector &kv) |
|
int | GetNE () const |
|
int | GetNKS () const |
|
int | GetNCP () const |
|
int | GetOrder () const |
|
int | Size () const |
|
void | GetElements () |
| Count the number of elements.
|
|
bool | isElement (int i) const |
|
real_t | getKnotLocation (real_t xi, int ni) const |
|
int | findKnotSpan (real_t u) const |
|
void | CalcShape (Vector &shape, int i, real_t xi) const |
|
void | CalcDShape (Vector &grad, int i, real_t xi) const |
|
void | CalcDnShape (Vector &gradn, int n, int i, real_t xi) const |
|
void | CalcD2Shape (Vector &grad2, int i, real_t xi) const |
|
void | FindMaxima (Array< int > &ks, Vector &xi, Vector &u) const |
|
void | FindInterpolant (Array< Vector * > &x) |
|
void | Difference (const KnotVector &kv, Vector &diff) const |
| Finds the knots in the larger of this and kv, not contained in the other.
|
|
void | UniformRefinement (Vector &newknots, int rf) const |
| Refine uniformly with refinement factor rf.
|
|
void | Refinement (Vector &newknots, int rf) const |
| Refine with refinement factor rf.
|
|
int | GetCoarseningFactor () const |
|
Vector | GetFineKnots (const int cf) const |
|
KnotVector * | DegreeElevate (int t) const |
|
void | Flip () |
|
void | Print (std::ostream &os) const |
|
void | PrintFunctions (std::ostream &os, int samples=11) const |
|
| ~KnotVector () |
| Destroys KnotVector.
|
|
real_t & | operator[] (int i) |
|
const real_t & | operator[] (int i) const |
|
Definition at line 33 of file nurbs.hpp.
◆ KnotVector() [1/4]
mfem::KnotVector::KnotVector |
( |
| ) |
|
|
inline |
◆ KnotVector() [2/4]
mfem::KnotVector::KnotVector |
( |
std::istream & | input | ) |
|
◆ KnotVector() [3/4]
mfem::KnotVector::KnotVector |
( |
int | Order_, |
|
|
int | NCP ) |
◆ KnotVector() [4/4]
mfem::KnotVector::KnotVector |
( |
const KnotVector & | kv | ) |
|
|
inline |
◆ ~KnotVector()
mfem::KnotVector::~KnotVector |
( |
| ) |
|
|
inline |
◆ CalcD2Shape()
void mfem::KnotVector::CalcD2Shape |
( |
Vector & | grad2, |
|
|
int | i, |
|
|
real_t | xi ) const |
|
inline |
◆ CalcDnShape()
void mfem::KnotVector::CalcDnShape |
( |
Vector & | gradn, |
|
|
int | n, |
|
|
int | i, |
|
|
real_t | xi ) const |
◆ CalcDShape()
void mfem::KnotVector::CalcDShape |
( |
Vector & | grad, |
|
|
int | i, |
|
|
real_t | xi ) const |
◆ CalcShape()
void mfem::KnotVector::CalcShape |
( |
Vector & | shape, |
|
|
int | i, |
|
|
real_t | xi ) const |
◆ DegreeElevate()
KnotVector * mfem::KnotVector::DegreeElevate |
( |
int | t | ) |
const |
Return a new KnotVector with elevated degree by repeating the endpoints of the knot vector.
- Note
- The returned object should be deleted by the caller.
Definition at line 63 of file nurbs.cpp.
◆ Difference()
void mfem::KnotVector::Difference |
( |
const KnotVector & | kv, |
|
|
Vector & | diff ) const |
Finds the knots in the larger of this and kv, not contained in the other.
Definition at line 605 of file nurbs.cpp.
◆ FindInterpolant()
void mfem::KnotVector::FindInterpolant |
( |
Array< Vector * > & | x | ) |
|
Global curve interpolation through the points x. x is an array with the length of the spatial dimension containing vectors with spatial coordinates. The control points of the interpolated curve are given in x in the same form.
Definition at line 543 of file nurbs.cpp.
◆ findKnotSpan()
int mfem::KnotVector::findKnotSpan |
( |
real_t | u | ) |
const |
◆ FindMaxima()
void mfem::KnotVector::FindMaxima |
( |
Array< int > & | ks, |
|
|
Vector & | xi, |
|
|
Vector & | u ) const |
Gives the locations of the maxima of the knotvector in reference space. The function gives the knotspan ks, the coordinate in the knotspan xi and the coordinate of the maximum in parameter space u
Definition at line 482 of file nurbs.cpp.
◆ Flip()
void mfem::KnotVector::Flip |
( |
| ) |
|
◆ GetCoarseningFactor()
int mfem::KnotVector::GetCoarseningFactor |
( |
| ) |
const |
Returns the coarsening factor needed for non-nested nonuniform spacing functions, to result in a single element from which refinement can be done. The return value is 1 if uniform or nested spacing is used.
Definition at line 113 of file nurbs.cpp.
◆ GetElements()
void mfem::KnotVector::GetElements |
( |
| ) |
|
Count the number of elements.
Definition at line 229 of file nurbs.cpp.
◆ GetFineKnots()
Vector mfem::KnotVector::GetFineKnots |
( |
const int | cf | ) |
const |
For a given coarsening factor cf, find the fine knots between the coarse knots.
Definition at line 132 of file nurbs.cpp.
◆ getKnotLocation()
real_t mfem::KnotVector::getKnotLocation |
( |
real_t | xi, |
|
|
int | ni ) const |
|
inline |
◆ GetNCP()
int mfem::KnotVector::GetNCP |
( |
| ) |
const |
|
inline |
◆ GetNE()
int mfem::KnotVector::GetNE |
( |
| ) |
const |
|
inline |
◆ GetNKS()
int mfem::KnotVector::GetNKS |
( |
| ) |
const |
|
inline |
◆ GetOrder()
int mfem::KnotVector::GetOrder |
( |
| ) |
const |
|
inline |
◆ isElement()
bool mfem::KnotVector::isElement |
( |
int | i | ) |
const |
|
inline |
◆ operator=()
◆ operator[]() [1/2]
real_t & mfem::KnotVector::operator[] |
( |
int | i | ) |
|
|
inline |
◆ operator[]() [2/2]
const real_t & mfem::KnotVector::operator[] |
( |
int | i | ) |
const |
|
inline |
◆ Print()
void mfem::KnotVector::Print |
( |
std::ostream & | os | ) |
const |
◆ PrintFunctions()
void mfem::KnotVector::PrintFunctions |
( |
std::ostream & | os, |
|
|
int | samples = 11 ) const |
Prints the non-zero shape functions and their first and second derivatives associated with the KnotVector per element. Use GetElements() to count the elements before using this function. samples is the number of samples of the shape functions per element.
Definition at line 260 of file nurbs.cpp.
◆ Refinement()
void mfem::KnotVector::Refinement |
( |
Vector & | newknots, |
|
|
int | rf ) const |
Refine with refinement factor rf.
Definition at line 169 of file nurbs.cpp.
◆ Size()
int mfem::KnotVector::Size |
( |
| ) |
const |
|
inline |
◆ UniformRefinement()
void mfem::KnotVector::UniformRefinement |
( |
Vector & | newknots, |
|
|
int | rf ) const |
Refine uniformly with refinement factor rf.
Definition at line 92 of file nurbs.cpp.
◆ coarse
bool mfem::KnotVector::coarse |
Flag to indicate whether the KnotVector has been coarsened, which means it is ready for non-nested refinement.
Definition at line 125 of file nurbs.hpp.
◆ knot
◆ MaxOrder
const int mfem::KnotVector::MaxOrder = 10 |
|
staticprotected |
◆ NumOfControlPoints
int mfem::KnotVector::NumOfControlPoints |
|
protected |
◆ NumOfElements
int mfem::KnotVector::NumOfElements |
|
protected |
◆ Order
int mfem::KnotVector::Order |
|
protected |
◆ spacing
Function to define the distribution of knots for any number of knot spans.
Definition at line 121 of file nurbs.hpp.
The documentation for this class was generated from the following files: