13 template <
typename TDomain>
34 const std::string & top_ss_names)
41 std::vector<side_t*> topSides;
60 subset_index_accessor[*it] = si;
65 accessor.access(mg,
m_sp_domain->position_attachment());
96 topSides.push_back (*it);
109 if (point.size () !=
dim)
110 UG_THROW (
"OverlyingSubsetFinder::findOverlyingSubset: Exactly " <<
dim <<
" coordinates have to be specified!");
114 for(
size_t d = 0; d <
dim; d++)
116 measure_point[d] = point[d];
122 up_dir [
dim - 1] = 1;
145 if (x [
dim - 1] < z_min)
148 si = subset_index_accessor[r.
elem];
152 return m_sp_domain->subset_handler ()->get_subset_name(si);
168 for (
size_t i = 0; i <
dim; i++)
Serialization callback for grid attachments.
Definition: serialization.h:290
the generic attachment-accessor for access to grids attachment pipes.
Definition: grid.h:182
bool access(Grid &grid, TAttachment &a)
Definition: grid.h:189
Serialization of data associated with grid elements.
Definition: serialization.h:186
void add(SPVertexDataSerializer cb)
Adds a callback class for serialization and deserialization.
Definition: serialization.cpp:69
Manages the elements of a grid and their interconnection.
Definition: grid.h:132
size_t num() const
Definition: grid_impl.hpp:230
void attach_to(IAttachment &attachment, bool passOnValues)
attach with custom pass-on-behaviour and unspecified default value.
Definition: grid_impl.hpp:296
geometry_traits< TGeomObj >::iterator begin()
Definition: grid_impl.hpp:164
geometry_traits< TGeomObj >::iterator end()
Definition: grid_impl.hpp:175
void select(GridObject *elem, byte status)
selects an element
Definition: selector_interface_impl.hpp:56
Definition: multi_grid.h:72
Handles subsets on a per level basis.
Definition: subset_handler_multi_grid.h:60
geometry_traits< TElem >::iterator end(int subsetIndex, int level)
returns the end-iterator for the elements of type TElem in the given subset.
Definition: subset_handler_multi_grid_impl.hpp:64
geometry_traits< TElem >::iterator begin(int subsetIndex, int level)
returns the begin-iterator for the elements of type TElem in the given subset.
Definition: subset_handler_multi_grid_impl.hpp:44
Definition: overlying_subset_finder.hpp:15
OverlyingSubsetFinder(SmartPtr< TDomain > sp_domain, const std::string &top_ss_names)
Definition: overlying_subset_finder.hpp:32
Attachment< int > subset_index_attachment
Definition: overlying_subset_finder.hpp:182
SmartPtr< domain_type > m_sp_domain
Definition: overlying_subset_finder.hpp:178
void debug()
Definition: overlying_subset_finder.hpp:155
grid_dim_traits< dim-1 >::element_type side_t
Definition: overlying_subset_finder.hpp:19
SubsetGroup m_top_ss_grp
Definition: overlying_subset_finder.hpp:180
domain_type::position_accessor_type position_accessor_type
Definition: overlying_subset_finder.hpp:26
static const int dim
Definition: overlying_subset_finder.hpp:16
Grid::traits< side_t >::iterator SideIterator
Definition: overlying_subset_finder.hpp:28
lg_ntree< dim-1, dim, side_t > top_tracer_tree_t
Definition: overlying_subset_finder.hpp:21
top_tracer_tree_t m_top_tracer_tree
Definition: overlying_subset_finder.hpp:184
RayElemIntersectionRecord< side_t * > top_intersection_record_t
Definition: overlying_subset_finder.hpp:23
std::vector< top_intersection_record_t > m_top_intersection_records
array to store all the intersections
Definition: overlying_subset_finder.hpp:187
domain_type::position_attachment_type position_attachment_type
Definition: overlying_subset_finder.hpp:25
std::string findOverlyingSubset(const std::vector< number > &point)
Definition: overlying_subset_finder.hpp:106
TDomain domain_type
Definition: overlying_subset_finder.hpp:17
Grid m_top_grid
Definition: overlying_subset_finder.hpp:181
specialization of ISelector for a grid of class Grid.
Definition: selector_grid.h:96
Group of subsets.
Definition: subset_group.h:51
size_t size() const
number of subsets in this group
Definition: subset_group.h:122
Definition: lg_ntree.h:338
void set_grid(Grid &grid, position_attachment_t aPos)
Definition: lg_ntree.h:350
void create_tree(TIterator elemsBegin, TIterator elemsEnd)
Definition: lg_ntree.h:356
#define UG_LOG_ALL_PROCS(msg)
Definition: log.h:371
#define UG_THROW(msg)
Definition: error.h:57
double number
Definition: types.h:124
vector_t PointOnRay(const vector_t &from, const vector_t &dir, number s)
returns the point described by a relative ray coordinate
Definition: math_util_impl.hpp:150
function util LuaCallbackHelper create(func)
bool RayElementIntersections(std::vector< RayElemIntersectionRecord< typename tree_t::elem_t > > &intersectionsOut, const tree_t &tree, const typename tree_t::vector_t &rayFrom, const typename tree_t::vector_t &rayDir, const number small=1.e-12)
Definition: ntree_traverser.h:386
void TokenizeString(const string &str, vector< string > &vToken, const char delimiter)
Definition: string_util.cpp:56
void BroadcastGrid(Grid &gridOut, Selector &sel, GridDataSerializationHandler &serializer, GridDataSerializationHandler &deserializer, int root, const pcl::ProcessCommunicator &procCom)
Broadcasts the specified Selection from 'root' to all processes in procCom.
Definition: broadcast.cpp:38
geometry_traits< TElem >::iterator iterator
Definition: grid.h:143
Definition: ntree_traverser.h:310
number smin
relative coordinate where the ray enters the element
Definition: ntree_traverser.h:315
TElem elem
the element that was intersected
Definition: ntree_traverser.h:317
Definition: grid_dim_traits.h:53