Framework for combining a signed distance function (sdf) with a domain mask to produce MADNESS functions.  
 More...
|  | 
|  | DomainMaskSDFFunctor (std::shared_ptr< DomainMaskInterface > mask, std::shared_ptr< SignedDFInterface< NDIM > > sdf) | 
|  | Constructor for mask/sdf functor.  More... 
 | 
|  | 
|  | DomainMaskSDFFunctor (std::shared_ptr< DomainMaskInterface > mask, std::shared_ptr< SignedDFInterface< NDIM > > sdf, int _mswitch) | 
|  | Constructor for mask/sdf function specifying the desired function (mask, surface, etc.)  More... 
 | 
|  | 
| double | operator() (const Vector< double, NDIM > &x) const | 
|  | Uses the functor interface to make a MADNESS function.  More... 
 | 
|  | 
| void | setMaskFunction (int _mswitch) | 
|  | Toggles which function from DomainMaskInterface to use when making the MADNESS function.  More... 
 | 
|  | 
| virtual | ~DomainMaskSDFFunctor () | 
|  | 
| virtual bool | screened (const Vector< double, NDIM > &c1, const Vector< double, NDIM > &c2) const | 
|  | Can we screen this function based on the bounding box information?  More... 
 | 
|  | 
| virtual bool | supports_vectorized () const | 
|  | Does the interface support a vectorized operator()?  More... 
 | 
|  | 
| virtual void | operator() (const Vector< double *, 1 > &xvals, double *fvals, int npts) const | 
|  | 
| virtual void | operator() (const Vector< double *, 2 > &xvals, double *fvals, int npts) const | 
|  | 
| virtual void | operator() (const Vector< double *, 3 > &xvals, double *fvals, int npts) const | 
|  | 
| virtual void | operator() (const Vector< double *, 4 > &xvals, double *fvals, int npts) const | 
|  | 
| virtual void | operator() (const Vector< double *, 5 > &xvals, double *fvals, int npts) const | 
|  | 
| virtual void | operator() (const Vector< double *, 6 > &xvals, double *fvals, int npts) const | 
|  | 
| virtual std::vector< Vector < double, NDIM > >
 | special_points () const | 
|  | Override this to return list of special points to be refined more deeply.  More... 
 | 
|  | 
| virtual Level | special_level () | 
|  | Override this change level refinement for special points (default is 6)  More... 
 | 
|  | 
| virtual | ~FunctionFunctorInterface () | 
|  | 
| virtual coeffT | coeff (const keyT &) const | 
|  | 
| virtual coeffT | values (const keyT &key, const Tensor< double > &tensor) const | 
|  | 
| virtual bool | provides_coeff () const | 
|  | does this functor directly provide sum coefficients? or only function values?  More... 
 | 
|  | 
template<std::size_t NDIM>
class madness::DomainMaskSDFFunctor< NDIM >
Framework for combining a signed distance function (sdf) with a domain mask to produce MADNESS functions. 
This interface provides functor functionality to produce MADNESS functions for
- the domain mask (given the sdf)
- the derivative of the domain mask
- the surface (given the sdf)
- the normal derivative of the surface layer
The functor defaults to the domain mask; however, member functions can toggle between the other options.