SheafSystem  0.0.0.0
geometry::d_array_point_locator< DC, DB > Class Template Reference

A point location query in domains with global coordinate dimension DC and local coordinate dimension DB implemented using a DC index array search structure. Efficient for for compact (axis-aligned, box-shaped) domains. More...

#include <d_array_point_locator.h>

Inheritance diagram for geometry::d_array_point_locator< DC, DB >:
geometry::d_bin_point_locator< DC, DB > geometry::point_locator

Public Member Functions

template<>
SHEAF_DLL_SPEC void insert_box (d_bounding_box< 1, 1 > *xbox)
 
template<>
SHEAF_DLL_SPEC void insert_box (d_bounding_box< 2, 2 > *xbox)
 
template<>
SHEAF_DLL_SPEC void insert_box (d_bounding_box< 3, 1 > *xbox)
 
template<>
SHEAF_DLL_SPEC void insert_box (d_bounding_box< 3, 2 > *xbox)
 
template<>
SHEAF_DLL_SPEC void insert_box (d_bounding_box< 3, 3 > *xbox)
 
template<>
SHEAF_DLL_SPEC void box_list (const section_evaluator &xeval, sec_vd_value_type *xdofs, size_type xdofs_ub, box_list_type &xresult) const
 
template<>
SHEAF_DLL_SPEC void box_list (const section_evaluator &xeval, sec_vd_value_type *xdofs, size_type xdofs_ub, box_list_type &xresult) const
 
template<>
SHEAF_DLL_SPEC void box_list (const section_evaluator &xeval, sec_vd_value_type *xdofs, size_type xdofs_ub, box_list_type &xresult) const
 
template<>
SHEAF_DLL_SPEC void box_list (const section_evaluator &xeval, sec_vd_value_type *xdofs, size_type xdofs_ub, box_list_type &xresult) const
 
template<>
SHEAF_DLL_SPEC void box_list (const section_evaluator &xeval, sec_vd_value_type *xdofs, size_type xdofs_ub, box_list_type &xresult) const
 
template<>
SHEAF_DLL_SPEC void box_list (d_bounding_box< 1, 1 > *xbox, box_set_type &xresult) const
 
template<>
SHEAF_DLL_SPEC void box_list (d_bounding_box< 2, 2 > *xbox, box_set_type &xresult) const
 
template<>
SHEAF_DLL_SPEC void box_list (d_bounding_box< 3, 1 > *xbox, box_set_type &xresult) const
 
template<>
SHEAF_DLL_SPEC void box_list (d_bounding_box< 3, 2 > *xbox, box_set_type &xresult) const
 
template<>
SHEAF_DLL_SPEC void box_list (d_bounding_box< 3, 3 > *xbox, box_set_type &xresult) const
 
template<>
SHEAF_DLL_SPEC void remove_box (d_bounding_box< 1, 1 > *xbox)
 
template<>
SHEAF_DLL_SPEC void remove_box (d_bounding_box< 2, 2 > *xbox)
 
template<>
SHEAF_DLL_SPEC void remove_box (d_bounding_box< 3, 1 > *xbox)
 
template<>
SHEAF_DLL_SPEC void remove_box (d_bounding_box< 3, 2 > *xbox)
 
template<>
SHEAF_DLL_SPEC void remove_box (d_bounding_box< 3, 3 > *xbox)
 
- Public Member Functions inherited from geometry::d_bin_point_locator< DC, DB >
virtual ~d_bin_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...
 
size_type box_ct () const
 The number of bounding boxes stored in the search structure. More...
 
bool is_empty () const
 True if this contains no bounding boxes. More...
 
d_bin_coordinates< DC, DB > * relative_position (sec_vd_value_type *xpt, size_type xpt_ub) const
 The position of xpt relative to the lower bound, in integer coordinates; auto-allocated version. More...
 
void relative_position_pa (sec_vd_value_type *xpt, size_type xpt_ub, d_bin_coordinates< DC, DB > &xresult) const
 The position of xpt relative to the lower bound, in integer coordinates; pre-allocated version. More...
 
d_bounding_box< DC, DB > * assign_box (const scoped_index &xmbr_id, const scoped_index &xbranch_id, section_evaluator &xeval, const sec_vd_dof_type *xdofs, size_type xdofs_ct)
 Assigns a box to xmbr_id and initializes it, but does not insert it in the search structure. More...
 
