#include <singularSet.hh>
Public Member Functions | |
| SingularEdge (const concepts::Connector1 *edge, const concepts::Real3d vtx0, const concepts::Real3d vtx1) | |
| const concepts::Connector1 * | edge () const |
| Returns a pointer to the edge object (topological, connector) | |
| Real | distance (const concepts::Real3d point, const Hexahedron *elm) const |
| Real | distanceV0 (const concepts::Real3d point, const Hexahedron *elm) const |
Returns the the square of the distance of point to vtx0_. | |
| Real | distanceV1 (const concepts::Real3d point, const Hexahedron *elm) const |
Returns the the square of the distance of point to vtx1_. | |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const SingularEdge &s) |
Class for storing a singular edge with coordinates of its corners. The class also provides methods to compute a distance from a given point (in local coordinates in an element) to the edge. The returned results are the Euclidiean distance squared.
Definition at line 30 of file singularSet.hh.
|
inline |
Constructor. Precomputes diffVector_, diffVectorNormed_ and diffVectorTimesVtx0Normed_ to allow fast computations in the distance function.
| edge | Edge object |
| vtx0,vtx1 | Coordinates of the corners of the edge |
Definition at line 40 of file singularSet.hh.
| Real hp3D::SingularEdge::distance | ( | const concepts::Real3d | point, |
| const Hexahedron * | elm | ||
| ) | const |
Returns the square of the distance from the edge to a point inside elm
| point | Point in reference coordinates |
| elm | Hexahedron in which the point is located |
Let 
![\[
k(t) := x_c + (x_{c'}- x_c) \cdot t = x_c + x_D \cdot t
\]](form_589.png)
where 

To determine the root point 




![\[
t = x \cdot\frac{x_D}{|x_D|^2} -
\frac{x_c\cdot x_D}{|x_D|^2} = x \cdot a - b
\]](form_593.png)
where 
diffVectorNormed_ and 
diffVectorTimesVtx0Normed_ respectively.
If 

|
inline |
Returns a pointer to the edge object (topological, connector)
Definition at line 48 of file singularSet.hh.