Medusa  1.1
Coordinate Free Mehless Method implementation
HalfLinksRefine_fwd.hpp
Go to the documentation of this file.
1 #ifndef MEDUSA_BITS_DOMAINS_HALFLINKSREFINE_FWD_HPP_
2 #define MEDUSA_BITS_DOMAINS_HALFLINKSREFINE_FWD_HPP_
3 
11 #include <medusa/Config.hpp>
14 
15 namespace mm {
16 
17 template <class vec_t>
19 
31  double fraction_ = 0.4;
32 
33  public:
38  HalfLinksRefine& region(Range<int> region) { region_ = std::move(region); return *this; }
44  HalfLinksRefine& min_dist(double fraction) { fraction_ = fraction; return *this; }
45 
50  template <typename vec_t>
52 
59  template <typename vec_t>
61 
62  private:
71  template <class vec_t>
72  static Range<int> refine_impl(
74  double fraction, KDTreeMutable<vec_t>& domain_tree);
75 };
76 
77 
78 } // namespace mm
79 
80 #endif // MEDUSA_BITS_DOMAINS_HALFLINKSREFINE_FWD_HPP_
mm
Root namespace for the whole library.
Definition: Gaussian.hpp:14
mm::HalfLinksRefine::region_
Range< int > region_
Node indexes around which to refine.
Definition: HalfLinksRefine_fwd.hpp:30
mm::DomainDiscretization
Class representing domain discretization along with an associated shape.
Definition: DomainDiscretization_fwd.hpp:46
mm::KDTreeMutable
A k-d tree data structure that supports dynamic insertions and lazy-removal.
Definition: HalfLinksRefine_fwd.hpp:18
mm::HalfLinksRefine
Refine a region of nodes region by connecting every node in region to its support domain and generati...
Definition: HalfLinksRefine_fwd.hpp:29
Config.hpp
mm::HalfLinksRefine::region
HalfLinksRefine & region(Range< int > region)
Set region to refine.
Definition: HalfLinksRefine_fwd.hpp:38
mm::HalfLinksRefine::refine_impl
static Range< int > refine_impl(DomainDiscretization< vec_t > &domain, const Range< int > &region, double fraction, KDTreeMutable< vec_t > &domain_tree)
Refine implementation with more control over fine grained details.
Definition: HalfLinksRefine.hpp:38
Range_fwd.hpp
DomainDiscretization_fwd.hpp
mm::HalfLinksRefine::operator()
Range< int > operator()(DomainDiscretization< vec_t > &domain) const
Refines given domain.
Definition: HalfLinksRefine.hpp:19
mm::Range< int >
mm::HalfLinksRefine::min_dist
HalfLinksRefine & min_dist(double fraction)
Minimal distance criterion around point p is that nodes generated at p must be at least fraction * cl...
Definition: HalfLinksRefine_fwd.hpp:44
mm::HalfLinksRefine::fraction_
double fraction_
Minimal distance fraction.
Definition: HalfLinksRefine_fwd.hpp:31