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

#include <GenericField.h>

Inheritance diagram for VGenericField< FIELD >:
VField

Public Member Functions

 VGenericField (FIELD *field, VFData *vfdata)
 
virtual ~VGenericField ()
 
- Public Member Functions inherited from VField
 VField ()
 
virtual ~VField ()
 
MeshHandle mesh ()
 mesh() and vmesh() get the handle to the mesh and its virtual interface More...
 
VMeshvmesh ()
 
FieldHandle field ()
 get a handle to the field More...
 
VFieldvfield ()
 for completeness get a pointer to itself More...
 
int basis_order ()
 
VMesh::size_type num_values ()
 get the number of values in the field (data at corner nodes of the elements) More...
 
VMesh::size_type num_evalues ()
 get the number of edge values in the field (for quadratic approximation) More...
 
void resize_fdata ()
 resize the data fields to match the number of nodes/edges in the mesh More...
 
void resize_values ()
 
void get_values_dimension (dimension_type &dims)
 
bool get_center (Core::Geometry::Point &p, index_type idx)
 
template<class T >
void get_value (T &val, index_type idx) const
 
template<class T >
void get_evalue (T &val, index_type idx) const
 
template<class T >
void get_value (T &val, VMesh::Node::index_type idx) const
 
template<class T >
void get_value (T &val, VMesh::Edge::index_type idx) const
 
template<class T >
void get_value (T &val, VMesh::Face::index_type idx) const
 
template<class T >
void get_value (T &val, VMesh::Cell::index_type idx) const
 
template<class T >
void get_value (T &val, VMesh::Elem::index_type idx) const
 
template<class T >
void get_value (T &val, VMesh::DElem::index_type idx) const
 
template<class T >
void get_value (T &val, VMesh::ENode::index_type idx) const
 
template<class T >
bool value (T &val, index_type idx) const
 
template<class T >
bool value (T &val, VMesh::Node::index_type idx) const
 
template<class T >
bool value (T &val, VMesh::Edge::index_type idx) const
 
template<class T >
bool value (T &val, VMesh::Face::index_type idx) const
 
template<class T >
bool value (T &val, VMesh::Cell::index_type idx) const
 
template<class T >
bool value (T &val, VMesh::Elem::index_type idx) const
 
template<class T >
bool value (T &val, VMesh::DElem::index_type idx) const
 
template<class T >
void get_weighted_value (T &val, const index_type *idx, const weight_type *w, size_type sz) const
 Functions for getting a weighted value. More...
 
template<class T >
void get_weighted_value (T &val, index_array_type idx, weight_array_type w) const
 
template<class T >
void get_weighted_evalue (T &val, const index_type *idx, const weight_type *w, size_type sz) const
 
template<class T >
void get_weighted_evalue (T &val, index_array_type idx, weight_array_type w) const
 
template<class T >
void set_value (const T &val, index_type idx)
 
template<class T >
void set_evalue (const T &val, index_type idx)
 
template<class T >
void set_value (const T &val, VMesh::Node::index_type idx)
 
template<class T >
void set_value (const T &val, VMesh::Edge::index_type idx)
 
template<class T >
void set_value (const T &val, VMesh::Face::index_type idx)
 
template<class T >
void set_value (const T &val, VMesh::Cell::index_type idx)
 
template<class T >
void set_value (const T &val, VMesh::Elem::index_type idx)
 
template<class T >
void set_value (const T &val, VMesh::DElem::index_type idx)
 
template<class T >
void set_value (const T &val, VMesh::ENode::index_type idx)
 
template<class T >
void set_values (const std::vector< T > &values)
 Get/Set all values at once. More...
 
template<class T >
void set_values (const T *data, size_type sz, index_type offset=0)
 
template<class T >
void get_values (std::vector< T > &values) const
 
template<class T >
void get_values (T *data, size_type sz, index_type offset=0) const
 
template<class T >
void set_values (const std::vector< T > &values, VMesh::Node::array_type nodes)
 
template<class T >
void set_values (const std::vector< T > &values, VMesh::Elem::array_type elems)
 
template<class T , class ARRAY >
void set_values (const std::vector< T > &values, ARRAY &idx)
 
template<class T >
void set_values (const T *values, VMesh::Node::array_type nodes)
 
template<class T >
void set_values (const T *values, VMesh::Elem::array_type elems)
 
template<class T , class ARRAY >
void set_values (const T *values, ARRAY &idx)
 
template<class T >
void get_values (std::vector< T > &values, VMesh::Node::array_type nodes) const
 
template<class T >
void get_values (std::vector< T > &values, VMesh::Elem::array_type elems) const
 
template<class T , class ARRAY >
void get_values (std::vector< T > &values, ARRAY &idx) const
 
template<class T >
void get_values (T *values, VMesh::Node::array_type nodes) const
 
template<class T >
void get_values (T *values, VMesh::Elem::array_type elems) const
 
template<class T , class ARRAY >
void get_values (T *values, ARRAY &idx) const
 
template<class T >
void set_all_values (const T val)
 Set all values to a specific value. More...
 
template<class INDEX >
void copy_weighted_value (VField *field, index_type *idx, weight_type *w, size_type sz, INDEX i) const
 Functions for getting a weighted value. More...
 
template<class INDEX , class ARRAY >
void copy_weighted_value (VField *field, ARRAY idx, weight_array_type w, INDEX i) const
 
template<class INDEX >
void copy_weighted_evalue (VField *field, index_type *idx, weight_type *w, size_type sz, INDEX i) const
 
template<class INDEX , class ARRAY >
void copy_weighted_evalue (VField *field, ARRAY idx, weight_array_type w, INDEX i) const
 
void clear_all_values ()
 
template<class T >
void set_evalues (const std::vector< T > &values)
 
template<class T >
void set_evalues (const T *data, size_type sz, index_type offset=0)
 
template<class T >
void get_evalues (std::vector< T > &values) const
 
template<class T >
void get_evalues (T *data, size_type sz, index_type offset=0) const
 
template<class INDEX1 , class INDEX2 >
void copy_value (VField *field, INDEX1 idx1, INDEX2 idx2)
 
template<class INDEX1 , class INDEX2 >
void copy_evalue (VField *field, INDEX1 idx1, INDEX2 idx2)
 Same for edge values. More...
 
template<class INDEX1 , class INDEX2 >
void copy_values (VField *field, INDEX1 idx1, INDEX2 idx2, size_type sz)
 
template<class INDEX1 , class INDEX2 >
void copy_evalues (VField *field, INDEX1 idx1, INDEX2 idx2, size_type sz)
 Same for edge values. More...
 
void copy_values (VField *field)
 
void copy_evalues (VField *field)
 
bool min (double &mn, index_type &idx)
 Maximum and minimum of values (with index to see where maximum is located) More...
 
bool min (double &mn)
 
bool max (double &mx, index_type &idx) const
 
bool max (double &mx) const
 
bool minmax (double &mn, index_type &idxmn, double &mx, index_type idxmx) const
 Combined min max for efficiency. More...
 
bool minmax (double &mn, double &mx) const
 version of minmax without indices More...
 
void size (VMesh::Node::size_type &sz)
 
void size (VMesh::ENode::size_type &sz)
 
int dimension ()
 dimensions of the element 0 .. 3 More...
 
int dofs ()
 number of degree of freedoms in each element type in the mesh More...
 
template<class ARRAY , class DATA >
void minterpolate (ARRAY &val, const VMesh::coords_array_type &coords, VMesh::index_type idx, DATA def_value) const
 
template<class ARRAY >
void minterpolate (ARRAY &val, const VMesh::coords_array_type &coords, VMesh::index_type idx) const
 
template<class T >
void interpolate (T &val, const VMesh::coords_type &coords, VMesh::index_type idx, T def_value=(static_cast< T >(0))) const
 
template<class ARRAY , class DATA >
void minterpolate (ARRAY &val, const std::vector< Core::Geometry::Point > &points, DATA def_value=(static_cast< DATA >(0))) const
 
template<class ARRAY , class DATA >
void minterpolate (ARRAY &val, const std::vector< Core::Geometry::Point > &points, DATA def_value, VMesh::MultiElemInterpolate &ei) const
 
template<class T >
bool interpolate (T &val, const Core::Geometry::Point &point, T def_value=(static_cast< T >(0))) const
 
template<class T >
bool interpolate (T &val, const Core::Geometry::Point &point, T def_value, VMesh::ElemInterpolate &ei) const
 
void interpolate (Core::Geometry::Point &val, const VMesh::coords_type &coords, VMesh::index_type idx) const
 
template<class T >
void interpolate (T &val, const VMesh::coords_type &coords, VMesh::Edge::index_type idx) const
 
template<class T >
void interpolate (T &val, const VMesh::coords_type &coords, VMesh::Face::index_type idx) const
 
template<class T >
void interpolate (T &val, const VMesh::coords_type &coords, VMesh::Cell::index_type idx) const
 
template<class T >
void interpolate (T &val, const VMesh::coords_type &coords, VMesh::Elem::index_type idx) const
 
template<class T >
void interpolate (T &val, const VMesh::coords_type &coords, VMesh::DElem::index_type idx) const
 
template<class ARRAY >
void minterpolate (ARRAY &val, const VMesh::coords_array_type &coords, VMesh::Edge::index_type idx) const
 
template<class ARRAY >
void minterpolate (ARRAY &val, const VMesh::coords_array_type &coords, VMesh::Face::index_type idx) const
 
template<class ARRAY >
void minterpolate (ARRAY &val, const VMesh::coords_array_type &coords, VMesh::Cell::index_type idx) const
 
template<class ARRAY >
void minterpolate (ARRAY &val, const VMesh::coords_array_type &coords, VMesh::Elem::index_type idx) const
 
template<class ARRAY >
void minterpolate (ARRAY &val, const VMesh::coords_array_type &coords, VMesh::DElem::index_type idx) const
 
