GEOS  3.8.0dev
Public Types | Public Member Functions | Static Public Member Functions | List of all members
geos::operation::intersection::Rectangle Class Reference

Clipping rectangle. More...

#include <Rectangle.h>

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. More...
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. More...

Static Public Member Functions

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

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.

x1x-coordinate of the left edge
y1y-coordinate of the bottom edge
x2x-coordinate of the right edge
y2y-coordinate of the right edge
IllegalArgumentExceptionif the rectangle is empty

Member Function Documentation

static Position geos::operation::intersection::Rectangle::nextEdge ( Position  pos)

Next edge in clock-wise direction.

posRectangle Position
next {} Position in clock-wise direction
static bool geos::operation::intersection::Rectangle::onEdge ( Position  pos)

Test if the given position is on a edge.

posRectangle Position
true, if the position is on an edge
static bool geos::operation::intersection::Rectangle::onSameEdge ( Position  pos1,
Position  pos2 

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

pos1Rectangle Position of first coordinate
pos2Rectangle Position of second coordinate
true, if the positions are on the same edge
Position geos::operation::intersection::Rectangle::position ( double  x,
double  y 
) const

Establish position of coordinate with respect to a Rectangle.

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

@return the maximum x-coordinate of the rectangle

double geos::operation::intersection::Rectangle::xmin ( ) const

@return the minimum x-coordinate of the rectangle

double geos::operation::intersection::Rectangle::ymax ( ) const

@return the maximum y-coordinate of the rectangle

double geos::operation::intersection::Rectangle::ymin ( ) const

@return the minimum y-coordinate of the rectangle

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