MapLink Pro 11.1.1.0.
Envitia MapLink Pro: The Ultimate Mapping Application Toolkit
Loading...
Searching...
No Matches
TSLBoundaryEdge Class Reference

Detailed Description

This class represents a single edge from a constructed boundary.

Public Member Functions

const TSLCoordv0 () const
 
const TSLCoordv1 () const
 
const TSLBoundaryVertexvertex0 () const
 
const TSLBoundaryVertexvertex1 () const
 
void mark (bool flag)
 
bool mark () const
 
double length () const
 
bool touches (const TSLBoundaryVertex *vertexToTest, TSLTMC tolerance=0) const
 
bool touches (const TSLCoord &positionToTest, TSLTMC tolerance=0) const
 
bool intersection (const TSLBoundaryEdge *otherEdge, TSLBoundaryVertex *intersectionOut) const
 
bool relativeBearing (TSLBoundaryEdge *otherEdge, double *angleOut)
 

Member Function Documentation

◆ intersection()

bool TSLBoundaryEdge::intersection ( const TSLBoundaryEdge * otherEdge,
TSLBoundaryVertex * intersectionOut ) const

This method calculates the bounded intersection of an edge with another specified edge.

The method returns true if the edges intersect, false if they do not or are colinear.

Arguments list details :

otherEdge: A pointer to the other edge to test against.

intersectionOut: A pointer to a vertex populated by the results of the test.

◆ length()

double TSLBoundaryEdge::length ( ) const

This method queries the length of the edge, in TMC units.

◆ mark() [1/2]

bool TSLBoundaryEdge::mark ( ) const

This method queries whether an edge has been marked.

◆ mark() [2/2]

void TSLBoundaryEdge::mark ( bool flag)

This method marks the edge for further processing later.

Parameters
flagthe value for the marker flag

◆ relativeBearing()

bool TSLBoundaryEdge::relativeBearing ( TSLBoundaryEdge * otherEdge,
double * angleOut )

This method calculates the relative bearing of an edge with another specified edge. Note that the two edges must share a common vertex. The angle will be in radians, clockwise from this supplier to the specified edge.

If no common vertex was found, then this method returns false, otherwise it returns true. Note that the actual vertex addresses are compared to determine whether a common vertex is available.

Arguments list details :

otherEdge : A pointer to the other edge to test against.

angleOut: A pointer to the angle field to be populated by the search.

◆ touches() [1/2]

bool TSLBoundaryEdge::touches ( const TSLBoundaryVertex * vertexToTest,
TSLTMC tolerance = 0 ) const

This method returns true if the specified vertex lies on the edge, within a specified tolerance. This is a bounded check.

Arguments list details :

vertexToTest: A pointer to the vertex to test.

tolerance: Maximum distance that the vertex may be from the edge to return true. If the point must be exacly on the edge, pass zero.

◆ touches() [2/2]

bool TSLBoundaryEdge::touches ( const TSLCoord & positionToTest,
TSLTMC tolerance = 0 ) const

This method returns true if the specified position lies on the edge, within a specified tolerance. This is a bounded check.

Arguments list details :

positionToTest: Position to be tested.

tolerance: Maximum distance that the point may be from the edge to return true. If the point must be exacly on the edge, pass zero.

◆ v0()

const TSLCoord & TSLBoundaryEdge::v0 ( ) const

This method queries the position of the start vertex of the edge.

◆ v1()

const TSLCoord & TSLBoundaryEdge::v1 ( ) const

This method queries the position of the end vertex of the edge.

◆ vertex0()

const TSLBoundaryVertex & TSLBoundaryEdge::vertex0 ( ) const

This method queries the start vertex of the edge.

◆ vertex1()

const TSLBoundaryVertex & TSLBoundaryEdge::vertex1 ( ) const

This method queries the end vertex of the edge.