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

Public Member Functions | |
| NURBSPatch (istream &input) | |
| NURBSPatch (KnotVector *kv0, KnotVector *kv1, int dim_) | |
| NURBSPatch (KnotVector *kv0, KnotVector *kv1, KnotVector *kv2, int dim_) | |
| NURBSPatch (Array< KnotVector * > &kv, int dim_) | |
| ~NURBSPatch () | |
| void | Print (ostream &out) |
| void | DegreeElevate (int dir, int t) |
| void | KnotInsert (int dir, const KnotVector &knot) |
| void | KnotInsert (int dir, const Vector &knot) |
| void | KnotInsert (Array< KnotVector * > &knot) |
| void | DegreeElevate (int t) |
| void | UniformRefinement () |
| KnotVector * | GetKV (int i) |
| double & | operator() (int i, int j, int l) |
| const double & | operator() (int i, int j, int l) const |
| double & | operator() (int i, int j, int k, int l) |
| const double & | operator() (int i, int j, int k, int l) const |
| void | FlipDirection (int dir) |
| void | SwapDirections (int dir1, int dir2) |
| void | Rotate3D (double normal[], double angle) |
| int | MakeUniformDegree () |
Static Public Member Functions | |
| static void | Get3DRotationMatrix (double n[], double angle, double r, DenseMatrix &T) |
Protected Member Functions | |
| void | swap (NURBSPatch *np) |
| int | SetLoopDirection (int dir) |
| double & | operator() (int i, int j) |
| const double & | operator() (int i, int j) const |
| void | init (int dim_) |
| NURBSPatch (NURBSPatch *parent, int dir, int Order, int NCP) | |
Protected Attributes | |
| int | ni |
| int | nj |
| int | nk |
| int | Dim |
| double * | data |
| Array< KnotVector * > | kv |
| int | sd |
| int | nd |
Friends | |
| NURBSPatch * | Interpolate (NURBSPatch &p1, NURBSPatch &p2) |
| NURBSPatch * | Revolve3D (NURBSPatch &patch, double n[], double ang, int times) |
| NURBSPatch::NURBSPatch | ( | NURBSPatch * | parent, |
| int | dir, | ||
| int | Order, | ||
| int | NCP | ||
| ) | [protected] |
Definition at line 345 of file nurbs.cpp.
References Dim, init(), kv, Array< T >::SetSize(), and Array< T >::Size().
Referenced by DegreeElevate(), KnotInsert(), and SwapDirections().
| NURBSPatch::NURBSPatch | ( | istream & | input | ) |
| NURBSPatch::NURBSPatch | ( | KnotVector * | kv0, |
| KnotVector * | kv1, | ||
| int | dim_ | ||
| ) |
Definition at line 319 of file nurbs.cpp.
References init(), kv, and Array< T >::SetSize().
| NURBSPatch::NURBSPatch | ( | KnotVector * | kv0, |
| KnotVector * | kv1, | ||
| KnotVector * | kv2, | ||
| int | dim_ | ||
| ) |
Definition at line 327 of file nurbs.cpp.
References init(), kv, and Array< T >::SetSize().
| NURBSPatch::NURBSPatch | ( | Array< KnotVector * > & | kv, |
| int | dim_ | ||
| ) |
Definition at line 337 of file nurbs.cpp.
References init(), kv, Array< T >::SetSize(), and Array< T >::Size().
| NURBSPatch::~NURBSPatch | ( | ) |
Definition at line 380 of file nurbs.cpp.
References data, kv, and Array< T >::Size().
| void NURBSPatch::DegreeElevate | ( | int | dir, |
| int | t | ||
| ) |
Definition at line 610 of file nurbs.cpp.
References KnotVector::GetElements(), KnotVector::GetNCP(), KnotVector::GetNE(), KnotVector::GetOrder(), kv, mfem_error(), NURBSPatch(), SetLoopDirection(), Array< T >::Size(), and swap().
Referenced by DegreeElevate(), KnotInsert(), and MakeUniformDegree().
| void NURBSPatch::DegreeElevate | ( | int | t | ) |
Definition at line 601 of file nurbs.cpp.
References DegreeElevate(), kv, and Array< T >::Size().
| void NURBSPatch::FlipDirection | ( | int | dir | ) |
Definition at line 827 of file nurbs.cpp.
References kv, nd, and SetLoopDirection().
| void NURBSPatch::Get3DRotationMatrix | ( | double | n[], |
| double | angle, | ||
| double | r, | ||
| DenseMatrix & | T | ||
| ) | [static] |
Definition at line 859 of file nurbs.cpp.
References DenseMatrix::SetSize().
Referenced by Revolve3D(), and Rotate3D().
| KnotVector* NURBSPatch::GetKV | ( | int | i | ) | [inline] |
| void NURBSPatch::init | ( | int | dim_ | ) | [protected] |
Definition at line 260 of file nurbs.cpp.
References data, Dim, kv, mfem_error(), nd, ni, nj, nk, sd, and Array< T >::Size().
Referenced by NURBSPatch().
| void NURBSPatch::KnotInsert | ( | int | dir, |
| const Vector & | knot | ||
| ) |
Definition at line 515 of file nurbs.cpp.
References KnotVector::findKnotSpan(), KnotVector::GetElements(), KnotVector::GetNCP(), KnotVector::GetOrder(), kv, mfem_error(), NURBSPatch(), SetLoopDirection(), Vector::Size(), Array< T >::Size(), and swap().
| void NURBSPatch::KnotInsert | ( | int | dir, |
| const KnotVector & | knot | ||
| ) |
Definition at line 490 of file nurbs.cpp.
References DegreeElevate(), KnotVector::Difference(), GetKV(), KnotVector::GetOrder(), kv, mfem_error(), Vector::Size(), and Array< T >::Size().
Referenced by Interpolate(), KnotInsert(), and UniformRefinement().
| void NURBSPatch::KnotInsert | ( | Array< KnotVector * > & | knot | ) |
Definition at line 482 of file nurbs.cpp.
References KnotInsert(), kv, and Array< T >::Size().
| int NURBSPatch::MakeUniformDegree | ( | ) |
Definition at line 920 of file nurbs.cpp.
References DegreeElevate(), kv, and Array< T >::Size().
| double & NURBSPatch::operator() | ( | int | i, |
| int | j, | ||
| int | k, | ||
| int | l | ||
| ) | [inline] |
| double & NURBSPatch::operator() | ( | int | i, |
| int | j | ||
| ) | [inline, protected] |
| const double & NURBSPatch::operator() | ( | int | i, |
| int | j | ||
| ) | const [inline, protected] |
| const double & NURBSPatch::operator() | ( | int | i, |
| int | j, | ||
| int | k, | ||
| int | l | ||
| ) | const [inline] |
| double & NURBSPatch::operator() | ( | int | i, |
| int | j, | ||
| int | l | ||
| ) | [inline] |
| const double & NURBSPatch::operator() | ( | int | i, |
| int | j, | ||
| int | l | ||
| ) | const [inline] |
| void NURBSPatch::Print | ( | ostream & | out | ) |
Definition at line 391 of file nurbs.cpp.
References data, Dim, kv, Array< T >::Print(), and Array< T >::Size().
| void NURBSPatch::Rotate3D | ( | double | normal[], |
| double | angle | ||
| ) |
Definition at line 898 of file nurbs.cpp.
References data, Dim, Get3DRotationMatrix(), kv, mfem_error(), DenseMatrix::Mult, Vector::SetData(), and Array< T >::Size().
| int NURBSPatch::SetLoopDirection | ( | int | dir | ) | [protected] |
Definition at line 413 of file nurbs.cpp.
References Dim, mfem_error(), nd, ni, nj, nk, and sd.
Referenced by DegreeElevate(), FlipDirection(), KnotInsert(), and SwapDirections().
| void NURBSPatch::swap | ( | NURBSPatch * | np | ) | [protected] |
Definition at line 356 of file nurbs.cpp.
References Array< T >::Copy(), data, Dim, kv, ni, nj, nk, Array< T >::SetSize(), and Array< T >::Size().
Referenced by DegreeElevate(), KnotInsert(), and SwapDirections().
| void NURBSPatch::SwapDirections | ( | int | dir1, |
| int | dir2 | ||
| ) |
Definition at line 837 of file nurbs.cpp.
References Array< T >::Copy(), Dim, kv, mfem_error(), nd, NURBSPatch(), SetLoopDirection(), and swap().
| void NURBSPatch::UniformRefinement | ( | ) |
Definition at line 472 of file nurbs.cpp.
References KnotInsert(), kv, and Array< T >::Size().
| NURBSPatch* Interpolate | ( | NURBSPatch & | p1, |
| NURBSPatch & | p2 | ||
| ) | [friend] |
| NURBSPatch* Revolve3D | ( | NURBSPatch & | patch, |
| double | n[], | ||
| double | ang, | ||
| int | times | ||
| ) | [friend] |
double* NURBSPatch::data [protected] |
Definition at line 73 of file nurbs.hpp.
Referenced by init(), Interpolate(), NURBSPatch(), operator()(), Print(), Revolve3D(), Rotate3D(), swap(), and ~NURBSPatch().
int NURBSPatch::Dim [protected] |
Definition at line 72 of file nurbs.hpp.
Referenced by init(), Interpolate(), NURBSPatch(), operator()(), Print(), Revolve3D(), Rotate3D(), SetLoopDirection(), swap(), and SwapDirections().
Array<KnotVector *> NURBSPatch::kv [protected] |
Definition at line 75 of file nurbs.hpp.
Referenced by DegreeElevate(), FlipDirection(), GetKV(), init(), Interpolate(), KnotInsert(), MakeUniformDegree(), NURBSPatch(), Print(), Revolve3D(), Rotate3D(), swap(), SwapDirections(), UniformRefinement(), and ~NURBSPatch().
int NURBSPatch::nd [protected] |
Definition at line 77 of file nurbs.hpp.
Referenced by FlipDirection(), init(), operator()(), SetLoopDirection(), and SwapDirections().
int NURBSPatch::ni [protected] |
Definition at line 72 of file nurbs.hpp.
Referenced by init(), operator()(), SetLoopDirection(), and swap().
int NURBSPatch::nj [protected] |
Definition at line 72 of file nurbs.hpp.
Referenced by init(), operator()(), SetLoopDirection(), and swap().
int NURBSPatch::nk [protected] |
Definition at line 72 of file nurbs.hpp.
Referenced by init(), operator()(), SetLoopDirection(), and swap().
int NURBSPatch::sd [protected] |
Definition at line 77 of file nurbs.hpp.
Referenced by init(), operator()(), and SetLoopDirection().
1.7.4