31 friend std::ostream& operator<<(std::ostream& os,
const SingularEdge& s);
42 edge_(
edge), vtx0_(vtx0), vtx1_(vtx1) {
43 diffVector_ = diffVectorNormed_ = (vtx1_-vtx0_);
44 diffVectorNormed_ *= 1.0 / diffVectorNormed_.
l2_2();
45 diffVectorTimesVtx0Normed_ = diffVectorNormed_ * vtx0_;
105 friend std::ostream& operator<<(std::ostream& os,
const SingularVertex& s);
113 vertex_(
vertex), vtx0_(vtx0) {}
137 friend std::ostream& operator<<(std::ostream& os,
const SingularSet& s);
Real l2_2() const
Returns the square of the Euclidian norm of the vector.
Real distance(const concepts::Real3d point, const Hexahedron *elm) const
const concepts::Connector1 * edge() const
Returns a pointer to the edge object (topological, connector)
Real distanceV1(const concepts::Real3d point, const Hexahedron *elm) const
Returns the the square of the distance of point to vtx1_.
Real distanceV0(const concepts::Real3d point, const Hexahedron *elm) const
Returns the the square of the distance of point to vtx0_.
SingularEdge(const concepts::Connector1 *edge, const concepts::Real3d vtx0, const concepts::Real3d vtx1)
void add(const concepts::Attribute &attrib, concepts::Mesh3 &msh)
concepts::Scan< SingularEdge > * edgesScan() const
Scanner over all singular edges.
concepts::Scan< SingularVertex > * verticesScan() const
Scanner over all singular vertices.
const concepts::Connector0 * vertex() const
Returns a pointer to the vertex object (topological, connector)
SingularVertex(const concepts::Connector0 *vertex, const concepts::Real3d vtx0)
Real distance(concepts::Real3d point) const
Real distance(concepts::Real3d point, const Hexahedron *elm) const
Set< F > makeSet(uint n, const F &first,...)