|
MFEM v2.0
|
#include <nurbs.hpp>

Public Member Functions | |
| KnotVector () | |
| Create KnotVector. | |
| KnotVector (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 |
| double | getKnotLocation (double xi, int ni) const |
| int | findKnotSpan (double u) const |
| void | CalcShape (Vector &shape, int i, double xi) |
| void | CalcDShape (Vector &grad, int i, double xi) |
| void | Difference (const KnotVector &kv, Vector &diff) const |
| void | UniformRefinement (Vector &newknots) const |
| KnotVector * | DegreeElevate (int t) const |
| void | Flip () |
| void | Print (ostream &out) const |
| ~KnotVector () | |
| Destroys KnotVector. | |
| double & | operator[] (int i) |
| const double & | operator[] (int i) const |
Protected Attributes | |
| Vector | knot |
| int | Order |
| int | NumOfControlPoints |
| int | NumOfElements |
Static Protected Attributes | |
| static const int | MaxOrder = 10 |
| KnotVector::KnotVector | ( | ) | [inline] |
| KnotVector::KnotVector | ( | istream & | input | ) |
Definition at line 17 of file nurbs.cpp.
References GetElements(), knot, Vector::Load(), NumOfControlPoints, and Order.
| KnotVector::KnotVector | ( | int | Order_, |
| int | NCP | ||
| ) |
Definition at line 24 of file nurbs.cpp.
References knot, NumOfControlPoints, Order, and Vector::SetSize().
| KnotVector::KnotVector | ( | const KnotVector & | kv | ) | [inline] |
| KnotVector::~KnotVector | ( | ) | [inline] |
Destroys KnotVector.
| void KnotVector::CalcDShape | ( | Vector & | grad, |
| int | i, | ||
| double | xi | ||
| ) |
Definition at line 147 of file nurbs.cpp.
References getKnotLocation(), knot, MaxOrder, mfem_error(), and Order.
| void KnotVector::CalcShape | ( | Vector & | shape, |
| int | i, | ||
| double | xi | ||
| ) |
Definition at line 118 of file nurbs.cpp.
References getKnotLocation(), knot, MaxOrder, mfem_error(), and Order.
| KnotVector * KnotVector::DegreeElevate | ( | int | t | ) | const |
Return a new KnotVector with elevated degree by repeating the endpoints of the knot vector.
Definition at line 45 of file nurbs.cpp.
References GetElements(), GetNCP(), knot, KnotVector(), mfem_error(), Order, and Vector::Size().
Referenced by NURBSExtension::NURBSExtension().
| void KnotVector::Difference | ( | const KnotVector & | kv, |
| Vector & | diff | ||
| ) | const |
Definition at line 226 of file nurbs.cpp.
References Difference(), GetOrder(), knot, mfem_error(), Order, Vector::SetSize(), and Size().
Referenced by Difference(), and NURBSPatch::KnotInsert().
| int KnotVector::findKnotSpan | ( | double | u | ) | const |
Definition at line 197 of file nurbs.cpp.
References knot, NumOfControlPoints, and Order.
Referenced by NURBSPatch::KnotInsert().
| void KnotVector::Flip | ( | ) |
Definition at line 98 of file nurbs.cpp.
References knot, NumOfControlPoints, Order, and Vector::Size().
| void KnotVector::GetElements | ( | ) |
Count the number of elements.
Definition at line 86 of file nurbs.cpp.
References knot, NumOfControlPoints, NumOfElements, and Order.
Referenced by NURBSPatch::DegreeElevate(), DegreeElevate(), Interpolate(), NURBSPatch::KnotInsert(), KnotVector(), and Revolve3D().
| double KnotVector::getKnotLocation | ( | double | xi, |
| int | ni | ||
| ) | const [inline] |
Definition at line 43 of file nurbs.hpp.
References knot.
Referenced by CalcDShape(), and CalcShape().
| int KnotVector::GetNCP | ( | ) | const [inline] |
Definition at line 34 of file nurbs.hpp.
References NumOfControlPoints.
Referenced by NURBSPatch::DegreeElevate(), DegreeElevate(), NURBSExtension::GenerateOffsets(), NURBSPatch::KnotInsert(), NURBSPatchMap::SetBdrPatchDofMap(), and NURBSPatchMap::SetPatchDofMap().
| int KnotVector::GetNE | ( | ) | const [inline] |
Definition at line 32 of file nurbs.hpp.
References NumOfElements.
Referenced by NURBSPatch::DegreeElevate(), NURBSExtension::GenerateOffsets(), NURBSPatchMap::SetBdrPatchVertexMap(), and NURBSPatchMap::SetPatchVertexMap().
| int KnotVector::GetNKS | ( | ) | const [inline] |
Definition at line 33 of file nurbs.hpp.
References NumOfControlPoints, and Order.
Referenced by NURBSExtension::Generate2DBdrElementDofTable(), NURBSExtension::Generate2DElementDofTable(), NURBSExtension::Generate3DBdrElementDofTable(), and NURBSExtension::Generate3DElementDofTable().
| int KnotVector::GetOrder | ( | ) | const [inline] |
Definition at line 35 of file nurbs.hpp.
References Order.
Referenced by NURBSPatch::DegreeElevate(), Difference(), and NURBSPatch::KnotInsert().
| bool KnotVector::isElement | ( | int | i | ) | const [inline] |
| KnotVector & KnotVector::operator= | ( | const KnotVector & | kv | ) |
Definition at line 33 of file nurbs.cpp.
References knot, NumOfControlPoints, NumOfElements, and Order.
| const double& KnotVector::operator[] | ( | int | i | ) | const [inline] |
| double& KnotVector::operator[] | ( | int | i | ) | [inline] |
| void KnotVector::Print | ( | ostream & | out | ) | const |
Definition at line 111 of file nurbs.cpp.
References knot, NumOfControlPoints, Order, Vector::Print(), and Vector::Size().
| int KnotVector::Size | ( | ) | const [inline] |
Definition at line 36 of file nurbs.hpp.
References knot, and Vector::Size().
Referenced by Difference().
| void KnotVector::UniformRefinement | ( | Vector & | newknots | ) | const |
Definition at line 72 of file nurbs.cpp.
References knot, NumOfElements, Vector::SetSize(), and Vector::Size().
Vector KnotVector::knot [protected] |
Definition at line 20 of file nurbs.hpp.
Referenced by CalcDShape(), CalcShape(), DegreeElevate(), Difference(), findKnotSpan(), Flip(), GetElements(), getKnotLocation(), isElement(), KnotVector(), operator=(), operator[](), Print(), Size(), and UniformRefinement().
const int KnotVector::MaxOrder = 10 [static, protected] |
Definition at line 18 of file nurbs.hpp.
Referenced by CalcDShape(), and CalcShape().
int KnotVector::NumOfControlPoints [protected] |
Definition at line 21 of file nurbs.hpp.
Referenced by findKnotSpan(), Flip(), GetElements(), GetNCP(), GetNKS(), KnotVector(), operator=(), and Print().
int KnotVector::NumOfElements [protected] |
Definition at line 21 of file nurbs.hpp.
Referenced by GetElements(), GetNE(), operator=(), and UniformRefinement().
int KnotVector::Order [protected] |
Definition at line 21 of file nurbs.hpp.
Referenced by CalcDShape(), CalcShape(), DegreeElevate(), Difference(), findKnotSpan(), Flip(), GetElements(), GetNKS(), GetOrder(), isElement(), KnotVector(), operator=(), and Print().
1.7.4