| TerraLib 4.1

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

- Namespace List
- Namespace Members

Classes | Typedefs | Functions
TeINTERSECTOR2 Namespace Reference

Contains structures and definitions needed by line intersection algorithms (FOR INTERNAL USE ONLY). More...

## Classes

struct | TeBoundaryIP
| This struct is used to represent a point intersection between two segments on boundary of a TePolygon or TeLine2D. More...
struct | TeSegIdInPolygonSet
| This struct represents an index to the right place of a segment in a TeLineSet, TeLine2D, TePolygon or TePolygonSet. More...

## Typedefs

typedef vector< TeBoundaryIP > | TeVectorBoundaryIP
| This is the type of intersection point list.
typedef pair < TeSegIdInPolygonSet, TeSegIdInPolygonSet > | TePairSegIdInPolygonSet
| This pair is used to index two segments that intersects.
typedef TeSAM::TeRTree < TeSegIdInPolygonSet, 8 > | TeSegmentRTree
| This is the type used to index the segments in the boundary of a TeLine2D, TeLineSet, TePolygon or TePolygonSet.

## Functions

TL_DLL short | TeCCW (const TeCoord2D &c1, const TeCoord2D &c2, const TeCoord2D &c3, bool &between)
| Tells if three points makes a right turn, a left turn or are collinear.
TL_DLL bool | TeIntersection (const TeCoord2D &a, const TeCoord2D &b, const TeCoord2D &c, const TeCoord2D &d, TeBoundaryIP &ips, TeSegmentIntersectionType &intersectionType)
| Returns the intersection point of the segments.
TL_DLL bool | TeIntersects (const TeCoord2D &a, const TeCoord2D &b, const TeCoord2D &c, const TeCoord2D &d, TeSegmentIntersectionType &intersectionType)
| Tells if two segments intersects.
TL_DLL bool | TeSafeIntersections (const TePolygonSet &redPols, const TePolygonSet &bluePols, TeVectorBoundaryIP &report)
| Verifies if there is an intersection between two given polygonsets.
TL_DLL bool | TeSafeIntersections (const TeLine2D &redLine, const TeLine2D &blueLine, TeVectorBoundaryIP &report, const unsigned int &redObjId=0, const unsigned int &blueObjId=0)
| Verifies if there is an intersection between two given lines.
TL_DLL bool | TeIntersects (const TeLine2D &redLine, const TeLine2D &blueLine)
| Returns true if the lines intersects.
TL_DLL bool | TeIntersection (const TePolygonSet &polygons, TeSegmentRTree &tree, TeVectorBoundaryIP &report)
| Reports intersections between segments of polygons in the polygonset list.
TL_DLL bool | TeIntersection (const TePolygonSet &redPolygons, TeSegmentRTree &redTree, const TePolygonSet &bluePolygons, TeINTERSECTOR2::TeVectorBoundaryIP &report)
| Reports intersections between segments of two diferent polygonsets.
TL_DLL bool | TeIntersection (const TeLineSet &redLines, const TePolygonSet &bluePolygons, TeSegmentRTree &blueTree, TeINTERSECTOR2::TeVectorBoundaryIP &report)
| Reports intersections between segments of a lineset and a polygonset.
TL_DLL bool | TeIsSimple (const TePolygonSet &polygons, vector< TePairSegIdInPolygonSet > &selfIntersectionList)
| Tells if there is a self-intersection between segments.
TL_DLL void | TeIndexPolygonSet (const TePolygonSet &polygons, TeSegmentRTree &tree)
| Index polygon's segments.

## Detailed Description

Contains structures and definitions needed by line intersection algorithms (FOR INTERNAL USE ONLY).

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines