ug4
ug::ZRayTracer< TDomain > Class Template Reference

#include <z_ray_tracer.hpp>

Public Member Functions

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) More...
 
 ZRayTracer (SmartPtr< domain_type > sp_domain, const std::string &top_ss_names, int grid_level, bool useLocalTopFacesOnly=false)
 class constructor More...
 

Private Types

typedef TDomain domain_type
 grid function type More...
 
typedef domain_type::position_attachment_type position_attachment_type
 type of the position accessor More...
 
typedef grid_dim_traits< dim-1 >::element_type side_t
 side type More...
 
typedef RayElemIntersectionRecord< side_t * > top_intersection_record_t
 
typedef lg_ntree< dim-1, dim, side_ttop_tracer_tree_t
 

Private Attributes

SmartPtr< domain_typem_sp_domain
 multigrid of the domain More...
 
Grid m_top_grid
 auxiliary grid of the top faces More...
 
std::vector< top_intersection_record_tm_top_intersection_records
 array to store all the intersections More...
 
SubsetGroup m_top_ss_grp
 subset group of the top faces More...
 
top_tracer_tree_t m_top_tracer_tree
 tracer tree of the top faces More...
 

Static Private Attributes

static const int dim = domain_type::dim
 world dimension More...
 

Member Typedef Documentation

◆ domain_type

template<typename TDomain >
typedef TDomain ug::ZRayTracer< TDomain >::domain_type
private

grid function type

◆ position_attachment_type

template<typename TDomain >
typedef domain_type::position_attachment_type ug::ZRayTracer< TDomain >::position_attachment_type
private

type of the position accessor

◆ side_t

template<typename TDomain >
typedef grid_dim_traits<dim-1>::element_type ug::ZRayTracer< TDomain >::side_t
private

side type

◆ top_intersection_record_t

template<typename TDomain >
typedef RayElemIntersectionRecord<side_t*> ug::ZRayTracer< TDomain >::top_intersection_record_t
private

◆ top_tracer_tree_t

template<typename TDomain >
typedef lg_ntree<dim-1, dim, side_t> ug::ZRayTracer< TDomain >::top_tracer_tree_t
private

Constructor & Destructor Documentation

◆ ZRayTracer()

Member Function Documentation

◆ get_min_at()

template<typename TDomain >
bool ug::ZRayTracer< TDomain >::get_min_at ( const MathVector< dim > &  over,
number  tolerance,
number z 
)
inline

computes the minimum z-coordiate of the top (returns true if the top found, false otherwise)

Parameters
overto look over this point
tolerancethe tolerance of the ray tracer
zthe result

References ug::ZRayTracer< TDomain >::dim, ug::ZRayTracer< TDomain >::m_top_intersection_records, ug::ZRayTracer< TDomain >::m_top_tracer_tree, ug::PointOnRay(), ug::RayElementIntersections(), and ug::RayElemIntersectionRecord< TElem >::smin.

Member Data Documentation

◆ dim

template<typename TDomain >
const int ug::ZRayTracer< TDomain >::dim = domain_type::dim
staticprivate

world dimension

Referenced by ug::ZRayTracer< TDomain >::get_min_at().

◆ m_sp_domain

template<typename TDomain >
SmartPtr<domain_type> ug::ZRayTracer< TDomain >::m_sp_domain
private

multigrid of the domain

Referenced by ug::ZRayTracer< TDomain >::ZRayTracer().

◆ m_top_grid

template<typename TDomain >
Grid ug::ZRayTracer< TDomain >::m_top_grid
private

auxiliary grid of the top faces

Referenced by ug::ZRayTracer< TDomain >::ZRayTracer().

◆ m_top_intersection_records

template<typename TDomain >
std::vector<top_intersection_record_t> ug::ZRayTracer< TDomain >::m_top_intersection_records
private

array to store all the intersections

Referenced by ug::ZRayTracer< TDomain >::get_min_at().

◆ m_top_ss_grp

template<typename TDomain >
SubsetGroup ug::ZRayTracer< TDomain >::m_top_ss_grp
private

subset group of the top faces

Referenced by ug::ZRayTracer< TDomain >::ZRayTracer().

◆ m_top_tracer_tree

template<typename TDomain >
top_tracer_tree_t ug::ZRayTracer< TDomain >::m_top_tracer_tree
private

tracer tree of the top faces

Referenced by ug::ZRayTracer< TDomain >::get_min_at(), and ug::ZRayTracer< TDomain >::ZRayTracer().


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