#include <HalfLinksRefine_fwd.hpp>
Refine a region of nodes region by connecting every node in region to its support domain and generating new nodes at half distances.
The new nodes are filtered to meet a minimum distance criterion to prevent points that would be too close.
Usage example:
Definition at line 29 of file HalfLinksRefine_fwd.hpp.
Collaboration diagram for mm::HalfLinksRefine:Public Member Functions | |
| HalfLinksRefine & | region (Range< int > region) |
| Set region to refine. More... | |
| HalfLinksRefine & | min_dist (double fraction) |
Minimal distance criterion around point p is that nodes generated at p must be at least fraction * closest_support_node away from all nodes. More... | |
| template<typename vec_t > | |
| Range< int > | operator() (DomainDiscretization< vec_t > &domain) const |
| Refines given domain. More... | |
| template<typename vec_t > | |
| Range< int > | operator() (DomainDiscretization< vec_t > &domain, KDTreeMutable< vec_t > &tree) const |
| Refine the domain with already given tree. More... | |
Static Private Member Functions | |
| template<class vec_t > | |
| static Range< int > | refine_impl (DomainDiscretization< vec_t > &domain, const Range< int > ®ion, double fraction, KDTreeMutable< vec_t > &domain_tree) |
| Refine implementation with more control over fine grained details. More... | |
Private Attributes | |
| Range< int > | region_ = {} |
| Node indexes around which to refine. More... | |
| double | fraction_ = 0.4 |
| Minimal distance fraction. More... | |
|
inline |
Minimal distance criterion around point p is that nodes generated at p must be at least fraction * closest_support_node away from all nodes.
Fraction must be less than 1/2. Default value is HalfLinksRefine::fraction_;
Definition at line 44 of file HalfLinksRefine_fwd.hpp.
| Range< int > mm::HalfLinksRefine::operator() | ( | DomainDiscretization< vec_t > & | domain | ) | const |
Refines given domain.
positions. Definition at line 19 of file HalfLinksRefine.hpp.
| Range< int > mm::HalfLinksRefine::operator() | ( | DomainDiscretization< vec_t > & | domain, |
| KDTreeMutable< vec_t > & | tree | ||
| ) | const |
Refine the domain with already given tree.
| domain | Domain discretization object, which will be refined. |
| tree | A mutable KDTree, which contains all domain nodes. New nodes will be inserted. |
positions. Definition at line 25 of file HalfLinksRefine.hpp.
|
staticprivate |
Refine implementation with more control over fine grained details.
| domain | Domain to refine. |
| region | A list of indices to refine. |
| fraction | Minimal distance fraction. |
| domain_tree | Tree containing all domain points. |
Definition at line 38 of file HalfLinksRefine.hpp.
|
inline |
Set region to refine.
The region is a set of indices of the nodes to be refined. All nodes are refined by default.
Definition at line 38 of file HalfLinksRefine_fwd.hpp.
|
private |
Minimal distance fraction.
Definition at line 31 of file HalfLinksRefine_fwd.hpp.
|
private |
Node indexes around which to refine.
Definition at line 30 of file HalfLinksRefine_fwd.hpp.