GEOS 3.4.2

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Attributes | List of all members
geos::triangulate::quadedge::Vertex Class Reference

`#include <Vertex.h>`

## 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

  v | a vertex

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

  v,a | vertex

Returns
  returns the dot product u.v

bool geos::triangulate::quadedge::Vertex::isCCW | ( | const Vertex & | b,
|  | const Vertex & | c
| ) |  | const
| inline

Tests whether the triangle formed by this vertex and two other vertices is in CCW orientation.

Parameters

  b | a vertex
  c | a vertex

Returns
  true if the triangle is oriented CCW

References geos::geom::Coordinate::x, and geos::geom::Coordinate::y.

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

  v,a | vertex

Returns
  returns the scaled vector

The documentation for this class was generated from the following file:

- Vertex.h