12 template <
typename TDomain>
38 const std::string & top_ss_names,
40 bool useLocalTopFacesOnly =
false
46 useLocalTopFacesOnly =
true;
53 std::vector<side_t*> topSides;
56 if(useLocalTopFacesOnly){
63 for (SideIterator it = sh.
begin<
side_t> (si, grid_level);
64 it != sh.
end<
side_t> (si, grid_level); ++it)
65 topSides.push_back (*it);
68 for (
int lvl = 0; lvl < (int) sh.
num_levels(); lvl++){
74 topSides.push_back (t);
93 for (SideIterator it = sh.
begin<
side_t> (si, grid_level);
94 it != sh.
end<
side_t> (si, grid_level); ++it)
97 for (
int lvl = 0; lvl < (int) sh.
num_levels(); lvl++)
119 topSides.push_back (*it);
141 up_dir [
dim - 1] = 1;
157 if (x [
dim - 1] < z_min)
manages the layouts and interfaces which are associated with a distributed grid.
Definition: distributed_grid.h:88
bool is_ghost(TElem *elem) const
returns true if the element is a ghost
Definition: distributed_grid_impl.hpp:67
Serialization callback for grid attachments.
Definition: serialization.h:290
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
DistributedGridManager * distributed_grid_manager()
returns a pointer to the associated distributed grid manager.
Definition: grid_impl.hpp:53
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
bool has_children(TElem *elem) const
Definition: multi_grid.h:217
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
uint num_levels() const
returns the number of levels
Definition: subset_handler_multi_grid.h:80
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
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: z_ray_tracer.hpp:14
bool get_min_at(const MathVector< dim > &over, number tolerance, number &z)
computes the minimum z-coordiate of the top (returns true if the top found, false otherwise)
Definition: z_ray_tracer.hpp:132
domain_type::position_attachment_type position_attachment_type
type of the position accessor
Definition: z_ray_tracer.hpp:23
ZRayTracer(SmartPtr< domain_type > sp_domain, const std::string &top_ss_names, int grid_level, bool useLocalTopFacesOnly=false)
class constructor
Definition: z_ray_tracer.hpp:36
SmartPtr< domain_type > m_sp_domain
multigrid of the domain
Definition: z_ray_tracer.hpp:168
lg_ntree< dim-1, dim, side_t > top_tracer_tree_t
Definition: z_ray_tracer.hpp:28
std::vector< top_intersection_record_t > m_top_intersection_records
array to store all the intersections
Definition: z_ray_tracer.hpp:181
grid_dim_traits< dim-1 >::element_type side_t
side type
Definition: z_ray_tracer.hpp:26
SubsetGroup m_top_ss_grp
subset group of the top faces
Definition: z_ray_tracer.hpp:171
Grid m_top_grid
auxiliary grid of the top faces
Definition: z_ray_tracer.hpp:175
RayElemIntersectionRecord< side_t * > top_intersection_record_t
Definition: z_ray_tracer.hpp:30
static const int dim
world dimension
Definition: z_ray_tracer.hpp:20
top_tracer_tree_t m_top_tracer_tree
tracer tree of the top faces
Definition: z_ray_tracer.hpp:178
TDomain domain_type
grid function type
Definition: z_ray_tracer.hpp:17
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
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
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 AllGatherGrid(Grid &gridOut, Selector &sel, GridDataSerializationHandler &serializer, GridDataSerializationHandler &deserializer, const pcl::ProcessCommunicator &procCom)
AllGathers selected parts of a grid into 'gridOut'.
Definition: gather_grid.cpp:83
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
Definition: grid_dim_traits.h:53