Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
cv::Subdiv2D Class Reference

#include <imgproc.hpp>

List of all members.

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

CV_WRAP Subdiv2D ()
CV_WRAP Subdiv2D (Rect rect)
CV_WRAP void initDelaunay (Rect rect)
CV_WRAP int insert (Point2f pt)
CV_WRAP void insert (const vector< Point2f > &ptvec)
CV_WRAP int locate (Point2f pt, CV_OUT int &edge, CV_OUT int &vertex)
CV_WRAP int findNearest (Point2f pt, CV_OUT Point2f *nearestPt=0)
CV_WRAP void getEdgeList (CV_OUT vector< Vec4f > &edgeList) const
CV_WRAP void getTriangleList (CV_OUT vector< Vec6f > &triangleList) const
CV_WRAP void getVoronoiFacetList (const vector< int > &idx, CV_OUT vector< vector< Point2f > > &facetList, CV_OUT vector< Point2f > &facetCenters)
CV_WRAP Point2f getVertex (int vertex, CV_OUT int *firstEdge=0) const
CV_WRAP int getEdge (int edge, int nextEdgeType) const
CV_WRAP int nextEdge (int edge) const
CV_WRAP int rotateEdge (int edge, int rotate) const
CV_WRAP int symEdge (int edge) const
CV_WRAP int edgeOrg (int edge, CV_OUT Point2f *orgpt=0) const
CV_WRAP 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_WRAP cv::Subdiv2D::Subdiv2D ( Rect  rect)

Member Function Documentation

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

Member Data Documentation

vector<Vertex> cv::Subdiv2D::vtx [protected]
vector<QuadEdge> cv::Subdiv2D::qedges [protected]
int cv::Subdiv2D::freeQEdge [protected]
int cv::Subdiv2D::freePoint [protected]
bool cv::Subdiv2D::validGeometry [protected]
int cv::Subdiv2D::recentEdge [protected]

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