Flow123d  release_3.0.0-879-gd0f69e9
Public Member Functions | Private Attributes | Friends | List of all members
IntersectionAux< dimA, dimB > Class Template Reference

Internal auxiliary class representing intersection object of simplex<dimA> and simplex<dimB>. More...

#include <compute_intersection.hh>

Collaboration diagram for IntersectionAux< dimA, dimB >:
Collaboration graph
[legend]

Public Member Functions

 IntersectionAux ()
 Default constructor. More...
 
 IntersectionAux (unsigned int component_element_idx, unsigned int bulk_element_idx)
 Constructor taking in element indices. More...
 
virtual ~IntersectionAux ()
 Destructor. More...
 
std::vector< IntersectionPointAux< dimA, dimB > > & points ()
 Returns intersection points by a reference. More...
 
const std::vector< IntersectionPointAux< dimA, dimB > > & points () const
 Returns intersection points by a constant reference. More...
 
const IntersectionPointAux< dimA, dimB > & operator[] (unsigned int index) const
 Returns intersection point of given index. More...
 
unsigned int size () const
 Returns number of intersection points. More...
 
unsigned int component_ele_idx () const
 Returns index of component element. More...
 
unsigned int bulk_ele_idx () const
 Returns index of bulk element. More...
 
double compute_measure ()
 
unsigned int ips_in_face () const
 Returns idx of face when all IPs lie on it; -1 otherwise. More...
 
unsigned int duplicities () const
 
void set_duplicities (unsigned int n_duplicities)
 
void set_ips_in_face (unsigned int face_idx)
 
template<>
double compute_measure ()
 

Private Attributes

std::vector< IntersectionPointAux< dimA, dimB > > i_points_
 Vector of internal intersection points. More...
 
unsigned int component_element_idx_
 Index of intersecting element in the component. More...
 
unsigned int bulk_element_idx_
 Index of intersecting element in the bulk. More...
 
unsigned int ips_in_face_
 Local index of face/side in which all IPs lie. More...
 
unsigned int n_duplicities_
 Number of duplicit intersections. More...
 

Friends

template<unsigned int, unsigned int>
class ComputeIntersection
 
template<unsigned int dimAA, unsigned int dimBB>
std::ostream & operator<< (std::ostream &os, const IntersectionAux< dimAA, dimBB > &intersection)
 Friend output operator. More...
 

Detailed Description

template<unsigned int dimA, unsigned int dimB>
class IntersectionAux< dimA, dimB >

Internal auxiliary class representing intersection object of simplex<dimA> and simplex<dimB>.

It contains topology information and auxiliary intersection points. Used in ComputeIntersection classes.

Definition at line 49 of file compute_intersection.hh.

Constructor & Destructor Documentation

template<unsigned int dimA, unsigned int dimB>
IntersectionAux< dimA, dimB >::IntersectionAux ( )

Default constructor.

Definition at line 21 of file intersection_aux.cc.

template<unsigned int dimA, unsigned int dimB>
IntersectionAux< dimA, dimB >::IntersectionAux ( unsigned int  component_element_idx,
unsigned int  bulk_element_idx 
)

Constructor taking in element indices.

Definition at line 12 of file intersection_aux.cc.

template<unsigned int dimA, unsigned int dimB>
IntersectionAux< dimA, dimB >::~IntersectionAux ( )
virtual

Destructor.

Definition at line 25 of file intersection_aux.cc.

Member Function Documentation

template<unsigned int dimA, unsigned int dimB>
unsigned int IntersectionAux< dimA, dimB >::bulk_ele_idx ( ) const
inline

Returns index of bulk element.

Definition at line 116 of file intersection_aux.hh.

template<unsigned int dimA, unsigned int dimB>
unsigned int IntersectionAux< dimA, dimB >::component_ele_idx ( ) const
inline

Returns index of component element.

Definition at line 112 of file intersection_aux.hh.

template<>
double IntersectionAux< 1, 3 >::compute_measure ( )