template<class T >
void gradient (StackVector< T, 3 > &val, const VMesh::coords_type &coords, VMesh::index_type idx, T def_value=(static_cast< T >(0))) const
 
template<class T >
void mgradient (std::vector< StackVector< T, 3 > > &val, const VMesh::coords_array_type &coords, VMesh::index_type idx, T def_value=(static_cast< T >(0))) const
 
template<class T >
bool gradient (StackVector< T, 3 > &val, const Core::Geometry::Point &point, T def_value=(static_cast< T >(0))) const
 
template<class T >
bool gradient (StackVector< T, 3 > &val, const Core::Geometry::Point &point, T def_value, VMesh::ElemGradient &eg) const
 
template<class T >
void mgradient (std::vector< StackVector< T, 3 > > &val, const std::vector< Core::Geometry::Point > &points, T def_value=(static_cast< T >(0))) const
 
template<class T >
void mgradient (std::vector< StackVector< T, 3 > > &val, const std::vector< Core::Geometry::Point > &points, T def_value, VMesh::MultiElemGradient &eg) const
 
template<class T >
void gradient (StackVector< T, 3 > &val, const VMesh::coords_type &coords, VMesh::Edge::index_type idx) const
 Different versions for different index types. More...
 
template<class T >
void gradient (StackVector< T, 3 > &val, const VMesh::coords_type &coords, VMesh::Face::index_type idx) const
 
template<class T >
void gradient (StackVector< T, 3 > &val, const VMesh::coords_type &coords, VMesh::Cell::index_type idx) const
 
template<class T >
void gradient (StackVector< T, 3 > &val, const VMesh::coords_type &coords, VMesh::Elem::index_type idx) const
 
template<class T >
void gradient (StackVector< T, 3 > &val, const VMesh::coords_type &coords, VMesh::DElem::index_type idx) const
 
void update_mesh_pointer (Mesh *mesh)
 internal function - this one may change in the future More...
 
void * get_values_pointer ()
 
void * get_evalues_pointer ()
 
void * fdata_pointer ()
 
void * efdata_pointer ()
 
bool is_nodata ()
 
bool is_constantdata ()
 
bool is_lineardata ()
 
bool is_nonlineardata ()
 
bool is_quadraticdata ()
 
bool is_cubicdata ()
 
bool is_constantmesh ()
 
bool is_linearmesh ()
 
bool is_nonlinearmesh ()
 
bool is_quadraticmesh ()
 
bool is_cubicmesh ()
 
bool is_isomorphic ()
 
bool is_scalar ()
 
bool is_pair ()
 
bool is_vector ()
 
bool is_tensor ()
 
bool is_char ()
 
bool is_unsigned_char ()
 
bool is_short ()
 
bool is_unsigned_short ()
 
bool is_int ()
 
bool is_unsigned_int ()
 
bool is_long ()
 
bool is_unsigned_long ()
 
bool is_longlong ()
 
bool is_unsigned_longlong ()
 
bool is_float ()
 
bool is_double ()
 
bool is_type (char *)
 
bool is_type (unsigned char *)
 
bool is_type (short *)
 
bool is_type (unsigned short *)
 
bool is_type (int *)
 
bool is_type (unsigned int *)
 
bool is_type (long *)
 
bool is_type (unsigned long *)
 
bool is_type (long long *)
 
bool is_type (unsigned long long *)
 
bool is_type (double *)
 
bool is_type (float *)
 
bool is_type (Core::Geometry::Vector *)
 
bool is_type (Core::Geometry::Tensor *)
 
template<class T >
bool is_type (T *)
 
std::string get_data_type ()
 
bool is_signed_integer ()
 
bool is_unsigned_integer ()
 
bool is_integer ()
 
void copy_properties (VField *ifield)
 
template<class T >
void set_property (const std::string &name, const T &val, bool is_transient)
 
template<class T >
bool get_property (const std::string &name, T &val)
 
bool is_property (const std::string &name)
 

Additional Inherited Members

- Public Types inherited from VField
typedef VMesh::index_type index_type
 Import a couple of useful typedefs from VMesh. More...
 
typedef VMesh::size_type size_type
 
typedef VMesh::coords_type coords_type
 
typedef VMesh::weight_type weight_type
 
typedef VMesh::index_array_type index_array_type
 
typedef VMesh::weight_array_type weight_array_type
 
typedef VMesh::dimension_type dimension_type
 
- Protected Attributes inherited from VField
Fieldfield_
 
Meshmesh_
 
PropertyManagerpm_
 
VMeshvmesh_
 
VFDatavfdata_
 
int basis_order_
 
int number_of_nodes_
 
int number_of_enodes_
 
int element_dim_
 
int element_dofs_
 
bool is_scalar_
 
bool is_pair_
 
bool is_vector_
 
bool is_tensor_
 
bool is_time_
 
std::string data_type_
 

Constructor & Destructor Documentation

VGenericField ( FIELD *  field,
VFData vfdata 
)
inline

Create a fast way of checking scalar/pair/vector/tensor

virtual ~VGenericField ( )
inlinevirtual

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