MFEM  v4.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
mfem::NURBSPatch Class Reference

#include <nurbs.hpp>

Collaboration diagram for mfem::NURBSPatch:
[legend]

Public Member Functions

 NURBSPatch (const NURBSPatch &orig)
 
 NURBSPatch (std::istream &input)
 
 NURBSPatch (const KnotVector *kv0, const KnotVector *kv1, int dim_)
 
 NURBSPatch (const KnotVector *kv0, const KnotVector *kv1, const KnotVector *kv2, int dim_)
 
 NURBSPatch (Array< const KnotVector * > &kv, int dim_)
 
 ~NURBSPatch ()
 
void Print (std::ostream &out) const
 
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 ()
 
int GetNC () const
 
int GetNKV () const
 
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 (int degree=-1)
 

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 85 of file nurbs.hpp.

Constructor & Destructor Documentation

mfem::NURBSPatch::NURBSPatch ( NURBSPatch parent,
int  dir,
int  Order,
int  NCP 
)
protected

Definition at line 404 of file nurbs.cpp.

mfem::NURBSPatch::NURBSPatch ( const NURBSPatch orig)

Definition at line 318 of file nurbs.cpp.

mfem::NURBSPatch::NURBSPatch ( std::istream &  input)

Definition at line 334 of file nurbs.cpp.

mfem::NURBSPatch::NURBSPatch ( const KnotVector kv0,
const KnotVector kv1,
int  dim_ 
)

Definition at line 376 of file nurbs.cpp.

mfem::NURBSPatch::NURBSPatch ( const KnotVector kv0,
const KnotVector kv1,
const KnotVector kv2,
int  dim_ 
)

Definition at line 384 of file nurbs.cpp.

mfem::NURBSPatch::NURBSPatch ( Array< const KnotVector * > &  kv,
int  dim_ 
)

Definition at line 394 of file nurbs.cpp.

mfem::NURBSPatch::~NURBSPatch ( )

Definition at line 445 of file nurbs.cpp.

Member Function Documentation

void mfem::NURBSPatch::DegreeElevate ( int  dir,
int  t 
)

Definition at line 697 of file nurbs.cpp.

void mfem::NURBSPatch::DegreeElevate ( int  t)

Definition at line 688 of file nurbs.cpp.

void mfem::NURBSPatch::FlipDirection ( int  dir)

Definition at line 948 of file nurbs.cpp.

void mfem::NURBSPatch::Get3DRotationMatrix ( double  n[],
double  angle,
double  r,
DenseMatrix T 
)
static

Definition at line 985 of file nurbs.cpp.

KnotVector* mfem::NURBSPatch::GetKV ( int  i)
inline

Definition at line 129 of file nurbs.hpp.

int mfem::NURBSPatch::GetNC ( ) const
inline

Definition at line 127 of file nurbs.hpp.

int mfem::NURBSPatch::GetNKV ( ) const
inline

Definition at line 128 of file nurbs.hpp.

void mfem::NURBSPatch::init ( int  dim_)
protected

Definition at line 277 of file nurbs.cpp.

void mfem::NURBSPatch::KnotInsert ( int  dir,
const KnotVector knot 
)

Definition at line 559 of file nurbs.cpp.

void mfem::NURBSPatch::KnotInsert ( int  dir,
const Vector knot 
)

Definition at line 586 of file nurbs.cpp.

void mfem::NURBSPatch::KnotInsert ( Array< KnotVector * > &  knot)

Definition at line 551 of file nurbs.cpp.

int mfem::NURBSPatch::MakeUniformDegree ( int  degree = -1)

Definition at line 1050 of file nurbs.cpp.

double & mfem::NURBSPatch::operator() ( int  i,
int  j 
)
inlineprotected

Definition at line 474 of file nurbs.hpp.

const double & mfem::NURBSPatch::operator() ( int  i,
int  j 
) const
inlineprotected

Definition at line 479 of file nurbs.hpp.

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

Definition at line 484 of file nurbs.hpp.

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

Definition at line 497 of file nurbs.hpp.

double & mfem::NURBSPatch::operator() ( int  i,
int  j,
int  k,
int  l 
)
inline

Definition at line 510 of file nurbs.hpp.

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

Definition at line 523 of file nurbs.hpp.

void mfem::NURBSPatch::Print ( std::ostream &  out) const

Definition at line 458 of file nurbs.cpp.

void mfem::NURBSPatch::Rotate3D ( double  normal[],
double  angle 
)

Definition at line 1024 of file nurbs.cpp.

int mfem::NURBSPatch::SetLoopDirection ( int  dir)
protected

Definition at line 482 of file nurbs.cpp.

void mfem::NURBSPatch::swap ( NURBSPatch np)
protected

Definition at line 419 of file nurbs.cpp.

void mfem::NURBSPatch::SwapDirections ( int  dir1,
int  dir2 
)

Definition at line 960 of file nurbs.cpp.

void mfem::NURBSPatch::UniformRefinement ( )

Definition at line 541 of file nurbs.cpp.

Friends And Related Function Documentation

NURBSPatch* Interpolate ( NURBSPatch p1,
NURBSPatch p2 
)
friend

Definition at line 1073 of file nurbs.cpp.

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

Definition at line 1120 of file nurbs.cpp.

Member Data Documentation

double* mfem::NURBSPatch::data
protected

Definition at line 89 of file nurbs.hpp.

int mfem::NURBSPatch::Dim
protected

Definition at line 88 of file nurbs.hpp.

Array<KnotVector *> mfem::NURBSPatch::kv
protected

Definition at line 91 of file nurbs.hpp.

int mfem::NURBSPatch::nd
protected

Definition at line 93 of file nurbs.hpp.

int mfem::NURBSPatch::ni
protected

Definition at line 88 of file nurbs.hpp.

int mfem::NURBSPatch::nj
protected

Definition at line 88 of file nurbs.hpp.

int mfem::NURBSPatch::nk
protected

Definition at line 88 of file nurbs.hpp.

int mfem::NURBSPatch::sd
protected

Definition at line 93 of file nurbs.hpp.


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