OpenCV  2.4.13
Open Source Computer Vision
cv::Subdiv2D Class Reference

#include <imgproc.hpp>

Classes

struct  QuadEdge
 
struct  Vertex
 

Public Types

enum  {
  PTLOC_ERROR = -2, PTLOC_OUTSIDE_RECT = -1, PTLOC_INSIDE = 0, PTLOC_VERTEX = 1,
  PTLOC_ON_EDGE = 2
}
 
enum  {
  NEXT_AROUND_ORG = 0x00, NEXT_AROUND_DST = 0x22, PREV_AROUND_ORG = 0x11, PREV_AROUND_DST = 0x33,
  NEXT_AROUND_LEFT = 0x13, NEXT_AROUND_RIGHT = 0x31, PREV_AROUND_LEFT = 0x20, PREV_AROUND_RIGHT = 0x02
}
 

Public Member Functions

 Subdiv2D ()
 
 Subdiv2D (Rect rect)
 
void initDelaunay (Rect rect)
 
int insert (Point2f pt)
 
void insert (const vector< Point2f > &ptvec)
 
int locate (Point2f pt, CV_OUT int &edge, CV_OUT int &vertex)
 
int findNearest (Point2f pt, CV_OUT Point2f *nearestPt=0)
 
void getEdgeList (CV_OUT vector< Vec4f > &edgeList) const
 
void getTriangleList (CV_OUT vector< Vec6f > &triangleList) const
 
void getVoronoiFacetList (const vector< int > &idx, CV_OUT vector< vector< Point2f > > &facetList, CV_OUT vector< Point2f > &facetCenters)
 
Point2f getVertex (int vertex, CV_OUT int *firstEdge=0) const
 
int getEdge (int edge, int nextEdgeType) const
 
int nextEdge (int edge) const
 
int rotateEdge (int edge, int rotate) const
 
int symEdge (int edge) const
 
int edgeOrg (int edge, CV_OUT Point2f *orgpt=0) const
 
int edgeDst (int edge, CV_OUT Point2f *dstpt=0) const
 

Protected Member Functions

int newEdge ()
 
void deleteEdge (int edge)
 
int newPoint (Point2f pt, bool isvirtual, int firstEdge=0)
 
void deletePoint (int vtx)
 
void setEdgePoints (int edge, int orgPt, int dstPt)
 
void splice (int edgeA, int edgeB)
 
int connectEdges (int edgeA, int edgeB)
 
void swapEdges (int edge)
 
int isRightOf (Point2f pt, int edge) const
 
void calcVoronoi ()
 
void clearVoronoi ()
 
void checkSubdiv () const
 

Protected Attributes

vector< Vertexvtx
 
vector< QuadEdgeqedges
 
int freeQEdge
 
int freePoint
 
bool validGeometry
 
int recentEdge
 
Point2f topLeft
 
Point2f bottomRight
 

Member Enumeration Documentation

anonymous enum
Enumerator
PTLOC_ERROR 
PTLOC_OUTSIDE_RECT 
PTLOC_INSIDE 
PTLOC_VERTEX 
PTLOC_ON_EDGE 
anonymous enum
Enumerator
NEXT_AROUND_ORG 
NEXT_AROUND_DST 
PREV_AROUND_ORG 
PREV_AROUND_DST 
NEXT_AROUND_LEFT 
NEXT_AROUND_RIGHT 
PREV_AROUND_LEFT 
PREV_AROUND_RIGHT 

Constructor & Destructor Documentation

cv::Subdiv2D::Subdiv2D ( )
cv::Subdiv2D::Subdiv2D ( Rect  rect)

Member Function Documentation

void cv::Subdiv2D::calcVoronoi ( )
protected
void cv::Subdiv2D::checkSubdiv ( ) const
protected
void cv::Subdiv2D::clearVoronoi ( )
protected
int cv::Subdiv2D::connectEdges ( int  edgeA,
int  edgeB 
)
protected
void cv::Subdiv2D::deleteEdge ( int  edge)
protected
void cv::Subdiv2D::deletePoint ( int  vtx)
protected
int cv::Subdiv2D::edgeDst ( int  edge,
CV_OUT Point2f dstpt = 0 
) const
int cv::Subdiv2D::edgeOrg ( int  edge,
CV_OUT Point2f orgpt = 0 
) const
int cv::Subdiv2D::findNearest ( Point2f  pt,
CV_OUT Point2f nearestPt = 0 
)
int cv::Subdiv2D::getEdge ( int  edge,
int  nextEdgeType 
) const
void cv::Subdiv2D::getEdgeList ( CV_OUT vector< Vec4f > &  edgeList) const
void cv::Subdiv2D::getTriangleList ( CV_OUT vector< Vec6f > &  triangleList) const
Point2f cv::Subdiv2D::getVertex ( int  vertex,
CV_OUT int firstEdge = 0 
) const
void cv::Subdiv2D::getVoronoiFacetList ( const vector< int > &  idx,
CV_OUT vector< vector< Point2f > > &  facetList,
CV_OUT vector< Point2f > &  facetCenters 
)
void cv::Subdiv2D::initDelaunay ( Rect  rect)
int cv::Subdiv2D::insert ( Point2f  pt)
void cv::Subdiv2D::insert ( const vector< Point2f > &  ptvec)
int cv::Subdiv2D::isRightOf ( Point2f  pt,
int  edge 
) const
protected
int cv::Subdiv2D::locate ( Point2f  pt,
CV_OUT int edge,
CV_OUT int vertex 
)
int cv::Subdiv2D::newEdge ( )
protected
int cv::Subdiv2D::newPoint ( Point2f  pt,
bool  isvirtual,
int  firstEdge = 0 
)
protected
int cv::Subdiv2D::nextEdge ( int  edge) const
int cv::Subdiv2D::rotateEdge ( int  edge,
int  rotate 
) const
void cv::Subdiv2D::setEdgePoints ( int  edge,
int  orgPt,
int  dstPt 
)
protected
void cv::Subdiv2D::splice ( int  edgeA,
int  edgeB 
)
protected
void cv::Subdiv2D::swapEdges ( int  edge)
protected
int cv::Subdiv2D::symEdge ( int  edge) const

Member Data Documentation

Point2f cv::Subdiv2D::bottomRight
protected
int cv::Subdiv2D::freePoint
protected
int cv::Subdiv2D::freeQEdge
protected
vector<QuadEdge> cv::Subdiv2D::qedges
protected
int cv::Subdiv2D::recentEdge
protected
Point2f cv::Subdiv2D::topLeft
protected
bool cv::Subdiv2D::validGeometry
protected
vector<Vertex> cv::Subdiv2D::vtx
protected

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