geos::triangulate::quadedge::Vertex Class Reference
#include <Vertex.h>
List of all members.
Public Member Functions |
| Vertex (double _x, double _y) |
| Vertex (double _x, double _y, double _z) |
| Vertex (const geom::Coordinate &_p) |
double | getX () const |
double | getY () const |
double | getZ () const |
void | setZ (double _z) |
const geom::Coordinate & | getCoordinate () const |
bool | equals (const Vertex &_x) const |
bool | equals (const Vertex &_x, double tolerance) const |
virtual int | classify (const Vertex &p0, const Vertex &p1) |
double | crossProduct (const Vertex &v) const |
double | dot (Vertex v) const |
std::auto_ptr< Vertex > | times (double c) const |
std::auto_ptr< Vertex > | sum (Vertex v) const |
std::auto_ptr< Vertex > | sub (const Vertex &v) const |
double | magn () const |
std::auto_ptr< Vertex > | cross () const |
virtual bool | isInCircle (const Vertex &a, const Vertex &b, const Vertex &c) const |
bool | isCCW (const Vertex &b, const Vertex &c) const |
bool | rightOf (const QuadEdge &e) const |
bool | leftOf (const QuadEdge &e) const |
Static Public Attributes |
static const int | LEFT = 0 |
static const int | RIGHT = 1 |
static const int | BEYOND = 2 |
static const int | BEHIND = 3 |
static const int | BETWEEN = 4 |
static const int | ORIGIN = 5 |
static const int | DESTINATION = 6 |
Detailed Description
Models a site (node) in a QuadEdgeSubdivision. The sites can be points on a line string representing a linear site.
The vertex can be considered as a vector with a norm, length, inner product, cross product, etc. Additionally, point relations (e.g., is a point to the left of a line, the circle defined by this point and two others, etc.) are also defined in this class.
It is common to want to attach user-defined data to the vertices of a subdivision. One way to do this is to subclass Vertex
to carry any desired information (see ConstraintVertex).
- Author:
- JTS: David Skea
-
JTS: Martin Davis
-
Benjamin Campbell
Member Function Documentation
double geos::triangulate::quadedge::Vertex::crossProduct |
( |
const Vertex & |
v |
) |
const [inline] |
Computes the cross product k = u X v.
- Parameters:
-
- Returns:
- returns the magnitude of u X v
double geos::triangulate::quadedge::Vertex::dot |
( |
Vertex |
v |
) |
const [inline] |
Computes the inner or dot product
- Parameters:
-
- Returns:
- returns the dot product u.v
bool geos::triangulate::quadedge::Vertex::isCCW |
( |
const Vertex & |
b, |
|
|
const Vertex & |
c | |
|
) |
| | const [inline] |
virtual bool geos::triangulate::quadedge::Vertex::isInCircle |
( |
const Vertex & |
a, |
|
|
const Vertex & |
b, |
|
|
const Vertex & |
c | |
|
) |
| | const [virtual] |
************************************************************* Tests if the vertex is inside the circle defined by the triangle with vertices a, b, c (oriented counter-clockwise).
- Parameters:
-
| a | a vertex of the triangle |
| b | a vertex of the triangle |
| c | a vertex of the triangle |
- Returns:
- true if this vertex is in the circumcircle of (a,b,c)
std::auto_ptr<Vertex> geos::triangulate::quadedge::Vertex::times |
( |
double |
c |
) |
const [inline] |
Computes the scalar product c(v)
- Parameters:
-
- Returns:
- returns the scaled vector
The documentation for this class was generated from the following file: