SheafSystem  0.0.0.0
geometry::db0_point_locator< DC > Class Template Reference

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>

Inheritance diagram for geometry::db0_point_locator< DC >:
geometry::point_locator

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_typevertex_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_locatoroperator= (const point_locator &xother)
 Assignment operator; disabled. More...
 
db0_point_locatoroperator= (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_edcoordinates () 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...
 

Detailed Description

template<int DC>
class geometry::db0_point_locator< DC >

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.

Member Typedef Documentation

◆ bin_coord_type

template<int DC>
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.

◆ vertex_list_type

template<int DC>
typedef singly_linked_list<vertex_type> geometry::db0_point_locator< DC >::vertex_list_type
protected

The type of vertex list.

Definition at line 182 of file db0_point_locator.h.

Constructor & Destructor Documentation

◆ db0_point_locator() [1/4]

◆ db0_point_locator() [2/4]

◆ ~db0_point_locator()

◆ db0_point_locator() [3/4]

template<int DC>
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().

◆ db0_point_locator() [4/4]

template<int DC>
geometry::db0_point_locator< DC >::db0_point_locator ( const db0_point_locator< DC > &  xother)
inlineprotected

Copy constructor; disabled.

Definition at line 124 of file db0_point_locator.h.

Member Function Documentation

◆ all_points_at_value()

template<int DC>
void geometry::db0_point_locator< DC >::all_points_at_value ( const sec_vd_value_type xvalue,
size_type  xvalue_ub,
block< chart_point_3d > &  xresult 
)
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.

Precondition
  • xvalue != 0
Postcondition
  • for(int i = ( 0 ); i < ( xresult.ct() ); ++ i ) xresult[i].is_valid()

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().

◆ bin_id()

template<int DC>
int geometry::db0_point_locator< DC >::bin_id ( const bin_coord_type  xcoord[]) const
protected

The id of the bin with bin coords xcoord.

Referenced by geometry::db0_point_locator< DC >::update().

◆ bin_size()

template<int DC>
const block< sec_vd_value_type > & geometry::db0_point_locator< DC >::bin_size ( ) const

◆ bin_ub()

template<int DC>
const block< size_type > & geometry::db0_point_locator< DC >::bin_ub ( ) const

The upper bound for the bin index.

Postcondition
  • for(int i = ( 0 ); i < ( dc() ); ++ i ) result[i] > 0

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().

◆ branch_points_at_value()

template<int DC>
void geometry::db0_point_locator< DC >::branch_points_at_value ( const sec_vd_value_type xvalue,
size_type  xvalue_ub,
block< branch_point_pair > &  xresult 
)
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.

Precondition
  • xvalue != 0
Postcondition
  • xresult.ct() == old_xresult_ct + 1
  • for(int i = ( old_xresult_ct ); i < ( xresult.ct() ); ++ i ) coordinates().host()->contains_member(xresult[i].first, false)
  • for(int i = ( old_xresult_ct ); i < ( xresult.ct() ); ++ i ) xresult[i].second.is_valid()

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().

◆ clear()

template<int DC>
void geometry::db0_point_locator< DC >::clear ( )
virtual

◆ compute_search_region()

template<int DC>
void geometry::db0_point_locator< DC >::compute_search_region ( const sec_vd_value_type  xvalue[])
protected

Compute the intersection of the domain with the search box enclosing the search sphere.

Postcondition
  • for(int i = ( 0 ); i < ( DC ); ++ i ) (0 <= _search_region_lb[i]) && (_search_region_lb[i] <= _bin_ub[i])
  • for(int i = ( 0 ); i < ( DC ); ++ i ) (0 <= _search_region_ub[i]) && (_search_region_ub[i] <= _bin_ub[i])
  • for(int i = ( 0 ); i < ( DC ); ++ i ) _search_region_lb[i] <= _search_region_ub[i]

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().

◆ expand_search_region()

template<int DC>
void geometry::db0_point_locator< DC >::expand_search_region ( const sec_vd_value_type  xvalue[])
protected

Increase the search radius and expand the search region to match.

Postcondition
  • for(int i = ( 0 ); i < ( DC ); ++ i ) (0 <= _search_region_lb[i]) && (_search_region_lb[i] <= _bin_ub[i])
  • for(int i = ( 0 ); i < ( DC ); ++ i ) (0 <= _search_region_ub[i]) && (_search_region_ub[i] <= _bin_ub[i])
  • for(int i = ( 0 ); i < ( DC ); ++ i ) _search_region_lb[i] <= _search_region_ub[i]

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().

◆ find_closest_bin()

template<int DC>
void geometry::db0_point_locator< DC >::find_closest_bin ( const bin_coord_type  xpt_pos[],
bin_coord_type  xbin_pos[] 
)
protected

Set xbin_pos the bin closest to xpt_pos.

Postcondition
  • for(int i = ( 0 ); i < ( DC ); ++ i ) (0 <= xbin_pos[i]) && (xbin_pos[i] < _bin_ub[i])

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().

◆ find_closest_vertex()

template<int DC>
void geometry::db0_point_locator< DC >::find_closest_vertex ( const sec_vd_value_type xvalue,
sec_vd_value_type xclosest_dist_sq,
chart_point xresult 
)
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().

◆ find_closest_vertex_in_bin()

template<int DC>
void geometry::db0_point_locator< DC >::find_closest_vertex_in_bin ( int  xbin_id,
const sec_vd_value_type xvalue,
chart_point xresult,
sec_vd_value_type xclosest_dist 
)
protected

◆ initialize_search_q() [1/4]

template<int DC>
void geometry::db0_point_locator< DC >::initialize_search_q ( )
protected

Puts all the bins from the search region onto the search queue.

Referenced by geometry::db0_point_locator< DC >::initialize_search_region().

◆ initialize_search_q() [2/4]

template<>
SHEAF_DLL_SPEC void geometry::db0_point_locator< 1 >::initialize_search_q ( )
protected

Puts all the bins from the search region onto the search queue specialized for DC=1.

◆ initialize_search_q() [3/4]

template<>
SHEAF_DLL_SPEC void geometry::db0_point_locator< 2 >::initialize_search_q ( )
protected

Puts all the bins from the search region onto the search queue specialized for DC=2.

◆ initialize_search_q() [4/4]

template<>
SHEAF_DLL_SPEC void geometry::db0_point_locator< 3 >::initialize_search_q ( )
protected

Puts all the bins from the search region onto the search queue specialized for DC=3.

◆ initialize_search_region()

◆ invariant()

template<int DC>
bool geometry::db0_point_locator< DC >::invariant ( ) const
virtual

Class invariant.

Invariant
  • coordinates().schema().rep().name() == "vertex_vertex_constant"

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().

◆ is_empty()

◆ max_bin_distance() [1/4]

template<>
fiber_bundle::sec_vd_value_type geometry::db0_point_locator< 1 >::max_bin_distance ( const sec_vd_value_type  xpt[],
const bin_coord_type  xbin_pos[] 
) const
protected
Postcondition
  • result >= 0.0

Definition at line 124 of file db0_point_locator.cc.

References geometry::db0_point_locator< DC >::max_bin_distance().

◆ max_bin_distance() [2/4]

template<>
fiber_bundle::sec_vd_value_type geometry::db0_point_locator< 2 >::max_bin_distance ( const sec_vd_value_type  xpt[],
const bin_coord_type  xbin_pos[] 
) const
protected

◆ max_bin_distance() [3/4]

template<>
fiber_bundle::sec_vd_value_type geometry::db0_point_locator< 3 >::max_bin_distance ( const sec_vd_value_type  xpt[],
const bin_coord_type  xbin_pos[] 
) const
protected
Postcondition
  • result >= 0.0

Definition at line 210 of file db0_point_locator.cc.

References fiber_bundle::vd_algebra::max(), and fiber_bundle::sec_at0_algebra::sqrt().

◆ max_bin_distance() [4/4]

template<int DC>
sec_vd_value_type geometry::db0_point_locator< DC >::max_bin_distance ( const sec_vd_value_type  xpt[],
const bin_coord_type  xbin_pos[] 
) const
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().

◆ operator=() [1/2]

template<int DC>
virtual db0_point_locator& geometry::db0_point_locator< DC >::operator= ( const point_locator xother)
inlineprotectedvirtual

Assignment operator; disabled.

Reimplemented from geometry::point_locator.

Definition at line 129 of file db0_point_locator.h.

◆ operator=() [2/2]

template<int DC>
db0_point_locator& geometry::db0_point_locator< DC >::operator= ( const db0_point_locator< DC > &  xother)
inlineprotected

Assignment operator; disabled.

Definition at line 134 of file db0_point_locator.h.

◆ point_at_value()

◆ print_bins()

template<int DC>
void geometry::db0_point_locator< DC >::print_bins ( std::ostream &  xos,
const std::string &  xmsg 
) const
protected

◆ print_coords()

template<int DC>
void geometry::db0_point_locator< DC >::print_coords ( std::ostream &  xos,
const bin_coord_type  xcoords[],
const std::string &  xmsg 
) const
protected

◆ print_queue()

template<int DC>
void geometry::db0_point_locator< DC >::print_queue ( std::ostream &  xos,
const std::string &  xmsg 
) const
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().

◆ print_value()

template<int DC>
void geometry::db0_point_locator< DC >::print_value ( std::ostream &  xos,
const sec_vd_value_type  xvalue[],
const std::string &  xmsg 
) const
protected

◆ relative_position()

◆ update()

◆ update_bins()

◆ update_search_q() [1/4]

template<int DC>
void geometry::db0_point_locator< DC >::update_search_q ( bin_coord_type  xold_lb[],
bin_coord_type  xold_ub[] 
)
protected

Puts previous unsearched bins from the search region onto the search queue.

Referenced by geometry::db0_point_locator< DC >::expand_search_region().

◆ update_search_q() [2/4]

template<>
SHEAF_DLL_SPEC void geometry::db0_point_locator< 1 >::update_search_q ( bin_coord_type  xold_lb[],
bin_coord_type  xold_ub[] 
)
protected

Puts previous unsearched bins from the search region onto the search queue specialized for DC=1.

◆ update_search_q() [3/4]

template<>
SHEAF_DLL_SPEC void geometry::db0_point_locator< 2 >::update_search_q ( bin_coord_type  xold_lb[],
bin_coord_type  xold_ub[] 
)
protected

Puts previous unsearched bins from the search region onto the search queue specialized for DC=2.

◆ update_search_q() [4/4]

template<>
SHEAF_DLL_SPEC void geometry::db0_point_locator< 3 >::update_search_q ( bin_coord_type  xold_lb[],
bin_coord_type  xold_ub[] 
)
protected

Puts previous unsearched bins from the search region onto the search queue specialized for DC=3.

◆ vertex_distance_sq()

template<int DC>
sec_vd_value_type geometry::db0_point_locator< DC >::vertex_distance_sq ( const sec_vd_value_type  xglobal_coords[],
const vertex_type xvertex_entry 
)
protected

The squared distance from the point with coordinates xglobal_coords to the vertex associated with xvertex_id.

Postcondition
  • result >= 0.0

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().

Member Data Documentation

◆ _bin_diag

template<int DC>
sec_vd_value_type geometry::db0_point_locator< DC >::_bin_diag
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().

◆ _bin_size

◆ _bin_ub

◆ _bins

◆ _one_over_min_bin_size

template<int DC>
block<sec_vd_value_type> geometry::db0_point_locator< DC >::_one_over_min_bin_size
protected

◆ _search_q

template<int DC>
std::queue<int> geometry::db0_point_locator< DC >::_search_q
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().

◆ _search_radius

◆ _search_region_lb

template<int DC>
bin_coord_type geometry::db0_point_locator< DC >::_search_region_lb[DC]
protected

◆ _search_region_ub

template<int DC>
bin_coord_type geometry::db0_point_locator< DC >::_search_region_ub[DC]
protected

The documentation for this class was generated from the following files: