SheafSystem
0.0.0.0
|
An abstract point location query in domains with global coordinate dimension DC and local coordinate dimension 0 using a search structure based on sorting bounding boxes into a regular array of bins. More...
#include <db0_point_locator.h>
Classes | |
struct | vertex_type |
The information stored in the search structure for each vertex. More... | |
Protected Member Functions | |
template<> | |
SHEAF_DLL_SPEC void | initialize_search_q () |
template<> | |
SHEAF_DLL_SPEC void | initialize_search_q () |
template<> | |
SHEAF_DLL_SPEC void | initialize_search_q () |
template<> | |
SHEAF_DLL_SPEC void | update_search_q (bin_coord_type xold_lb[], bin_coord_type xold_ub[]) |
template<> | |
SHEAF_DLL_SPEC void | update_search_q (bin_coord_type xold_lb[], bin_coord_type xold_ub[]) |
template<> | |
SHEAF_DLL_SPEC void | update_search_q (bin_coord_type xold_lb[], bin_coord_type xold_ub[]) |
template<> | |
SHEAF_DLL_SPEC int | bin_id (const bin_coord_type xcoord[]) const |
template<> | |
SHEAF_DLL_SPEC int | bin_id (const bin_coord_type xcoord[]) const |
template<> | |
SHEAF_DLL_SPEC int | bin_id (const bin_coord_type xcoord[]) const |
template<> | |
SHEAF_DLL_SPEC sec_vd_value_type | max_bin_distance (const sec_vd_value_type xpt[], const bin_coord_type xbin_pos[]) const |
template<> | |
SHEAF_DLL_SPEC sec_vd_value_type | max_bin_distance (const sec_vd_value_type xpt[], const bin_coord_type xbin_pos[]) const |
template<> | |
SHEAF_DLL_SPEC sec_vd_value_type | max_bin_distance (const sec_vd_value_type xpt[], const bin_coord_type xbin_pos[]) const |
template<> | |
SHEAF_DLL_SPEC void | print_bins (std::ostream &xos, const std::string &xmsg) const |
template<> | |
SHEAF_DLL_SPEC void | initialize_search_q () |
Puts all the bins from the search region onto the search queue specialized for DC=1. More... | |
template<> | |
SHEAF_DLL_SPEC void | initialize_search_q () |
Puts all the bins from the search region onto the search queue specialized for DC=2. More... | |
template<> | |
SHEAF_DLL_SPEC void | initialize_search_q () |
Puts all the bins from the search region onto the search queue specialized for DC=3. More... | |
template<> | |
SHEAF_DLL_SPEC void | update_search_q (bin_coord_type xold_lb[], bin_coord_type xold_ub[]) |
Puts previous unsearched bins from the search region onto the search queue specialized for DC=1. More... | |
template<> | |
SHEAF_DLL_SPEC void | update_search_q (bin_coord_type xold_lb[], bin_coord_type xold_ub[]) |
Puts previous unsearched bins from the search region onto the search queue specialized for DC=2. More... | |
template<> | |
SHEAF_DLL_SPEC void | update_search_q (bin_coord_type xold_lb[], bin_coord_type xold_ub[]) |
Puts previous unsearched bins from the search region onto the search queue specialized for DC=3. More... | |
Protected Member Functions inherited from geometry::point_locator | |
point_locator () | |
Default constructor. More... | |
point_locator (sec_ed &xcoords) | |
Create an instance for coordinate section xcoords. More... | |
void | update_domain () |
Initializes the domain bounds and dimension. More... | |
SPECIALIZATIONS | |
template<> | |
int | bin_id (const bin_coord_type xcoord[]) const |
template<> | |
int | bin_id (const bin_coord_type xcoord[]) const |
template<> | |
int | bin_id (const bin_coord_type xcoord[]) const |
template<> | |
void | print_bins (std::ostream &xos, const std::string &xmsg) const |
template<> | |
fiber_bundle::sec_vd_value_type | max_bin_distance (const sec_vd_value_type xpt[], const bin_coord_type xbin_pos[]) const |
template<> | |
fiber_bundle::sec_vd_value_type | max_bin_distance (const sec_vd_value_type xpt[], const bin_coord_type xbin_pos[]) const |
template<> | |
fiber_bundle::sec_vd_value_type | max_bin_distance (const sec_vd_value_type xpt[], const bin_coord_type xbin_pos[]) const |
DB0_POINT_LOCATOR FACET | |
typedef int | bin_coord_type |
The type of the bin coordinates. More... | |
typedef singly_linked_list< vertex_type > | vertex_list_type |
The type of vertex list. More... | |
block< size_type > | _bin_ub |
The upper bound for the bin index. More... | |
block< sec_vd_value_type > | _bin_size |
The dimensions of the smallest bins. More... | |
sec_vd_value_type | _bin_diag |
The diagonal length of the smallest bins. More... | |
block< sec_vd_value_type > | _one_over_min_bin_size |
Reciprocal of the dimensions of the smallest bins. More... | |
block< vertex_list_type > | _bins |
The search structure; a d-dimensional array of bins. More... | |
std::queue< int > | _search_q |
The bins scheduled to be searched for the current query point. More... | |
sec_vd_value_type | _search_radius |
The radius of a sphere centered on the query point that will be searched for vertices. More... | |
bin_coord_type | _search_region_lb [DC] |
The lower bound of the search region. More... | |
bin_coord_type | _search_region_ub [DC] |
The upper bound of the search region. More... | |
db0_point_locator (sec_ed &xcoords, const block< size_type > &xbin_ub) | |
Create an instance for coordinates xcoords with bin ub xbin_ub. More... | |
db0_point_locator (sec_ed &xcoords, int xavg_occupancy=2) | |
Creates an instance for coordinate section xcoords with average bin occupancy = xavg_occupancy. More... | |
virtual | ~db0_point_locator () |
Destructor. More... | |
const block< size_type > & | bin_ub () const |
The upper bound for the bin index. More... | |
const block< sec_vd_value_type > & | bin_size () const |
The dimensions of the smallest bins. More... | |
bool | is_empty () const |
True if the search structure contains no vertices. More... | |
void | relative_position (const sec_vd_value_type xpt[], bin_coord_type xresult[]) const |
The position of xpt relative to the lower bound in integer coordinates. More... | |
virtual void | clear () |
Clear the search structure of all bounding boxes. More... | |
db0_point_locator () | |
Default constructor; disabled. More... | |
db0_point_locator (const db0_point_locator &xother) | |
Copy constructor; disabled. More... | |
virtual db0_point_locator & | operator= (const point_locator &xother) |
Assignment operator; disabled. More... | |
db0_point_locator & | operator= (const db0_point_locator &xother) |
Assignment operator; disabled. More... | |
virtual void | update_bins () |
Updates the bin parameters. More... | |
void | find_closest_bin (const bin_coord_type xpt_pos[], bin_coord_type xbin_pos[]) |
Set xbin_pos the bin closest to xpt_pos. More... | |
void | initialize_search_region (const sec_vd_value_type xvalue[]) |
Initialize the search radius and the search region. More... | |
void | expand_search_region (const sec_vd_value_type xvalue[]) |
Increase the search radius and expand the search region to match. More... | |
void | compute_search_region (const sec_vd_value_type xvalue[]) |
Compute the intersection of the domain with the search box enclosing the search sphere. More... | |
void | initialize_search_q () |
Puts all the bins from the search region onto the search queue. More... | |
void | update_search_q (bin_coord_type xold_lb[], bin_coord_type xold_ub[]) |
Puts previous unsearched bins from the search region onto the search queue. More... | |
sec_vd_value_type | vertex_distance_sq (const sec_vd_value_type xglobal_coords[], const vertex_type &xvertex_entry) |
The squared distance from the point with coordinates xglobal_coords to the vertex associated with xvertex_id. More... | |
void | find_closest_vertex (const sec_vd_value_type *xvalue, sec_vd_value_type &xclosest_dist_sq, chart_point &xresult) |
Sets xresult.chart() to the vertex in _bins that is both closest to the point with value xvalue and closer than _search_radius. More... | |
void | find_closest_vertex_in_bin (int xbin_id, const sec_vd_value_type *xvalue, chart_point &xresult, sec_vd_value_type &xclosest_dist) |
Sets xresult.chart() to the vertex, if any in bin xbin_id that is both. More... | |
int | bin_id (const bin_coord_type xcoord[]) const |
The id of the bin with bin coords xcoord. More... | |
void | print_bins (std::ostream &xos, const std::string &xmsg) const |
Prints the contents of the bins on xos; intended for debugging. More... | |
void | print_queue (std::ostream &xos, const std::string &xmsg) const |
Prints the contents of the search queue on xos; intended for debugging. More... | |
void | print_value (std::ostream &xos, const sec_vd_value_type xvalue[], const std::string &xmsg) const |
Prints xvlaue on xos; intended for debugging. More... | |
void | print_coords (std::ostream &xos, const bin_coord_type xcoords[], const std::string &xmsg) const |
Prints xcoords on xos; intended for debugging. More... | |
sec_vd_value_type | max_bin_distance (const sec_vd_value_type xpt[], const bin_coord_type xbin_pos[]) const |
The maximum distance from the query point xpt to any point in the bin with coordinates xbin_pos. More... | |
POINT_LOCATOR FACET | |
virtual bool | invariant () const |
Class invariant. More... | |
virtual void | update () |
Updates the search structure to the current values of coordinates(). More... | |
virtual void | point_at_value (const sec_vd_value_type *xvalue, size_type xvalue_ub, chart_point &xresult) |
Finds a chart point at which coordinates() has value xvalue; for sections over db = 0 base spaces, this means the point with value closest to xvalue. More... | |
virtual void | all_points_at_value (const sec_vd_value_type *xvalue, size_type xvalue_ub, block< chart_point_3d > &xresult) |
Finds all chart points at which coordinates() has value xvalue; for sections over db = 0 base spaces, this means the single point with value closest to xvalue. More... | |
virtual void | branch_points_at_value (const sec_vd_value_type *xvalue, size_type xvalue_ub, block< branch_point_pair > &xresult) |
Finds one chart point in each branch at which coordinates() has value xvalue and appends them to xresult; for sections over db = 0 base spaces, this means the single point with value closest to xvalue. More... | |
Additional Inherited Members | |
Public Member Functions inherited from geometry::point_locator | |
sec_ed & | coordinates () const |
The coordinate section this inverts. More... | |
const block< sec_vd_value_type > & | lb () const |
The lower bound of the domain defined by coordinates(). More... | |
const block< sec_vd_value_type > & | ub () const |
The upper bound of the domain defined by coordinates(). More... | |
int | dc () const |
The spatial dimension of the domain; the dimension of the global coordinates. More... | |
int | db () const |
The intrinsic dimension of the domain; the dimension of the local coordinates. More... | |
bool | domain_contains (sec_vd_value_type *xpt, size_type xpt_ub) const |
True if the domain contains xpt. More... | |
virtual | ~point_locator () |
Destructor. More... | |
Static Protected Member Functions inherited from geometry::point_locator | |
static sec_vd_value_type | slightly_greater_than (sec_vd_value_type x) |
A value slightly greater then x. More... | |
static sec_vd_value_type | slightly_less_than (sec_vd_value_type x) |
A value slightly less then x. More... | |
Protected Attributes inherited from geometry::point_locator | |
block< sec_vd_value_type > | _lb |
The lower bound of the domain. More... | |
block< sec_vd_value_type > | _ub |
The upper bound of the domain. More... | |
int | _dc |
The spatial dimension of the domain; the dimension of the global coordinates. More... | |
int | _db |
The intrinsic dimension of the domain; the dimension of the local coordinates. More... | |
An abstract point location query in domains with global coordinate dimension DC and local coordinate dimension 0 using a search structure based on sorting bounding boxes into a regular array of bins.
Definition at line 57 of file db0_point_locator.h.
typedef int geometry::db0_point_locator< DC >::bin_coord_type |
The type of the bin coordinates.
Definition at line 81 of file db0_point_locator.h.
|
protected |
The type of vertex list.
Definition at line 182 of file db0_point_locator.h.
geometry::db0_point_locator< DC >::db0_point_locator | ( | sec_ed & | xcoords, |
const block< size_type > & | xbin_ub | ||
) |
Create an instance for coordinates xcoords with bin ub xbin_ub.
Definition at line 95 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_bin_size, geometry::db0_point_locator< DC >::_bin_ub, geometry::db0_point_locator< DC >::_one_over_min_bin_size, sheaf::auto_block< T, S >::ct(), geometry::db0_point_locator< DC >::db0_point_locator(), fiber_bundle::section_space_schema_member::df(), sheaf::abstract_poset_member::name(), fiber_bundle::section_space_schema_member::rep(), sheaf::auto_block< T, S >::reserve(), fiber_bundle::sec_rep_space_member::schema(), sheaf::auto_block< T, S >::set_ct(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and geometry::db0_point_locator< DC >::update().
geometry::db0_point_locator< DC >::db0_point_locator | ( | sec_ed & | xcoords, |
int | xavg_occupancy = 2 |
||
) |
Creates an instance for coordinate section xcoords with average bin occupancy = xavg_occupancy.
Definition at line 134 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_bin_size, geometry::db0_point_locator< DC >::_bin_ub, geometry::db0_point_locator< DC >::_one_over_min_bin_size, fiber_bundle::section_space_schema_member::discretization_ct(), fiber_bundle::sec_at0_algebra::exp(), fiber_bundle::sec_at0_algebra::log(), sheaf::abstract_poset_member::name(), geometry::point_locator::point_locator(), fiber_bundle::section_space_schema_member::rep(), sheaf::auto_block< T, S >::reserve(), fiber_bundle::sec_rep_space_member::schema(), sheaf::auto_block< T, S >::set_ct(), sheaf::read_write_monitor_handle::state_is_read_accessible(), geometry::db0_point_locator< DC >::update(), and geometry::db0_point_locator< DC >::~db0_point_locator().
|
virtual |
Destructor.
Definition at line 183 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::bin_ub().
Referenced by geometry::db0_point_locator< DC >::db0_point_locator().
|
inlineprotected |
Default constructor; disabled.
Definition at line 119 of file db0_point_locator.h.
Referenced by geometry::db0_point_locator< DC >::db0_point_locator().
|
inlineprotected |
Copy constructor; disabled.
Definition at line 124 of file db0_point_locator.h.
|
virtual |
Finds all chart points at which coordinates() has value xvalue; for sections over db = 0 base spaces, this means the single point with value closest to xvalue.
Implements geometry::point_locator.
Definition at line 1108 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::branch_points_at_value(), sheaf::auto_block< T, un_block_initialization_policy< T > >::ct(), geometry::point_locator::db(), geometry::point_locator::dc(), geometry::db0_point_locator< DC >::point_at_value(), and sheaf::auto_block< T, un_block_initialization_policy< T > >::set_ct().
Referenced by geometry::db0_point_locator< DC >::point_at_value().
|
protected |
The id of the bin with bin coords xcoord.
Referenced by geometry::db0_point_locator< DC >::update().
const block< sec_vd_value_type > & geometry::db0_point_locator< DC >::bin_size | ( | ) | const |
The dimensions of the smallest bins.
Definition at line 222 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_bin_size, and geometry::db0_point_locator< DC >::is_empty().
Referenced by geometry::db0_point_locator< DC >::bin_ub().
const block< size_type > & geometry::db0_point_locator< DC >::bin_ub | ( | ) | const |
The upper bound for the bin index.
Definition at line 201 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_bin_ub, geometry::db0_point_locator< DC >::bin_size(), and geometry::point_locator::dc().
Referenced by geometry::db0_point_locator< DC >::~db0_point_locator().
|
virtual |
Finds one chart point in each branch at which coordinates() has value xvalue and appends them to xresult; for sections over db = 0 base spaces, this means the single point with value closest to xvalue.
Implements geometry::point_locator.
Definition at line 1136 of file db0_point_locator.impl.h.
References sheaf::poset_state_handle::contains_member(), geometry::point_locator::coordinates(), sheaf::auto_block< T, S >::ct(), geometry::point_locator::db(), geometry::point_locator::dc(), fiber_bundle::sec_at1::host(), sheaf::poset_component::index(), geometry::db0_point_locator< DC >::point_at_value(), and sheaf::auto_block< T, S >::set_ct().
Referenced by geometry::db0_point_locator< DC >::all_points_at_value().
|
virtual |
Clear the search structure of all bounding boxes.
Definition at line 314 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_bins, geometry::db0_point_locator< DC >::is_empty(), and geometry::db0_point_locator< DC >::update_bins().
Referenced by geometry::db0_point_locator< DC >::relative_position().
|
protected |
Compute the intersection of the domain with the search box enclosing the search sphere.
Definition at line 581 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_bin_ub, geometry::db0_point_locator< DC >::_search_radius, geometry::db0_point_locator< DC >::_search_region_lb, geometry::db0_point_locator< DC >::_search_region_ub, geometry::db0_point_locator< DC >::print_coords(), geometry::db0_point_locator< DC >::print_value(), geometry::db0_point_locator< DC >::relative_position(), and geometry::db0_point_locator< DC >::vertex_distance_sq().
Referenced by geometry::db0_point_locator< DC >::expand_search_region(), and geometry::db0_point_locator< DC >::initialize_search_region().
|
protected |
Increase the search radius and expand the search region to match.
Definition at line 524 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_bin_diag, geometry::db0_point_locator< DC >::_bin_ub, geometry::db0_point_locator< DC >::_search_radius, geometry::db0_point_locator< DC >::_search_region_lb, geometry::db0_point_locator< DC >::_search_region_ub, geometry::db0_point_locator< DC >::compute_search_region(), and geometry::db0_point_locator< DC >::update_search_q().
Referenced by geometry::db0_point_locator< DC >::initialize_search_region(), and geometry::db0_point_locator< DC >::point_at_value().
|
protected |
Set xbin_pos the bin closest to xpt_pos.
Definition at line 422 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_bin_ub, geometry::db0_point_locator< DC >::initialize_search_region(), and geometry::db0_point_locator< DC >::print_coords().
Referenced by geometry::db0_point_locator< DC >::initialize_search_region(), and geometry::db0_point_locator< DC >::update_bins().
|
protected |
Sets xresult.chart() to the vertex in _bins that is both closest to the point with value xvalue and closer than _search_radius.
Definition at line 701 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_search_q, and geometry::db0_point_locator< DC >::find_closest_vertex_in_bin().
Referenced by geometry::db0_point_locator< DC >::point_at_value(), and geometry::db0_point_locator< DC >::vertex_distance_sq().
|
protected |
Sets xresult.chart() to the vertex, if any in bin xbin_id that is both.
Sets xclost_dist to the distance to the vertex.
Definition at line 736 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_bins, sheaf::singly_linked_list< T, A >::begin(), sheaf::singly_linked_list< T, A >::end(), geometry::db0_point_locator< DC >::print_bins(), fiber_bundle::chart_point::put_chart_id(), and geometry::db0_point_locator< DC >::vertex_distance_sq().
Referenced by geometry::db0_point_locator< DC >::find_closest_vertex().
|
protected |
Puts all the bins from the search region onto the search queue.
Referenced by geometry::db0_point_locator< DC >::initialize_search_region().
|
protected |
Puts all the bins from the search region onto the search queue specialized for DC=1.
|
protected |
Puts all the bins from the search region onto the search queue specialized for DC=2.
|
protected |
Puts all the bins from the search region onto the search queue specialized for DC=3.
|
protected |
Initialize the search radius and the search region.
Definition at line 466 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_search_radius, geometry::db0_point_locator< DC >::compute_search_region(), geometry::db0_point_locator< DC >::expand_search_region(), geometry::db0_point_locator< DC >::find_closest_bin(), geometry::db0_point_locator< DC >::initialize_search_q(), geometry::db0_point_locator< DC >::max_bin_distance(), geometry::db0_point_locator< DC >::print_coords(), geometry::db0_point_locator< DC >::print_value(), and geometry::db0_point_locator< DC >::relative_position().
Referenced by geometry::db0_point_locator< DC >::find_closest_bin(), and geometry::db0_point_locator< DC >::point_at_value().
|
virtual |
Class invariant.
Reimplemented from geometry::point_locator.
Definition at line 933 of file db0_point_locator.impl.h.
References geometry::point_locator::coordinates(), geometry::point_locator::dc(), and geometry::db0_point_locator< DC >::update().
Referenced by geometry::db0_point_locator< DC >::print_coords().
bool geometry::db0_point_locator< DC >::is_empty | ( | ) | const |
True if the search structure contains no vertices.
Definition at line 244 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_bins, and geometry::db0_point_locator< DC >::relative_position().
Referenced by geometry::db0_point_locator< DC >::bin_size(), geometry::db0_point_locator< DC >::clear(), and geometry::db0_point_locator< DC >::update_bins().
|
protected |
Definition at line 124 of file db0_point_locator.cc.
References geometry::db0_point_locator< DC >::max_bin_distance().
|
protected |
Definition at line 162 of file db0_point_locator.cc.
References fiber_bundle::vd_algebra::max(), geometry::db0_point_locator< DC >::max_bin_distance(), and fiber_bundle::sec_at0_algebra::sqrt().
|
protected |
Definition at line 210 of file db0_point_locator.cc.
References fiber_bundle::vd_algebra::max(), and fiber_bundle::sec_at0_algebra::sqrt().
|
protected |
The maximum distance from the query point xpt to any point in the bin with coordinates xbin_pos.
Referenced by geometry::db0_point_locator< DC >::initialize_search_region(), and geometry::db0_point_locator< DC >::max_bin_distance().
|
inlineprotectedvirtual |
Assignment operator; disabled.
Reimplemented from geometry::point_locator.
Definition at line 129 of file db0_point_locator.h.
|
inlineprotected |
Assignment operator; disabled.
Definition at line 134 of file db0_point_locator.h.
|
virtual |
Finds a chart point at which coordinates() has value xvalue; for sections over db = 0 base spaces, this means the point with value closest to xvalue.
Implements geometry::point_locator.
Definition at line 1040 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_search_q, geometry::db0_point_locator< DC >::_search_radius, geometry::db0_point_locator< DC >::all_points_at_value(), geometry::point_locator::coordinates(), fiber_bundle::chart_point::db(), geometry::point_locator::db(), geometry::point_locator::dc(), geometry::db0_point_locator< DC >::expand_search_region(), geometry::db0_point_locator< DC >::find_closest_vertex(), geometry::db0_point_locator< DC >::initialize_search_region(), fiber_bundle::chart_point::invalidate(), fiber_bundle::chart_point::is_valid(), fiber_bundle::vd_algebra::max(), and fiber_bundle::sec_at0_algebra::sqrt().
Referenced by geometry::db0_point_locator< DC >::all_points_at_value(), geometry::db0_point_locator< DC >::branch_points_at_value(), and geometry::db0_point_locator< DC >::update().
|
protected |
Prints the contents of the bins on xos; intended for debugging.
Definition at line 784 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_bins, sheaf::singly_linked_list< T, A >::begin(), sheaf::singly_linked_list< T, A >::end(), and geometry::db0_point_locator< DC >::print_queue().
Referenced by geometry::db0_point_locator< DC >::find_closest_vertex_in_bin(), and geometry::db0_point_locator< DC >::update().
|
protected |
Prints xcoords on xos; intended for debugging.
Definition at line 896 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::invariant().
Referenced by geometry::db0_point_locator< DC >::compute_search_region(), geometry::db0_point_locator< DC >::find_closest_bin(), geometry::db0_point_locator< DC >::initialize_search_region(), and geometry::db0_point_locator< DC >::print_value().
|
protected |
Prints the contents of the search queue on xos; intended for debugging.
Definition at line 832 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_search_q, and geometry::db0_point_locator< DC >::print_value().
Referenced by geometry::db0_point_locator< DC >::print_bins().
|
protected |
Prints xvlaue on xos; intended for debugging.
Definition at line 866 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::print_coords().
Referenced by geometry::db0_point_locator< DC >::compute_search_region(), geometry::db0_point_locator< DC >::initialize_search_region(), and geometry::db0_point_locator< DC >::print_queue().
void geometry::db0_point_locator< DC >::relative_position | ( | const sec_vd_value_type | xpt[], |
bin_coord_type | xresult[] | ||
) | const |
The position of xpt relative to the lower bound in integer coordinates.
Definition at line 271 of file db0_point_locator.impl.h.
References geometry::point_locator::_lb, geometry::db0_point_locator< DC >::_one_over_min_bin_size, geometry::db0_point_locator< DC >::clear(), and fiber_bundle::sec_at0_algebra::floor().
Referenced by geometry::db0_point_locator< DC >::compute_search_region(), geometry::db0_point_locator< DC >::initialize_search_region(), geometry::db0_point_locator< DC >::is_empty(), and geometry::db0_point_locator< DC >::update().
|
virtual |
Updates the search structure to the current values of coordinates().
Implements geometry::point_locator.
Definition at line 947 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_bins, sheaf::abstract_poset_member::attach_to_state(), fiber_bundle::section_space_schema_poset::base_space(), geometry::db0_point_locator< DC >::bin_id(), geometry::point_locator::coordinates(), fiber_bundle::sec_tuple::detach_from_state(), fiber_bundle::section_space_schema_member::discretization_ct(), fiber_bundle::section_space_schema_member::discretization_id_space(), sheaf::DOWN, fiber_bundle::sec_vd::get_fiber(), fiber_bundle::section_space_schema_member::host(), sheaf::depth_first_iterator::index(), sheaf::depth_first_iterator::is_done(), sheaf::poset_state_handle::member_id(), sheaf::NOT_STRICT, geometry::db0_point_locator< DC >::point_at_value(), geometry::db0_point_locator< DC >::print_bins(), geometry::db0_point_locator< DC >::relative_position(), fiber_bundle::sec_rep_space_member::schema(), sheaf::depth_first_iterator::truncate(), geometry::db0_point_locator< DC >::update_bins(), and geometry::point_locator::update_domain().
Referenced by geometry::db0_point_locator< DC >::db0_point_locator(), and geometry::db0_point_locator< DC >::invariant().
|
protectedvirtual |
Updates the bin parameters.
Definition at line 340 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::_bin_diag, geometry::db0_point_locator< DC >::_bin_size, geometry::db0_point_locator< DC >::_bin_ub, geometry::db0_point_locator< DC >::_bins, geometry::point_locator::_lb, geometry::db0_point_locator< DC >::_one_over_min_bin_size, geometry::point_locator::_ub, geometry::db0_point_locator< DC >::find_closest_bin(), geometry::db0_point_locator< DC >::is_empty(), and fiber_bundle::sec_at0_algebra::sqrt().
Referenced by geometry::db0_point_locator< DC >::clear(), and geometry::db0_point_locator< DC >::update().
|
protected |
Puts previous unsearched bins from the search region onto the search queue.
Referenced by geometry::db0_point_locator< DC >::expand_search_region().
|
protected |
Puts previous unsearched bins from the search region onto the search queue specialized for DC=1.
|
protected |
Puts previous unsearched bins from the search region onto the search queue specialized for DC=2.
|
protected |
Puts previous unsearched bins from the search region onto the search queue specialized for DC=3.
|
protected |
The squared distance from the point with coordinates xglobal_coords to the vertex associated with xvertex_id.
Definition at line 664 of file db0_point_locator.impl.h.
References geometry::db0_point_locator< DC >::find_closest_vertex().
Referenced by geometry::db0_point_locator< DC >::compute_search_region(), and geometry::db0_point_locator< DC >::find_closest_vertex_in_bin().
|
protected |
The diagonal length of the smallest bins.
Definition at line 149 of file db0_point_locator.h.
Referenced by geometry::db0_point_locator< DC >::expand_search_region(), and geometry::db0_point_locator< DC >::update_bins().
|
protected |
The dimensions of the smallest bins.
Definition at line 144 of file db0_point_locator.h.
Referenced by geometry::db0_point_locator< DC >::bin_size(), geometry::db0_point_locator< DC >::db0_point_locator(), and geometry::db0_point_locator< DC >::update_bins().
|
protected |
The upper bound for the bin index.
Definition at line 134 of file db0_point_locator.h.
Referenced by geometry::db0_point_locator< DC >::bin_ub(), geometry::db0_point_locator< DC >::compute_search_region(), geometry::db0_point_locator< DC >::db0_point_locator(), geometry::db0_point_locator< DC >::expand_search_region(), geometry::db0_point_locator< DC >::find_closest_bin(), and geometry::db0_point_locator< DC >::update_bins().
|
protected |
The search structure; a d-dimensional array of bins.
Definition at line 187 of file db0_point_locator.h.
Referenced by geometry::db0_point_locator< DC >::clear(), geometry::db0_point_locator< DC >::find_closest_vertex_in_bin(), geometry::db0_point_locator< DC >::is_empty(), geometry::db0_point_locator< DC >::print_bins(), geometry::db0_point_locator< DC >::update(), and geometry::db0_point_locator< DC >::update_bins().
|
protected |
Reciprocal of the dimensions of the smallest bins.
Definition at line 154 of file db0_point_locator.h.
Referenced by geometry::db0_point_locator< DC >::db0_point_locator(), geometry::db0_point_locator< DC >::relative_position(), and geometry::db0_point_locator< DC >::update_bins().
|
protected |
The bins scheduled to be searched for the current query point.
Definition at line 192 of file db0_point_locator.h.
Referenced by geometry::db0_point_locator< DC >::find_closest_vertex(), geometry::db0_point_locator< DC >::point_at_value(), and geometry::db0_point_locator< DC >::print_queue().
|
protected |
The radius of a sphere centered on the query point that will be searched for vertices.
Definition at line 204 of file db0_point_locator.h.
Referenced by geometry::db0_point_locator< DC >::compute_search_region(), geometry::db0_point_locator< DC >::expand_search_region(), geometry::db0_point_locator< DC >::initialize_search_region(), and geometry::db0_point_locator< DC >::point_at_value().
|
protected |
The lower bound of the search region.
Definition at line 209 of file db0_point_locator.h.
Referenced by geometry::db0_point_locator< DC >::compute_search_region(), and geometry::db0_point_locator< DC >::expand_search_region().
|
protected |
The upper bound of the search region.
Definition at line 214 of file db0_point_locator.h.
Referenced by geometry::db0_point_locator< DC >::compute_search_region(), and geometry::db0_point_locator< DC >::expand_search_region().