MFEM v2.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends
NURBSPatch Class Reference

#include <nurbs.hpp>

Collaboration diagram for NURBSPatch:
Collaboration graph
[legend]

List of all members.

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 ()
KnotVectorGetKV (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

NURBSPatchInterpolate (NURBSPatch &p1, NURBSPatch &p2)
NURBSPatchRevolve3D (NURBSPatch &patch, double n[], double ang, int times)

Detailed Description

Definition at line 69 of file nurbs.hpp.


Constructor & Destructor Documentation

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)

Definition at line 297 of file nurbs.cpp.

References data, init(), kv, and Array< T >::SetSize().

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().


Member Function Documentation

void NURBSPatch::DegreeElevate ( int  dir,
int  t 
)
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]

Definition at line 108 of file nurbs.hpp.

References kv.

Referenced by KnotInsert().

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 
)
void NURBSPatch::KnotInsert ( int  dir,
const KnotVector knot 
)
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]

Definition at line 427 of file nurbs.hpp.

References data, Dim, mfem_error(), ni, nj, and nk.

double & NURBSPatch::operator() ( int  i,
int  j 
) [inline, protected]

Definition at line 395 of file nurbs.hpp.

References data, nd, and sd.

const double & NURBSPatch::operator() ( int  i,
int  j 
) const [inline, protected]

Definition at line 400 of file nurbs.hpp.

References data, nd, and sd.

const double & NURBSPatch::operator() ( int  i,
int  j,
int  k,
int  l 
) const [inline]

Definition at line 438 of file nurbs.hpp.

References data, Dim, mfem_error(), ni, nj, and nk.

double & NURBSPatch::operator() ( int  i,
int  j,
int  l 
) [inline]

Definition at line 405 of file nurbs.hpp.

References data, Dim, mfem_error(), ni, nj, and nk.

const double & NURBSPatch::operator() ( int  i,
int  j,
int  l 
) const [inline]

Definition at line 416 of file nurbs.hpp.

References data, Dim, mfem_error(), ni, nj, and nk.

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 
)
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().


Friends And Related Function Documentation

NURBSPatch* Interpolate ( NURBSPatch p1,
NURBSPatch p2 
) [friend]

Definition at line 935 of file nurbs.cpp.

NURBSPatch* Revolve3D ( NURBSPatch patch,
double  n[],
double  ang,
int  times 
) [friend]

Definition at line 980 of file nurbs.cpp.


Member Data Documentation

double* NURBSPatch::data [protected]
int NURBSPatch::Dim [protected]
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().


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines