LARS
LARS (Light Augmented Reality System) is an open-source framework for light-based interaction and real-time tracking in multi-robot experiments. Inspired by ARK, LARS extends the augmented reality paradigm to robotic collectives by projecting dynamic visual cues and environments onto the arena, enabling new experimental possibilities for collective robotics research, education, and outreach. LARS features integrated tracking, light projection, and modular experiment control with a user-friendly Qt GUI.
Loading...
Searching...
No Matches
rcsc::DelaunayTriangulation Class Reference

Delaunay triangulation. More...

#include <delaunay_triangulation.h>

Classes

class  Edge
 triangle's edge data. More...
class  Triangle
 triangle data More...
class  Vertex
 triangle's vertex data. This is handled as kernel point for the Voronoi diagram.. More...

Public Types

enum  ContainedType { NOT_CONTAINED , CONTAINED , ONLINE , SAME_VERTEX }
 containment type in triangles
typedef EdgeEdgePtr
 alias of Edge pointer
typedef TriangleTrianglePtr
 alias of Triangle pointer
typedef std::vector< VertexVertexCont
 vertex container type
typedef std::map< int, EdgePtrEdgeCont
 edge pointer container type
typedef std::map< int, TrianglePtrTriangleCont
 triangle pointer container type

Public Member Functions

 DelaunayTriangulation ()
 nothing to do
 DelaunayTriangulation (const Rect2D &region)
 construct with considerable rectangle region
 ~DelaunayTriangulation ()
 destruct
void init (const Rect2D &region)
 initialize with target field rectangle data. All data are cleared. Initial triangle is crated.
void clear ()
 clear all vertices and all computed results.
void clearResults ()
 clear all computed results
const VertexContvertices () const
 get vertices
const EdgeContedges () const
 get edge set
const TriangleConttriangles () const
 get triangle set
int addVertex (const double &x, const double &y)
 add new vertex
int addVertex (const Vector2D &p)
 add new vertex
void addVertices (const std::vector< Vector2D > &v)
 set vertices.
const VertexgetVertex (const int id) const
 get the const pointer to vertex specified by Id number.
void compute ()
 compute the Delaunay Triangulation
void updateVoronoiVertex ()
 calculate voronoi vertex point for each triangle
const TrianglefindTriangleContains (const Vector2D &pos) const
 find triangle that contains pos from the computed triangle set.
const VertexfindNearestVertex (const Vector2D &pos) const
 find the vertex nearest to the specified point

Static Public Attributes

static const double EPSILON = 1.0e-10
 tolerance threshold

Detailed Description

Delaunay triangulation.

Constructor & Destructor Documentation

◆ DelaunayTriangulation()

rcsc::DelaunayTriangulation::DelaunayTriangulation ( const Rect2D & region)
inlineexplicit

construct with considerable rectangle region

Parameters
regionconsiderable rectangle region.

All verteices must be included in region.

Member Function Documentation

◆ addVertex() [1/2]

int rcsc::DelaunayTriangulation::addVertex ( const double & x,
const double & y )

add new vertex

Parameters
xcoordinate x
ycoordinate y
Returns
assigned id value

◆ addVertex() [2/2]

int rcsc::DelaunayTriangulation::addVertex ( const Vector2D & p)
inline

add new vertex

Parameters
padded point
Returns
assigned id value

◆ addVertices()

void rcsc::DelaunayTriangulation::addVertices ( const std::vector< Vector2D > & v)

set vertices.

Parameters
vcontainer of vertices.

◆ edges()

const EdgeCont & rcsc::DelaunayTriangulation::edges ( ) const
inline

get edge set

Returns
const referenct to the map container. key=id, value=raw pointer

◆ findNearestVertex()

const DelaunayTriangulation::Vertex * rcsc::DelaunayTriangulation::findNearestVertex ( const Vector2D & pos) const

find the vertex nearest to the specified point

Parameters
poscoordinates of the target point
Returns
const pointer to the found vertex, if no vertex, NULL is returned.

◆ findTriangleContains()

const DelaunayTriangulation::Triangle * rcsc::DelaunayTriangulation::findTriangleContains ( const Vector2D & pos) const

find triangle that contains pos from the computed triangle set.

Parameters
poscoordinates of the target point
Returns
const pointer to the found triangle. if no triangle, NULL is returned.

◆ getVertex()

const DelaunayTriangulation::Vertex * rcsc::DelaunayTriangulation::getVertex ( const int id) const

get the const pointer to vertex specified by Id number.

Parameters
idwanted vertex Id number.
Returns
const pointer to the vertex instance. if no vertex, NULL is returned.

◆ triangles()

const TriangleCont & rcsc::DelaunayTriangulation::triangles ( ) const
inline

get triangle set

Returns
const referenct to the map container. key=id, value=raw pointer

◆ vertices()

const VertexCont & rcsc::DelaunayTriangulation::vertices ( ) const
inline

get vertices

Returns
const reference to the vertices container

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