13 template <
typename TDomain>
16 static const int dim = TDomain::dim;
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;
144 x =
PointOnRay (measure_point, up_dir, r.smin);
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++)
Definition smart_pointer.h:108
A generic specialization of IAttachment.
Definition attachment_pipe.h:263
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
a mathematical Vector with N entries.
Definition math_vector.h:97
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
Definition grid_dim_traits.h:53