size_type box_capacity ()
 The number of boxes that have been allocated. More...
 
d_bounding_box< DC, DB > * box (pod_index_type xi)
 The xi-th bounding box. More...
 
void update_box (pod_index_type xi, const sec_vd_dof_type *xdofs, size_type xdofs_ct)
 Updates the xi-th bounding box with dofs xdofs. More...
 
const block< sec_vd_dof_type > & gathered_dofs () const
 The dofs of gathered by evaluation member. More...
 
virtual void update ()
 Updates the search structure to the current values of coordinates(); synonym for update(true);. More...
 
virtual void update (bool xpopulate, size_type xeval_capacity)
 Updates the search structure to the current values of coordinates(); if xpopulate, populates the search structure with the eval members coordinates(). Ensures capacity for at least xeval_capacity eval members. 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. 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 and appends them to xresult. Note that charts overlap at their boundaries and hence if xvalue lies on a boundary it is contained in more than one chart. 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. More...
 
- 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...
 

Protected Member Functions

template<>
SHEAF_DLL_SPEC size_type bin_id (const d_bin_coordinates< 1, 1 > &xcoord) const
 The single index (offset) associated with tree coordinates xcoord specialized for d_bin_coordinates<1, 1>. More...
 
template<>
SHEAF_DLL_SPEC size_type bin_id (const d_bin_coordinates< 2, 2 > &xcoord) const
 The single index (offset) associated with tree coordinates xcoord specialized for d_bin_coordinates<2, 2>. More...
 
template<>
SHEAF_DLL_SPEC size_type bin_id (const d_bin_coordinates< 3, 1 > &xcoord) const
 The single index (offset) associated with tree coordinates xcoord specialized for d_bin_coordinates<3, 1>. More...
 
template<>
SHEAF_DLL_SPEC size_type bin_id (const d_bin_coordinates< 3, 2 > &xcoord) const
 The single index (offset) associated with tree coordinates xcoord specialized for d_bin_coordinates<3, 2>. More...
 
template<>
SHEAF_DLL_SPEC size_type bin_id (const d_bin_coordinates< 3, 3 > &xcoord) const
 The single index (offset) associated with tree coordinates xcoord specialized for d_bin_coordinates<3, 3>. More...
 
template<>
SHEAF_DLL_SPEC size_type bin_id (const block< size_type > &xid) const
 The single index (offset) associated with xid specialized for <1, 1> More...
 
template<>
SHEAF_DLL_SPEC size_type bin_id (const block< size_type > &xid) const
 The single index (offset) associated with xid specialized for <2, 2> More...
 
template<>
SHEAF_DLL_SPEC size_type bin_id (const block< size_type > &xid) const
 The single index (offset) associated with xid specialized for <3, 1> More...
 
template<>
SHEAF_DLL_SPEC size_type bin_id (const block< size_type > &xid) const
 The single index (offset) associated with xid specialized for <3, 2> More...
 
template<>
SHEAF_DLL_SPEC size_type bin_id (const block< size_type > &xid) const
 The single index (offset) associated with xid specialized for <3, 3> More...
 
- Protected Member Functions inherited from geometry::d_bin_point_locator< DC, DB >
 d_bin_point_locator (sec_ed &xcoords)
 Creates an instance for coordinate section xcoords. More...
 
 d_bin_point_locator ()
 Default constructor; disabled. More...
 
 d_bin_point_locator (const d_bin_point_locator< DC, DB > &xother)
 Copy constructor; disabled. More...
 
d_bin_point_locatoroperator= (const d_bin_point_locator< DC, DB > &xother)
 Assignment operator; disabled. 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<>
void insert_box (d_bounding_box< 1, 1 > *xbox)
 
template<>
void insert_box (d_bounding_box< 2, 2 > *xbox)
 
template<>
void insert_box (d_bounding_box< 3, 1 > *xbox)
 
template<>
void insert_box (d_bounding_box< 3, 2 > *xbox)
 
template<>
void insert_box (d_bounding_box< 3, 3 > *xbox)
 
template<>
void box_list (const section_evaluator &xeval, sec_vd_value_type *xdofs, size_type xdofs_ub, box_list_type &xresult) const
 
template<>
void box_list (const section_evaluator &xeval, sec_vd_value_type *xdofs, size_type xdofs_ub, box_list_type &xresult) const
 
