ug4
ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom > Class Template Reference

class of line source and sink iterator for a given scv More...

#include <fv1_sss.h>

Public Member Functions

bool is_over ()
 checks whether we are at the end More...
 
 line_iterator (master_type *sss, TElem *elem, Grid &grid, TAAPos &aaPos, const TFVGeom &geo, size_t co)
 class constructor (sets the iterator to the beginnging of the list) More...
 
 line_iterator (this_type &op)
 copy constructor More...
 
line_sss_typeoperator* ()
 access operator More...
 
this_typeoperator++ ()
 moves to the next valid source or sink More...
 
this_typerewind ()
 moves the iterator to the beginning of the list More...
 
const MathVector< dim > & seg_end ()
 the 2nd of the intersection points with the bnd of the scv More...
 
const MathVector< dim > & seg_start ()
 the 1st of the intersection points with the bnd of the scv More...
 

Private Types

typedef FVSingularSourcesAndSinks< dim, TPointData, TLineData > master_type
 
typedef line_iterator< TElem, TAAPos, TFVGeom > this_type
 

Private Member Functions

void next_sss (size_t index, MathVector< dim > &ls, MathVector< dim > &le)
 

Private Attributes

TAAPos & m_aaPos
 
size_t m_co
 
TElem * m_elem
 
AABox< MathVector< dim > > m_elem_bbox
 
const TFVGeom & m_geo
 
Gridm_grid
 
size_t m_index
 index of the current source/sink More...
 
MathVector< dimm_le
 the 2nd of the intersection points with the bnd of the scv More...
 
MathVector< dimm_ls
 the 1st of the intersection points with the bnd of the scv More...
 
master_typem_sss
 

Detailed Description

template<int dim, typename TPointData, typename TLineData = TPointData>
template<typename TElem, typename TAAPos, typename TFVGeom>
class ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >

class of line source and sink iterator for a given scv

Member Typedef Documentation

◆ master_type

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
typedef FVSingularSourcesAndSinks<dim, TPointData, TLineData> ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::master_type
private

◆ this_type

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
typedef line_iterator<TElem, TAAPos, TFVGeom> ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::this_type
private

Constructor & Destructor Documentation

◆ line_iterator() [1/2]

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::line_iterator ( master_type sss,
TElem *  elem,
Grid grid,
TAAPos &  aaPos,
const TFVGeom &  geo,
size_t  co 
)
inline

◆ line_iterator() [2/2]

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::line_iterator ( this_type op)
inline

copy constructor

Member Function Documentation

◆ is_over()

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
bool ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::is_over ( )
inline

◆ next_sss()

template<int dim, typename TPointData , typename TLineData >
template<typename TElem , typename TAAPos , typename TFVGeom >
void ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::next_sss ( size_t  index,
MathVector< dim > &  ls,
MathVector< dim > &  le 
)
private

Finds the proper point source or sink starting with a given index

Parameters
indexindex to start the search with
lsthe 1st of the intersection points with the bnd of the scv
lethe 2nd of the intersection points with the bnd of the scv

References ug::FVLineSourceOrSink< dim, TData >::corresponds_to(), ug::FVLineSourceOrSink< dim, TData >::from_position(), and ug::FVLineSourceOrSink< dim, TData >::to_position().

Referenced by ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::line_iterator(), and ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::operator++().

◆ operator*()

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
line_sss_type* ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::operator* ( )
inline

◆ operator++()

◆ rewind()

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
this_type& ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::rewind ( )
inline

◆ seg_end()

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
const MathVector<dim>& ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::seg_end ( )
inline

the 2nd of the intersection points with the bnd of the scv

References ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::m_le.

◆ seg_start()

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
const MathVector<dim>& ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::seg_start ( )
inline

the 1st of the intersection points with the bnd of the scv

References ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::m_ls.

Member Data Documentation

◆ m_aaPos

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
TAAPos& ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::m_aaPos
private

◆ m_co

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
size_t ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::m_co
private

◆ m_elem

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
TElem* ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::m_elem
private

◆ m_elem_bbox

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
AABox<MathVector<dim> > ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::m_elem_bbox
private

◆ m_geo

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
const TFVGeom& ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::m_geo
private

◆ m_grid

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
Grid& ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::m_grid
private

◆ m_index

◆ m_le

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
MathVector<dim> ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::m_le
private

◆ m_ls

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
MathVector<dim> ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::m_ls
private

◆ m_sss

template<int dim, typename TPointData , typename TLineData = TPointData>
template<typename TElem , typename TAAPos , typename TFVGeom >
master_type* ug::FVSingularSourcesAndSinks< dim, TPointData, TLineData >::line_iterator< TElem, TAAPos, TFVGeom >::m_sss
private

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