GEOS  3.9.1dev
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
geos::operation::overlayng::RobustClipEnvelopeComputer Class Reference

#include <RobustClipEnvelopeComputer.h>

Collaboration diagram for geos::operation::overlayng::RobustClipEnvelopeComputer:
[legend]

Public Member Functions

 RobustClipEnvelopeComputer (const Envelope *p_targetEnv)
 
Envelope getEnvelope ()
 

Static Public Member Functions

static Envelope getEnvelope (const Geometry *a, const Geometry *b, const Envelope *targetEnv)
 

Private Member Functions

void add (const Geometry *g)
 
void addCollection (const GeometryCollection *gc)
 
void addPolygon (const Polygon *poly)
 
void addPolygonRing (const LinearRing *ring)
 
void addSegment (const Coordinate &p1, const Coordinate &p2)
 
bool intersectsSegment (const Envelope *env, const Coordinate &p1, const Coordinate &p2)
 

Private Attributes

const EnvelopetargetEnv
 
Envelope clipEnv
 

Detailed Description

Computes a robust clipping envelope for a pair of polygonal geometries. The envelope is computed to be large enough to include the full length of all geometry line segments which intersect a given target envelope. This ensures that line segments which might intersect are not perturbed when clipped using RingClipper.

Author
mdavis

Definition at line 52 of file RobustClipEnvelopeComputer.h.

Constructor & Destructor Documentation

geos::operation::overlayng::RobustClipEnvelopeComputer::RobustClipEnvelopeComputer ( const Envelope p_targetEnv)

Member Function Documentation

void geos::operation::overlayng::RobustClipEnvelopeComputer::add ( const Geometry g)
private
void geos::operation::overlayng::RobustClipEnvelopeComputer::addCollection ( const GeometryCollection gc)
private
void geos::operation::overlayng::RobustClipEnvelopeComputer::addPolygon ( const Polygon poly)
private
void geos::operation::overlayng::RobustClipEnvelopeComputer::addPolygonRing ( const LinearRing ring)
private
void geos::operation::overlayng::RobustClipEnvelopeComputer::addSegment ( const Coordinate p1,
const Coordinate p2 
)
private
static Envelope geos::operation::overlayng::RobustClipEnvelopeComputer::getEnvelope ( const Geometry a,
const Geometry b,
const Envelope targetEnv 
)
static
Envelope geos::operation::overlayng::RobustClipEnvelopeComputer::getEnvelope ( )
bool geos::operation::overlayng::RobustClipEnvelopeComputer::intersectsSegment ( const Envelope env,
const Coordinate p1,
const Coordinate p2 
)
private

Member Data Documentation

Envelope geos::operation::overlayng::RobustClipEnvelopeComputer::clipEnv
private

Definition at line 58 of file RobustClipEnvelopeComputer.h.

const Envelope* geos::operation::overlayng::RobustClipEnvelopeComputer::targetEnv
private

Definition at line 57 of file RobustClipEnvelopeComputer.h.


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