template<>
void box_list (const section_evaluator &xeval, sec_vd_value_type *xdofs, size_type xdofs_ub, box_list_type &xresult) const
 
template<>
void box_list (const section_evaluator &xeval, sec_vd_value_type *xdofs, size_type xdofs_ub, box_list_type &xresult) const
 
template<>
void box_list (const section_evaluator &xeval, sec_vd_value_type *xdofs, size_type xdofs_ub, box_list_type &xresult) const
 
template<>
void box_list (d_bounding_box< 1, 1 > *xbox, box_set_type &xresult) const
 
template<>
void box_list (d_bounding_box< 2, 2 > *xbox, box_set_type &xresult) const
 
template<>
void box_list (d_bounding_box< 3, 1 > *xbox, box_set_type &xresult) const
 
template<>
void box_list (d_bounding_box< 3, 2 > *xbox, box_set_type &xresult) const
 
template<>
void box_list (d_bounding_box< 3, 3 > *xbox, box_set_type &xresult) const
 
template<>
void remove_box (d_bounding_box< 1, 1 > *xbox)
 
template<>
void remove_box (d_bounding_box< 2, 2 > *xbox)
 
template<>
void remove_box (d_bounding_box< 3, 1 > *xbox)
 
template<>
void remove_box (d_bounding_box< 3, 2 > *xbox)
 
template<>
void remove_box (d_bounding_box< 3, 3 > *xbox)
 

D_BIN_POINT_LOCATOR FACET

typedef singly_linked_list< const d_bounding_box< DC, DB > * > box_list_type
 The type of box list. More...
 
typedef std::set< const d_bounding_box< DC, DB > * > box_set_type
 The type of box set. More...
 
virtual void insert_box (d_bounding_box< DC, DB > *xbox)
 Insert xbox into this. More...
 
virtual void remove_box (d_bounding_box< DC, DB > *xbox)
 Remove xbox from this. More...
 
virtual const box_list_typebox_list (sec_vd_value_type *xpt, size_type xpt_ub) const
 The list of bounding boxes which may contain xpt. More...
 
virtual void box_list (const section_evaluator &xeval, sec_vd_value_type *xdofs, size_type xdofs_ub, box_list_type &xresult) const
 The list of bounding boxes which may intersect the cell described by xeval, xdofs. More...
 
virtual void box_list (d_bounding_box< DC, DB > *xbox, box_set_type &xresult) const
 The list of bounding boxes which may intersect the bounding box xbox. More...
 
virtual bool contains_box (d_bounding_box< DC, DB > *xbox) const
 True if xbox is in this. More...
 
virtual void clear ()
 Clear this of all bounding boxes. More...
 

D_ARRAY_POINT_LOCATOR FACET

block< box_list_type_bins
 The search structure; a d-dimensional array of bins. More...
 
 d_array_point_locator (sec_ed &xcoords, const block< size_type > &xbin_ub, bool xpopulate=true, size_type xeval_capacity=256)
 Create an instance for coordinates xcoords with bin ub xbin_ub. If xpopulate, enter the eval members of xcoords in the search structure. More...
 
 d_array_point_locator (sec_ed &xcoords, bool xpopulate=true, size_type xeval_capacity=256)
 Create an instance for coordinates xcoords with bin ub computed from the size of the mesh. If xpopulate, enter the eval members of xcoords in the search structure. More...
 
virtual ~d_array_point_locator ()
 Destructor. More...
 
size_type size () const
 The number of bins used by the search structure. More...
 
size_type capacity () const
 The number of bins allocated for use by the search structure. More...
 
void to_stream (std::ostream &xos) const
 Inserts this in ostream xos. More...
 
 d_array_point_locator ()
 Default constructor; disabled. More...
 
 d_array_point_locator (const d_array_point_locator &xother)
 Copy constructor; disabled. More...
 
virtual d_array_point_locatoroperator= (const point_locator &xother)
 Assignment operator; disabled. More...
 
d_array_point_locatoroperator= (const d_array_point_locator &xother)
 Assignment operator; disabled. More...
 
void update_bins ()
 Resets this with bounds xlb, xub, and xbin_ub. If xbin_ub == 0; use default_bin_ub(). More...
 
size_type bin_id (const d_bin_coordinates< DC, DB > &xcoord) const
 The single index (offset) associated with tree coordinates xcoord. More...
 
size_type bin_id (const block< size_type > &xid) const
 The single index (offset) associated with xid. More...
 
size_type bin_id (size_type xi, size_type xj) const
 The single index (offset) associated with xi, xj. More...
 
size_type bin_id (size_type xi, size_type xj, size_type xk) const
 The single index (offset) associated with xi, xj, xk. More...
 

POINT_LOCATOR FACET

virtual bool invariant () const
 Class invariant. More...
 

Additional Inherited Members

- Public Types inherited from geometry::d_bin_point_locator< DC, DB >
typedef singly_linked_list< const d_bounding_box< DC, DB > * > box_list_type
 The type of box list. 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::d_bin_point_locator< DC, DB >
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...
 
block< sec_vd_value_type_one_over_min_bin_size
 Reciprocal of the dimensions of the smallest bins. More...
 
size_type _box_ct
 The number of bounding boxes stored in the search structure. More...
 
block< d_bounding_box< DC, DB > > _boxes
 Bounding boxes for the evaluation members. More...
 
block< sec_vd_dof_type_gathered_dofs
 The dofs of gathered by evaluation member. More...
 
eval_iterator _eval_itr
 The evaluator iterator used to populate the search structure; must have same life time as the search structure because it owns the eval_family which owns the section evaluators. More...
 
std::set< stl_scoped_index<> > _branches
 The branches for which a point has already been found for the current evaluation member. Used in all_points_at_value, allocated her to avoid reallocation for each query. 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, int DB>
class geometry::d_array_point_locator< DC, DB >

A point location query in domains with global coordinate dimension DC and local coordinate dimension DB implemented using a DC index array search structure. Efficient for for compact (axis-aligned, box-shaped) domains.

Definition at line 45 of file d_array_point_locator.h.

Member Typedef Documentation

◆ box_list_type

template<int DC, int DB>
typedef singly_linked_list<const d_bounding_box<DC, DB>*> geometry::d_array_point_locator< DC, DB >::box_list_type

The type of box list.

Definition at line 58 of file d_array_point_locator.h.

◆ box_set_type

template<int DC, int DB>
typedef std::set<const d_bounding_box<DC, DB>*> geometry::d_array_point_locator< DC, DB >::box_set_type

The type of box set.

Definition at line 63 of file d_array_point_locator.h.

Constructor & Destructor Documentation

◆ d_array_point_locator() [1/4]

template<int DC, int DB>
geometry::d_array_point_locator< DC, DB >::d_array_point_locator ( sec_ed xcoords,
const block< size_type > &  xbin_ub,
bool  xpopulate = true,
size_type  xeval_capacity = 256 
)

Create an instance for coordinates xcoords with bin ub xbin_ub. If xpopulate, enter the eval members of xcoords in the search structure.

Precondition
  • xcoords.state_is_read_accessible()
  • xcoords.schema().df() == DC
  • xbin_ub.ct() >= DC
  • for(int i = ( 0 ); i < ( xbin_ub.ct() ); ++ i ) xbin_ub[i] > 0

Definition at line 138 of file d_array_point_locator.impl.h.

References geometry::d_bin_point_locator< DC, DB >::_bin_ub, sheaf::auto_block< T, S >::ct(), geometry::d_array_point_locator< DC, DB >::d_array_point_locator(), fiber_bundle::section_space_schema_member::df(), fiber_bundle::sec_rep_space_member::schema(), sheaf::read_write_monitor_handle::state_is_read_accessible(), and geometry::d_bin_point_locator< DC, DB >::update().

◆ d_array_point_locator() [2/4]

template<int DC, int DB>
geometry::d_array_point_locator< DC, DB >::d_array_point_locator ( sec_ed xcoords,
bool  xpopulate = true,
size_type  xeval_capacity = 256 
)

◆ ~d_array_point_locator()

◆ d_array_point_locator() [3/4]

template<int DC, int DB>
geometry::d_array_point_locator< DC, DB >::d_array_point_locator ( )
inlineprotected

◆ d_array_point_locator() [4/4]

template<int DC, int DB>
geometry::d_array_point_locator< DC, DB >::d_array_point_locator ( const d_array_point_locator< DC, DB > &  xother)
inlineprotected

Copy constructor; disabled.

Definition at line 162 of file d_array_point_locator.h.

Member Function Documentation

◆ bin_id() [1/14]

template<int DC, int DB>
size_type geometry::d_array_point_locator< DC, DB >::bin_id ( const d_bin_coordinates< DC, DB > &  xcoord) const
protected

The single index (offset) associated with tree coordinates xcoord.

Referenced by geometry::d_array_point_locator< DC, DB >::bin_id(), and geometry::d_array_point_locator< DC, DB >::update_bins().

◆ bin_id() [2/14]

template<int DC, int DB>
size_type geometry::d_array_point_locator< DC, DB >::bin_id ( const block< size_type > &  xid) const
protected

The single index (offset) associated with xid.

◆ bin_id() [3/14]

template<int DC, int DB>
size_type geometry::d_array_point_locator< DC, DB >::bin_id ( size_type  xi,
size_type  xj 
) const
protected

The single index (offset) associated with xi, xj.

Definition at line 365 of file d_array_point_locator.impl.h.

References geometry::d_bin_point_locator< DC, DB >::_bin_ub, and geometry::d_array_point_locator< DC, DB >::bin_id().

◆ bin_id() [4/14]

template<int DC, int DB>
size_type geometry::d_array_point_locator< DC, DB >::bin_id ( size_type  xi,
size_type  xj,
size_type  xk 
) const
protected

The single index (offset) associated with xi, xj, xk.

Definition at line 373 of file d_array_point_locator.impl.h.

References geometry::d_bin_point_locator< DC, DB >::_bin_ub, and geometry::d_array_point_locator< DC, DB >::invariant().

◆ bin_id() [5/14]

template<>
SHEAF_DLL_SPEC size_type geometry::d_array_point_locator< 1, 1 >::bin_id ( const d_bin_coordinates< 1, 1 > &  xcoord) const
protected

The single index (offset) associated with tree coordinates xcoord specialized for d_bin_coordinates<1, 1>.

◆ bin_id() [6/14]

template<>
SHEAF_DLL_SPEC size_type geometry::d_array_point_locator< 2, 2 >::bin_id ( const d_bin_coordinates< 2, 2 > &  xcoord) const
protected

The single index (offset) associated with tree coordinates xcoord specialized for d_bin_coordinates<2, 2>.

◆ bin_id() [7/14]

template<>
SHEAF_DLL_SPEC size_type geometry::d_array_point_locator< 3, 1 >::bin_id ( const d_bin_coordinates< 3, 1 > &  xcoord) const
protected

The single index (offset) associated with tree coordinates xcoord specialized for d_bin_coordinates<3, 1>.

◆ bin_id() [8/14]

template<>
SHEAF_DLL_SPEC size_type geometry::d_array_point_locator< 3, 2 >::bin_id ( const d_bin_coordinates< 3, 2 > &  xcoord) const
protected

The single index (offset) associated with tree coordinates xcoord specialized for d_bin_coordinates<3, 2>.

◆ bin_id() [9/14]

template<>
SHEAF_DLL_SPEC size_type geometry::d_array_point_locator< 3, 3 >::bin_id ( const d_bin_coordinates< 3, 3 > &  xcoord) const
protected

The single index (offset) associated with tree coordinates xcoord specialized for d_bin_coordinates<3, 3>.

◆ bin_id() [10/14]

template<>
SHEAF_DLL_SPEC size_type geometry::d_array_point_locator< 1, 1 >::bin_id ( const block< size_type > &  xid) const
protected

The single index (offset) associated with xid specialized for <1, 1>

◆ bin_id() [11/14]

template<>
SHEAF_DLL_SPEC size_type geometry::d_array_point_locator< 2, 2 >::bin_id ( const block< size_type > &  xid) const
protected

The single index (offset) associated with xid specialized for <2, 2>

◆ bin_id() [12/14]

template<>
SHEAF_DLL_SPEC size_type geometry::d_array_point_locator< 3, 1 >::bin_id ( const block< size_type > &  xid) const
protected

The single index (offset) associated with xid specialized for <3, 1>

◆ bin_id() [13/14]

template<>
SHEAF_DLL_SPEC size_type geometry::d_array_point_locator< 3, 2 >::bin_id ( const block< size_type > &  xid) const
protected

The single index (offset) associated with xid specialized for <3, 2>

◆ bin_id() [14/14]

template<>
SHEAF_DLL_SPEC size_type geometry::d_array_point_locator< 3, 3 >::bin_id ( const block< size_type > &  xid) const
protected

The single index (offset) associated with xid specialized for <3, 3>

◆ box_list() [1/8]

template<int DC, int DB>
const d_array_point_locator< DC, DB >::box_list_type & geometry::d_array_point_locator< DC, DB >::box_list ( sec_vd_value_type xpt,
size_type  xpt_ub 
) const
virtual

The list of bounding boxes which may contain xpt.

Precondition
  • xpt != 0
  • xpt_ub >= this->dc()
  • this->domain_contains(xpt, xpt_ub)

Implements geometry::d_bin_point_locator< DC, DB >.

Definition at line 48 of file d_array_point_locator.impl.h.

References geometry::d_array_point_locator< DC, DB >::contains_box().

Referenced by geometry::d_array_point_locator< DC, DB >::box_list(), and geometry::d_array_point_locator< DC, DB >::insert_box().

◆ box_list() [2/8]

template<int DC, int DB>
virtual void geometry::d_array_point_locator< DC, DB >::box_list ( const section_evaluator xeval,
sec_vd_value_type xdofs,
size_type  xdofs_ub,
box_list_type xresult 
) const
virtual

The list of bounding boxes which may intersect the cell described by xeval, xdofs.

◆ box_list() [3/8]

template<int DC, int DB>
virtual void geometry::d_array_point_locator< DC, DB >::box_list ( d_bounding_box< DC, DB > *  xbox,
box_set_type xresult 
) const
virtual

The list of bounding boxes which may intersect the bounding box xbox.

◆ box_list() [4/8]

◆ box_list() [5/8]

◆ box_list() [6/8]

◆ box_list() [7/8]

◆ box_list() [8/8]

◆ capacity()

template<int DC, int DB>
size_type geometry::d_array_point_locator< DC, DB >::capacity ( ) const

The number of bins allocated for use by the search structure.

Postcondition
  • result > 0

Definition at line 247 of file d_array_point_locator.impl.h.

References geometry::d_array_point_locator< DC, DB >::_bins, and geometry::d_array_point_locator< DC, DB >::to_stream().

Referenced by geometry::d_array_point_locator< DC, DB >::invariant(), and geometry::d_array_point_locator< DC, DB >::size().

◆ clear()

template<int DC, int DB>
void geometry::d_array_point_locator< DC, DB >::clear ( )
virtual

◆ contains_box()

◆ insert_box() [1/6]

template<>
void geometry::d_array_point_locator< 1, 1 >::insert_box ( d_bounding_box< 1, 1 > *  xbox)
Precondition
  • xbox != 0
Postcondition
  • contains_box(xbox)

Definition at line 35 of file d_array_point_locator.cc.

References geometry::d_array_point_locator< DC, DB >::insert_box(), geometry::d_bounding_box< DC, DB >::lb(), and geometry::d_bounding_box< DC, DB >::ub().

◆ insert_box() [2/6]

template<>
void geometry::d_array_point_locator< 2, 2 >::insert_box ( d_bounding_box< 2, 2 > *  xbox)
Precondition
  • xbox != 0
Postcondition
  • contains_box(xbox)

Definition at line 69 of file d_array_point_locator.cc.

References geometry::d_array_point_locator< DC, DB >::insert_box(), geometry::d_bounding_box< DC, DB >::lb(), and geometry::d_bounding_box< DC, DB >::ub().

◆ insert_box() [3/6]

template<int DC, int DB>
virtual void geometry::d_array_point_locator< DC, DB >::insert_box ( d_bounding_box< DC, DB > *  xbox)
virtual

◆ insert_box() [4/6]

template<>
void geometry::d_array_point_locator< 3, 1 >::insert_box ( d_bounding_box< 3, 1 > *  xbox)
Precondition
  • xbox != 0
Postcondition
  • contains_box(xbox)

Definition at line 108 of file d_array_point_locator.cc.

References geometry::d_array_point_locator< DC, DB >::insert_box(), geometry::d_bounding_box< DC, DB >::lb(), and geometry::d_bounding_box< DC, DB >::ub().

◆ insert_box() [5/6]

template<>
void geometry::d_array_point_locator< 3, 2 >::insert_box ( d_bounding_box< 3, 2 > *  xbox)
Precondition
  • xbox != 0
Postcondition
  • contains_box(xbox)

Definition at line 152 of file d_array_point_locator.cc.

