dune-pdelab  2.0.0
experimental/common/vtkexport.hh
Go to the documentation of this file.
1 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 // vi: set et ts=4 sw=2 sts=2:
3 
4 #ifndef DUNE_PDELAB_EXPERIMENTAL_COMMON_VTKEXPORT_HH
5 #define DUNE_PDELAB_EXPERIMENTAL_COMMON_VTKEXPORT_HH
6 
7 #include <limits>
8 
9 #include<dune/grid/io/file/vtk/skeletonfunction.hh>
10 
12 
13 namespace Dune {
14  namespace PDELab {
15 
17 
33  template<typename Func>
35  {
36  const Func& func;
37 
38  public:
40  typedef VTK::SkeletonFunctionTraits
41  < typename Func::Traits::GridViewType,
42  typename Func::Traits::RangeFieldType> Traits;
43 
45 
50  VTKBoundaryGridFunctionAdapter(const Func& func_)
51  : func(func_)
52  { }
53 
55  unsigned dimRange() const { return Func::Traits::dimRange; };
56 
58  void evaluate(const typename Traits::Cell& c,
59  const typename Traits::Domain& xl,
60  typename Traits::Range& result) const
61  {
62  typename Func::Traits::RangeType val;
64  ig(c, std::numeric_limits<unsigned>::max());
65  func.evaluate(ig, xl, val);
66  result.assign(val.begin(), val.end());
67  }
68  };
69 
70  }
71 }
72 
73 #endif // DUNE_PDELAB_EXPERIMENTAL_COMMON_VTKEXPORT_HH
unsigned dimRange() const
return number of components
Definition: experimental/common/vtkexport.hh:55
wrap a BoundaryGridFunction for the VTKWriter
Definition: experimental/common/vtkexport.hh:34
VTKBoundaryGridFunctionAdapter(const Func &func_)
create an adapter object
Definition: experimental/common/vtkexport.hh:50
void evaluate(const typename Traits::Cell &c, const typename Traits::Domain &xl, typename Traits::Range &result) const
evaluate function
Definition: experimental/common/vtkexport.hh:58
const IG & ig
Definition: common/constraints.hh:146
VTK::SkeletonFunctionTraits< typename Func::Traits::GridViewType, typename Func::Traits::RangeFieldType > Traits
export Traits
Definition: experimental/common/vtkexport.hh:42
Wrap intersection.
Definition: geometrywrapper.hh:56