14 : _vertices({&vertexOne, &vertexTwo})
16 if (*_vertices[1] < *_vertices[0]) {
19 PRECICE_ASSERT(vertexOne.getDimensions() == vertexTwo.getDimensions(),
20 vertexOne.getDimensions(), vertexTwo.getDimensions());
47 [](
const Vertex *a,
const Vertex *b) { return *a == *b; });
51 return !(*
this == other);
57 return stream <<
"LINESTRING ("
#define PRECICE_ASSERT(...)
Linear edge of a mesh, defined by two Vertex objects.
double getEnclosingRadius() const
Returns the radius of the enclosing circle of the edge.
bool operator!=(const Edge &other) const
Not equal, implemented in terms of equal.
double getLength() const
Returns the length of the edge.
Edge(Vertex &vertexOne, Vertex &vertexTwo)
Constructor.
const Eigen::VectorXd getCenter() const
Returns the center of the edge.
bool operator==(const Edge &other) const
Compares two Edges for equality.
Vertex & vertex(int i)
Returns the edge's vertex with index 0 or 1.
std::array< Vertex *, 2 > _vertices
Pointers to Vertex objects defining the edge, ordered by Vertex::getID().
bool connectedTo(const Edge &other) const
Checks whether both edges share a vertex.
Eigen::VectorXd getCoords() const
Returns the coordinates of the vertex.
T is_permutation(T... args)
provides Mesh, Data and primitives.
std::ostream & operator<<(std::ostream &os, const BoundingBox &bb)