Geom Software - C++ Programming and Geometry Libraries
Fade2D Documentation pages v1.58
Tools

Functions

void GEOM_FADE2D::getDirectedEdges (std::vector< Triangle2 *> &vT, std::vector< Edge2 > &vDirectedEdgesOut)
 Get directed edge The directed edges of vT are returned vDirectedEdgesOut. Directed means that each edge (a,b) with two adjacent triangles in vT is returned twice, as edge(a,b) and edge(b,a).
 
void GEOM_FADE2D::getUndirectedEdges (std::vector< Triangle2 *> &vT, std::vector< Edge2 > &vUndirectedEdgesOut)
 Get undirected edges. More...
 
void GEOM_FADE2D::edgesToPolygons (std::vector< Edge2 > &vEdgesIn, std::vector< std::vector< Edge2 > > &vvPolygonsOut, std::vector< Edge2 > &vRemainingOut)
 Create polygons from a set of edges. More...
 
void GEOM_FADE2D::getBorders (const std::vector< Triangle2 *> &vT, std::vector< Segment2 > &vBorderSegmentsOut)
 Get Borders. More...
 
bool GEOM_FADE2D::sortRing (std::vector< Segment2 > &vRing)
 Sort a vector of Segments. More...
 
Orientation2 GEOM_FADE2D::getOrientation2 (const Point2 *p0, const Point2 *p1, const Point2 *p2)
 Get the orientation of three points. More...
 
Orientation2 GEOM_FADE2D::getOrientation2_mt (const Point2 *p0, const Point2 *p1, const Point2 *p2)
 Get Orientation2 (MT) More...
 

Detailed Description

Function Documentation

◆ edgesToPolygons()

void GEOM_FADE2D::edgesToPolygons ( std::vector< Edge2 > &  vEdgesIn,
std::vector< std::vector< Edge2 > > &  vvPolygonsOut,
std::vector< Edge2 > &  vRemainingOut 
)

A number of methods in Fade returns an unorganized set of edges that delimit a certain area. But sometimes it is more beneficial to have these edges organized as a set of one or more polygons. This is the purpose of the present method.

Parameters
[in]vEdgesInis a vector of oriented edges
[out]vvPolygonsOutcontains one vector<Edge2> for each polygon found in the input data.
[out]vRemainingOutis used to return the unused edges

The present function adds for each polygon found in vEdgesIn one vector<Edge2> to vvPolygonsOut. Edges that do not form a closed polygon are collected in the last output vector.

Note
An Edge2 object represents an edge that is counterclockwise (CCW) oriented with respect to its triangle. This orientation is kept and therefore the output polygons can be both, CW or CCW- oriented.
edges-to-polygons.png
Polygons created by edgesToPolygons

◆ getBorders()

void GEOM_FADE2D::getBorders ( const std::vector< Triangle2 *> &  vT,
std::vector< Segment2 > &  vBorderSegmentsOut 
)

Computes the border of the triangles in vT. The border consists of all edges having only one adjacent triangle in vT.

Parameters
[in]vTare the input triangles
[out]vBorderSegmentsOutis used to return all border segments

◆ getOrientation2()

Orientation2 GEOM_FADE2D::getOrientation2 ( const Point2 p0,
const Point2 p1,
const Point2 p2 
)

This function returns the exact orientation of the points p0, p1, p2 Possible values are
ORIENTATION2_COLLINEAR if p0, p1, p2 are located on a line,
ORIENTATION2_CCW if p0, p1, p2 are counterclockwise oriented
ORIENTATION2_CW if p0, p1, p2 are clockwise oriented
Not thread-safe but a bit faster than the thread-safe version

◆ getOrientation2_mt()

Orientation2 GEOM_FADE2D::getOrientation2_mt ( const Point2 p0,
const Point2 p1,
const Point2 p2 
)
See also
Orientation2 getOrientation2(const Point2* p0,const Point2* p1,const Point2* p2);

This version is thread-safe.

◆ getUndirectedEdges()

void GEOM_FADE2D::getUndirectedEdges ( std::vector< Triangle2 *> &  vT,
std::vector< Edge2 > &  vUndirectedEdgesOut 
)

A unique set of edges of vT is returned.

◆ sortRing()

bool GEOM_FADE2D::sortRing ( std::vector< Segment2 > &  vRing)

The segments in vRing are reoriented and sorted such that subsequent segments join at the endpoints.