20 #ifndef INTERSECTIONAUX_H_
21 #define INTERSECTIONAUX_H_
35 template<
unsigned int dimA,
unsigned int dimB>
56 unsigned int bulk_element_idx);
90 template<
unsigned int dimAA,
unsigned int dimBB>
93 template<
unsigned int,
unsigned int>
99 template<
unsigned int dimA,
unsigned int dimB>
101 {
return i_points_; }
103 template<
unsigned int dimA,
unsigned int dimB>
105 {
return i_points_; }
107 template<
unsigned int dimA,
unsigned int dimB>
109 {
ASSERT(index < i_points_.size());
110 return i_points_[index]; }
113 template<
unsigned int dimA,
unsigned int dimB>
115 {
return i_points_.size(); }
117 template<
unsigned int dimA,
unsigned int dimB>
119 {
return component_element_idx_; }
121 template<
unsigned int dimA,
unsigned int dimB>
123 {
return bulk_element_idx_; }
125 template<
unsigned int dimA,
unsigned int dimB>
127 {
return ips_in_face_;}
129 template<
unsigned int dimA,
unsigned int dimB>
131 {
return n_duplicities_;}
133 template<
unsigned int dimA,
unsigned int dimB>
135 { n_duplicities_ = n_duplicities; }
137 template<
unsigned int dimA,
unsigned int dimB>
139 { ips_in_face_ = face_idx; }
Internal auxiliary class representing intersection object of simplex<dimA> and simplex<dimB>.
const IntersectionPointAux< dimA, dimB > & operator[](unsigned int index) const
Returns intersection point of given index.
unsigned int bulk_element_idx_
Index of intersecting element in the bulk.
friend std::ostream & operator<<(std::ostream &os, const IntersectionAux< dimAA, dimBB > &intersection)
Friend output operator.
void set_ips_in_face(unsigned int face_idx)
unsigned int bulk_ele_idx() const
Returns index of bulk element.
unsigned int ips_in_face_
Local index of face/side in which all IPs lie.
IntersectionAux()
Default constructor.
unsigned int ips_in_face() const
Returns idx of face when all IPs lie on it; -1 otherwise.
unsigned int size() const
Returns number of intersection points.
std::vector< IntersectionPointAux< dimA, dimB > > i_points_
Vector of internal intersection points.
const std::vector< IntersectionPointAux< dimA, dimB > > & points() const
Returns intersection points by a constant reference.
std::vector< IntersectionPointAux< dimA, dimB > > & points()
Returns intersection points by a reference.
unsigned int duplicities() const
virtual ~IntersectionAux()
Destructor.
void set_duplicities(unsigned int n_duplicities)
unsigned int n_duplicities_
Number of duplicit intersections.
unsigned int component_ele_idx() const
Returns index of component element.
unsigned int component_element_idx_
Index of intersecting element in the component.
Internal auxiliary class represents an intersection point of simplex<N> and simplex<M>.