SCIRun  5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
BasisSimple< T > Class Template Reference

Class for describing interfaces to basis elements. More...

#include <Basis.h>

Inheritance diagram for BasisSimple< T >:
BasisAddDerivatives< T > BasisAddNodes< T > ConstantBasis< T > CrvLinearLgn< T > HexTrilinearLgn< T > NoDataBasis< T > PrismLinearLgn< T > QuadBilinearLgn< T > TetLinearLgn< T > TriLinearLgn< T >

Public Member Functions

 BasisSimple ()
 
virtual ~BasisSimple ()
 
template<class ElemData , class VECTOR >
interpolate (const VECTOR &, const ElemData &) const
 get value at parametric coordinate More...
 
template<class ElemData , class VECTOR1 , class VECTOR2 >
void derivate (const VECTOR1 &, const ElemData &, VECTOR2 &) const
 get first derivative at parametric coordinate More...
 
template<class ElemData , class VECTOR >
bool get_coords (VECTOR &, const T &, const ElemData &) const
 get parametric coordinate for value within the element More...
 
template<class ElemData >
double get_arc_length (const unsigned, const ElemData &) const
 get arc length for edge of element More...
 
template<class ElemData >
double get_area (const unsigned, const ElemData &) const
 get area for face of element More...
 
template<class ElemData >
double get_volume (const ElemData &) const
 get volume for element More...
 
void add_node_value (const T &)
 add a node value More...
 
void set_node_value (const T &, unsigned int)
 
void get_node_value (T &, unsigned int) const
 
void resize_node_values (size_t)
 
size_t size_node_values ()
 return number of additional nodes More...
 
void add_derivatives (const std::vector< T > &)
 add a derivative value More...
 
void add_scalefactors (const std::vector< T > &)
 add scale factors More...
 
int size_derivatives ()
 return number of additional derivatives More...
 
std::vector< T > & get_nodes ()
 
std::vector< std::vector< T > > & get_derivs ()
 

Protected Attributes

std::vector< T > nodes_
 
std::vector< std::vector< T > > derivs_
 
std::vector< std::vector
< double > > 
scalefactors_
 
std::vector< double > scalefactorse_
 

Detailed Description

template<class T>
class SCIRun::Core::Basis::BasisSimple< T >

Class for describing interfaces to basis elements.

Constructor & Destructor Documentation

BasisSimple ( )
inline
virtual ~BasisSimple ( )
inlinevirtual

Member Function Documentation

void add_derivatives ( const std::vector< T > &  )
inline

add a derivative value

void add_node_value ( const T &  )
inline

add a node value

void add_scalefactors ( const std::vector< T > &  )
inline

add scale factors

void derivate ( const VECTOR1 &  ,
const ElemData &  ,
VECTOR2 &   
) const
inline

get first derivative at parametric coordinate

double get_arc_length ( const unsigned  ,
const ElemData &   
) const
inline

get arc length for edge of element

double get_area ( const unsigned  ,
const ElemData &   
) const
inline

get area for face of element

bool get_coords ( VECTOR &  ,
const T &  ,
const ElemData &   
) const
inline

get parametric coordinate for value within the element

std::vector<std::vector<T> >& get_derivs ( )
inline
void get_node_value ( T &  ,
unsigned  int 
) const
inline
std::vector<T>& get_nodes ( )
inline
double get_volume ( const ElemData &  ) const
inline

get volume for element

T interpolate ( const VECTOR &  ,
const ElemData &   
) const
inline

get value at parametric coordinate

Todo:
: exceptions being used to avoid virtual inheritance?
Todo:
: SCIRun 5 porting note: ASSERTFAIL replaced by
void resize_node_values ( size_t  )
inline
void set_node_value ( const T &  ,
unsigned  int 
)
inline
int size_derivatives ( )
inline

return number of additional derivatives

size_t size_node_values ( )
inline

return number of additional nodes

Member Data Documentation

std::vector<std::vector<T> > derivs_
protected
std::vector<T> nodes_
protected
std::vector<std::vector<double> > scalefactors_
protected
std::vector<double> scalefactorse_
protected

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