geos::operation::intersection::Rectangle Class Reference

Clipping rectangle. More...

#include <Rectangle.h>

List of all members.

Public Types

enum  Position {
  Inside = 1, Outside = 2, Left = 4, Top = 8,
  Right = 16, Bottom = 32, TopLeft = Top|Left, TopRight = Top|Right,
  BottomLeft = Bottom|Left, BottomRight = Bottom|Right
}
 

Position with respect to a clipping rectangle.


Public Member Functions

 Rectangle (double x1, double y1, double x2, double y2)
 Construct a clipping rectangle.
double xmin () const
double ymin () const
double xmax () const
double ymax () const
geom::PolygontoPolygon (const geom::GeometryFactory &f) const
geom::LinearRingtoLinearRing (const geom::GeometryFactory &f) const
Position position (double x, double y) const
 Establish position of coordinate with respect to a Rectangle.

Static Public Member Functions

static bool onEdge (Position pos)
 Test if the given position is on a edge.
static bool onSameEdge (Position pos1, Position pos2)
 Test if the given positions are on the same Rectangle edge.
static Position nextEdge (Position pos)
 Next edge in clock-wise direction.

Detailed Description

Clipping rectangle.

A clipping rectangle defines the boundaries of the rectangle by defining the limiting x- and y-coordinates. The clipping rectangle must be non-empty. In addition, methods are provided for specifying the location of a given coordinate with respect to the clipping rectangle similarly to the Cohen-Sutherland clipping algorithm.


Constructor & Destructor Documentation

geos::operation::intersection::Rectangle::Rectangle ( double  x1,
double  y1,
double  x2,
double  y2 
)

Construct a clipping rectangle.

Parameters:
x1 x-coordinate of the left edge
y1 y-coordinate of the bottom edge
x2 x-coordinate of the right edge
y2 y-coordinate of the right edge
Exceptions:
IllegalArgumentException if the rectangle is empty

Member Function Documentation

static Position geos::operation::intersection::Rectangle::nextEdge ( Position  pos  )  [inline, static]

Next edge in clock-wise direction.

Parameters:
pos Rectangle Position
Returns:
next {} Position in clock-wise direction
static bool geos::operation::intersection::Rectangle::onEdge ( Position  pos  )  [inline, static]

Test if the given position is on a edge.

Parameters:
pos Rectangle Position
Returns:
true, if the position is on an edge
static bool geos::operation::intersection::Rectangle::onSameEdge ( Position  pos1,
Position  pos2 
) [inline, static]

Test if the given positions are on the same Rectangle edge.

Parameters:
pos1 Rectangle Position of first coordinate
pos2 Rectangle Position of second coordinate
Returns:
true, if the positions are on the same edge
Position geos::operation::intersection::Rectangle::position ( double  x,
double  y 
) const [inline]

Establish position of coordinate with respect to a Rectangle.

Parameters:
x x-coordinate
y y-coordinate
Returns:
Position of the coordinate
geom::Polygon* geos::operation::intersection::Rectangle::toPolygon ( const geom::GeometryFactory f  )  const

@return the rectangle as a polygon geometry

Ownership transferred to caller

double geos::operation::intersection::Rectangle::xmax (  )  const [inline]

@return the maximum x-coordinate of the rectangle

double geos::operation::intersection::Rectangle::xmin (  )  const [inline]

@return the minimum x-coordinate of the rectangle

double geos::operation::intersection::Rectangle::ymax (  )  const [inline]

@return the maximum y-coordinate of the rectangle

double geos::operation::intersection::Rectangle::ymin (  )  const [inline]

@return the minimum y-coordinate of the rectangle


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

Generated on 26 Dec 2017 for GEOS by  doxygen 1.6.1