21 #ifndef D_BIN_POINT_LOCATOR_H 22 #define D_BIN_POINT_LOCATOR_H 24 #ifndef SHEAF_DLL_SPEC_H 25 #include "SheafSystem/sheaf_dll_spec.h" 28 #ifndef POINT_LOCATOR_H 29 #include "SheafSystem/point_locator.h" 32 #ifndef D_BOUNDING_BOX_H 33 #include "SheafSystem/d_bounding_box.h" 36 #ifndef EVAL_ITERATOR_H 37 #include "SheafSystem/eval_iterator.h" 41 #include "SheafSystem/std_set.h" 44 #ifndef SINGLY_LINKED_LIST_H 45 #include "SheafSystem/singly_linked_list.h" 48 #ifndef STL_SCOPED_INDEX_H 49 #include "SheafSystem/stl_scoped_index.h" 58 template <
int DC,
int DB>
59 class d_bin_coordinates;
67 template <
int DC,
int DB>
91 virtual bool invariant()
const;
111 bool is_empty()
const;
178 virtual void clear() = 0;
230 virtual void update_bins() = 0;
277 virtual void update();
284 virtual void update(
bool xpopulate,
size_type xeval_capacity);
318 #endif // D_BIN_POINT_LOCATOR_H 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.
d_bin_point_locator(const d_bin_point_locator< DC, DB > &xother)
Copy constructor; disabled.
virtual void update()=0
Updates the search structure to the current values of coordinates().
block< sec_vd_value_type > _one_over_min_bin_size
Reciprocal of the dimensions of the smallest bins.
An iterator over the members of the evaluation subposet contained in the downset of the base space of...
eval_iterator _eval_itr
The evaluator iterator used to populate the search structure; must have same life time as the search ...
singly_linked_list< const d_bounding_box< DC, DB > * > box_list_type
The type of box list.
Fixed point relative coordinates for a tree domain.
A section of a fiber bundle with a d-dimensional Euclidean vector space fiber.
block< d_bounding_box< DC, DB > > _boxes
Bounding boxes for the evaluation members.
virtual d_bin_point_locator & operator=(const point_locator &xother)
Assignment operator; disabled.
An index within the external ("client") scope of a given id space.
unsigned long size_type
An unsigned integral type used to represent sizes and capacities.
A bounding box that can be strung together into a list.
An abstract local section evaluator; a map from {local coordinates x dofs} to section value...
d_bin_point_locator & operator=(const d_bin_point_locator< DC, DB > &xother)
Assignment operator; disabled.
size_type _box_ct
The number of bounding boxes stored in the search structure.
int_type pod_index_type
The plain old data index type.
double sec_vd_dof_type
The type of degree of freedom in the section space.
Namespace for geometry component of sheaf system.
vd_value_type sec_vd_value_type
The type of component in the value of a section at a point.
An abstract point location query in domains with global coordinate dimension dc and local coordinate ...
block< sec_vd_dof_type > _gathered_dofs
The dofs of gathered by evaluation member.
block< sec_vd_value_type > _bin_size
The dimensions of the smallest bins.
Wrapper class for forward_list or slist depending on compiler. The class replicates the minimum subse...
An abstract point location query in domains with global coordinate dimension dc and local coordinate ...
d_bin_point_locator()
Default constructor; disabled.