References geometry::d_array_point_locator< DC, DB >::insert_box(), geometry::d_bounding_box< DC, DB >::lb(), and geometry::d_bounding_box< DC, DB >::ub().

◆ insert_box() [6/6]

template<>
void geometry::d_array_point_locator< 3, 3 >::insert_box ( d_bounding_box< 3, 3 > *  xbox)
Precondition
  • xbox != 0
Postcondition
  • contains_box(xbox)

Definition at line 196 of file d_array_point_locator.cc.

References geometry::d_array_point_locator< DC, DB >::box_list(), geometry::d_bounding_box< DC, DB >::lb(), and geometry::d_bounding_box< DC, DB >::ub().

◆ invariant()

template<int DC, int DB>
bool geometry::d_array_point_locator< DC, DB >::invariant ( ) const
virtual

◆ operator=() [1/2]

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

Assignment operator; disabled.

Reimplemented from geometry::d_bin_point_locator< DC, DB >.

Definition at line 167 of file d_array_point_locator.h.

◆ operator=() [2/2]

template<int DC, int DB>
d_array_point_locator& geometry::d_array_point_locator< DC, DB >::operator= ( const d_array_point_locator< DC, DB > &  xother)
inlineprotected

Assignment operator; disabled.

Definition at line 172 of file d_array_point_locator.h.

◆ remove_box() [1/6]

template<int DC, int DB>
virtual void geometry::d_array_point_locator< DC, DB >::remove_box ( d_bounding_box< DC, DB > *  xbox)
virtual

◆ remove_box() [2/6]

template<>
void geometry::d_array_point_locator< 1, 1 >::remove_box ( d_bounding_box< 1, 1 > *  xbox)
Precondition
  • xbox != 0
  • contains_box(xbox)
Postcondition
  • !contains_box(xbox)

Definition at line 689 of file d_array_point_locator.cc.

References geometry::d_bounding_box< DC, DB >::lb(), geometry::d_array_point_locator< DC, DB >::remove_box(), and geometry::d_bounding_box< DC, DB >::ub().

◆ remove_box() [3/6]

template<>
void geometry::d_array_point_locator< 2, 2 >::remove_box ( d_bounding_box< 2, 2 > *  xbox)
Precondition
  • xbox != 0
  • contains_box(xbox)
Postcondition
  • !contains_box(xbox)

Definition at line 723 of file d_array_point_locator.cc.

References geometry::d_bounding_box< DC, DB >::lb(), geometry::d_array_point_locator< DC, DB >::remove_box(), and geometry::d_bounding_box< DC, DB >::ub().

◆ remove_box() [4/6]

template<>
void geometry::d_array_point_locator< 3, 1 >::remove_box ( d_bounding_box< 3, 1 > *  xbox)
Precondition
  • xbox != 0
  • contains_box(xbox)
Postcondition
  • !contains_box(xbox)

Definition at line 762 of file d_array_point_locator.cc.

References geometry::d_bounding_box< DC, DB >::lb(), geometry::d_array_point_locator< DC, DB >::remove_box(), and geometry::d_bounding_box< DC, DB >::ub().

◆ remove_box() [5/6]

template<>
void geometry::d_array_point_locator< 3, 2 >::remove_box ( d_bounding_box< 3, 2 > *  xbox)
Precondition
  • xbox != 0
  • contains_box(xbox)
Postcondition
  • !contains_box(xbox)

Definition at line 806 of file d_array_point_locator.cc.

References geometry::d_bounding_box< DC, DB >::lb(), geometry::d_array_point_locator< DC, DB >::remove_box(), and geometry::d_bounding_box< DC, DB >::ub().

◆ remove_box() [6/6]

template<>
void geometry::d_array_point_locator< 3, 3 >::remove_box ( d_bounding_box< 3, 3 > *  xbox)
Precondition
  • xbox != 0
  • contains_box(xbox)
Postcondition
  • !contains_box(xbox)

Definition at line 850 of file d_array_point_locator.cc.

References geometry::d_bounding_box< DC, DB >::lb(), and geometry::d_bounding_box< DC, DB >::ub().

◆ size()

template<int DC, int DB>
size_type geometry::d_array_point_locator< DC, DB >::size ( ) const

◆ to_stream()

◆ update_bins()

template<int DC, int DB>
void geometry::d_array_point_locator< DC, DB >::update_bins ( )
protectedvirtual

Member Data Documentation

◆ _bins


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