Flow123d
release_3.0.0-968-gc87a28e79
|
Go to the documentation of this file.
18 template<
unsigned int N,
unsigned int M>
20 { local_bcoords_A_.zeros();
21 local_bcoords_B_.zeros();
29 template<
unsigned int N,
unsigned int M>
35 template<
unsigned int N,
unsigned int M>
37 const arma::vec::fixed<M+1> &lcB,
40 : local_bcoords_A_(lcA), local_bcoords_B_(lcB), dim_A_(dim_A), dim_B_(dim_B)
44 template<
unsigned int N,
unsigned int M>
74 default: idx_B_ = idx_B;
82 template<
unsigned int N,
unsigned int M>
101 template<
unsigned int N,
unsigned int M>
112 template<
unsigned int N,
unsigned int M>
117 arma::vec::fixed< 3 > c;
119 for(
unsigned int i=0; i<N+1; i++)
120 c += local_bcoords_A_[i]*ele.
node(i)->
point();
133 template<
unsigned int N,
unsigned int M>
137 dim_A_ == other.
dim_A() &&
138 dim_B_ == other.
dim_B() &&
139 idx_A_ == other.
idx_A() &&
140 idx_B_ == other.
idx_B();
147 os <<
"Local coords on element A(id=" << s.
idx_A_ <<
", dim=" << s.
dim_A_ <<
")" << endl;
149 os <<
"Local coords on element B(id=" << s.
idx_B_ <<
", dim=" << s.
dim_B_ <<
")" << endl;
151 os <<
"Result: " << int(s.
result_) << endl;
Class RefElement defines numbering of vertices, sides, calculation of normal vectors etc.
unsigned int idx_A_
Local indices of element objects that intersects.
IntersectionPointAux()
Default constructor.
template ostream & operator<<< 2, 1 >(ostream &os, const IntersectionPointAux< 2, 1 > &s)
void set_result(IntersectionResult result)
Setter orientation flag.
const Node * node(unsigned int ni) const
template ostream & operator<<< 3, 1 >(ostream &os, const IntersectionPointAux< 3, 1 > &s)
bool topology_equal(const IntersectionPointAux< N, M > &other) const
Returns true, if other intersection point has the same topology.
ostream & operator<<(ostream &os, const IntersectionPointAux< N, M > &s)
const arma::vec::fixed< N+1 > & local_bcoords_A() const
Returns barycentric coordinates in the Simplex<N>.
template ostream & operator<<< 2, 3 >(ostream &os, const IntersectionPointAux< 2, 3 > &s)
unsigned int dim_B_
Dimension of the object B of intersection. Equal M, by default.
unsigned int idx_A() const
Returns the index of Simplex<N>.
unsigned int dim_A_
Dimension of the object A of intersection. Equal N, by default.
Internal auxiliary class represents an intersection point of simplex<N> and simplex<M>.
static const IdxVector<(InDim >OutDim ? InDim+1 :dim-InDim) > interact(TInteraction< OutDim, InDim > interaction)
unsigned int dim_A() const
Returns dimension of object A.
template ostream & operator<<< 3, 2 >(ostream &os, const IntersectionPointAux< 3, 2 > &s)
const arma::vec::fixed< M+1 > & local_bcoords_B() const
Returns barycentric coordinates in the Simplex<M>.
void clear()
Resets the object to default values.
void set_topology(unsigned int idx_A, unsigned int dim_A, unsigned int idx_B, unsigned int dim_B)
Setter for topology data. See description of idx_A_ and dim_A_.
arma::vec::fixed< M+1 > local_bcoords_B_
Barycentric coordinates of an IP on simplex<M>.
template ostream & operator<<< 1, 2 >(ostream &os, const IntersectionPointAux< 1, 2 > &s)
IntersectionPointAux< M, N > switch_objects() const
Switches the object A and B.
arma::vec::fixed< N+1 > local_bcoords_A_
Barycentric coordinates of an IP on simplex<N>.
arma::vec::fixed< 3 > coords(ElementAccessor< 3 > ele) const
Computes real coordinates of IP, given the element ele in which IP lies.
template ostream & operator<<< 2, 2 >(ostream &os, const IntersectionPointAux< 2, 2 > &s)
void set_coordinates(const arma::vec::fixed< N+1 > &lcA, const arma::vec::fixed< M+1 > &lcB)
Setter for coordinates.
unsigned int idx_B() const
IntersectionResult result() const
Result: 0 - negative sign, 1 - positive sign, 2 - degenerate (zero for all sides),...
IntersectionResult result_
Intersection result according to Plucker products.
template ostream & operator<<< 1, 3 >(ostream &os, const IntersectionPointAux< 1, 3 > &s)
unsigned int dim_B() const
Returns dimension of object B.
Internal class representing intersection point.