#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.
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.