Definition at line 32 of file intersection_aux.cc.

template<unsigned int dimA, unsigned int dimB>
double IntersectionAux< dimA, dimB >::compute_measure ( )

Computes the relative measure of intersection object. TODO: unifiy implementation with IntersectionLocalb

template<unsigned int dimA, unsigned int dimB>
unsigned int IntersectionAux< dimA, dimB >::duplicities ( ) const
inline

Definition at line 124 of file intersection_aux.hh.

template<unsigned int dimA, unsigned int dimB>
unsigned int IntersectionAux< dimA, dimB >::ips_in_face ( ) const
inline

Returns idx of face when all IPs lie on it; -1 otherwise.

Definition at line 120 of file intersection_aux.hh.

Here is the caller graph for this function:

template<unsigned int dimA, unsigned int dimB>
const IntersectionPointAux< dimA, dimB > & IntersectionAux< dimA, dimB >::operator[] ( unsigned int  index) const
inline

Returns intersection point of given index.

Definition at line 102 of file intersection_aux.hh.

template<unsigned int dimA, unsigned int dimB>
std::vector< IntersectionPointAux< dimA, dimB > > & IntersectionAux< dimA, dimB >::points ( )
inline

Returns intersection points by a reference.

Definition at line 94 of file intersection_aux.hh.

Here is the caller graph for this function:

template<unsigned int dimA, unsigned int dimB>
const std::vector< IntersectionPointAux< dimA, dimB > > & IntersectionAux< dimA, dimB >::points ( ) const
inline

Returns intersection points by a constant reference.

Definition at line 98 of file intersection_aux.hh.

template<unsigned int dimA, unsigned int dimB>
void IntersectionAux< dimA, dimB >::set_duplicities ( unsigned int  n_duplicities)
inline

Definition at line 128 of file intersection_aux.hh.

Here is the caller graph for this function:

template<unsigned int dimA, unsigned int dimB>
void IntersectionAux< dimA, dimB >::set_ips_in_face ( unsigned int  face_idx)
inline

Definition at line 132 of file intersection_aux.hh.

Here is the caller graph for this function:

template<unsigned int dimA, unsigned int dimB>
unsigned int IntersectionAux< dimA, dimB >::size ( ) const
inline

Returns number of intersection points.

Definition at line 108 of file intersection_aux.hh.

Here is the caller graph for this function:

Friends And Related Function Documentation

template<unsigned int dimA, unsigned int dimB>
template<unsigned int, unsigned int>
friend class ComputeIntersection
friend

Definition at line 88 of file intersection_aux.hh.

template<unsigned int dimA, unsigned int dimB>
template<unsigned int dimAA, unsigned int dimBB>
std::ostream& operator<< ( std::ostream &  os,
const IntersectionAux< dimAA, dimBB > &  intersection 
)
friend

Friend output operator.

Member Data Documentation

template<unsigned int dimA, unsigned int dimB>
unsigned int IntersectionAux< dimA, dimB >::bulk_element_idx_
private

Index of intersecting element in the bulk.

Definition at line 44 of file intersection_aux.hh.

template<unsigned int dimA, unsigned int dimB>
unsigned int IntersectionAux< dimA, dimB >::component_element_idx_
private

Index of intersecting element in the component.

Definition at line 42 of file intersection_aux.hh.

template<unsigned int dimA, unsigned int dimB>
std::vector<IntersectionPointAux<dimA,dimB> > IntersectionAux< dimA, dimB >::i_points_
private

Vector of internal intersection points.

Definition at line 39 of file intersection_aux.hh.

template<unsigned int dimA, unsigned int dimB>
unsigned int IntersectionAux< dimA, dimB >::ips_in_face_
private

Local index of face/side in which all IPs lie.

Definition at line 46 of file intersection_aux.hh.

template<unsigned int dimA, unsigned int dimB>
unsigned int IntersectionAux< dimA, dimB >::n_duplicities_
private

Number of duplicit intersections.

Definition at line 48 of file intersection_aux.hh.


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