mirror of
https://github.com/opencv/opencv.git
synced 2025-06-12 12:22:51 +08:00
Merge pull request #7423 from grahamfyffe:leading_edges
This commit is contained in:
commit
3dc022ae84
@ -1012,6 +1012,14 @@ public:
|
|||||||
*/
|
*/
|
||||||
CV_WRAP void getEdgeList(CV_OUT std::vector<Vec4f>& edgeList) const;
|
CV_WRAP void getEdgeList(CV_OUT std::vector<Vec4f>& edgeList) const;
|
||||||
|
|
||||||
|
/** @brief Returns a list of the leading edge ID connected to each triangle.
|
||||||
|
|
||||||
|
@param leadingEdgeList – Output vector.
|
||||||
|
|
||||||
|
The function gives one edge ID for each triangle.
|
||||||
|
*/
|
||||||
|
CV_WRAP void getLeadingEdgeList(CV_OUT std::vector<int>& leadingEdgeList) const;
|
||||||
|
|
||||||
/** @brief Returns a list of all triangles.
|
/** @brief Returns a list of all triangles.
|
||||||
|
|
||||||
@param triangleList – Output vector.
|
@param triangleList – Output vector.
|
||||||
|
@ -733,6 +733,26 @@ void Subdiv2D::getEdgeList(std::vector<Vec4f>& edgeList) const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Subdiv2D::getLeadingEdgeList(std::vector<int>& leadingEdgeList) const
|
||||||
|
{
|
||||||
|
leadingEdgeList.clear();
|
||||||
|
int i, total = (int)(qedges.size()*4);
|
||||||
|
std::vector<bool> edgemask(total, false);
|
||||||
|
|
||||||
|
for( i = 4; i < total; i += 2 )
|
||||||
|
{
|
||||||
|
if( edgemask[i] )
|
||||||
|
continue;
|
||||||
|
int edge = i;
|
||||||
|
edgemask[edge] = true;
|
||||||
|
edge = getEdge(edge, NEXT_AROUND_LEFT);
|
||||||
|
edgemask[edge] = true;
|
||||||
|
edge = getEdge(edge, NEXT_AROUND_LEFT);
|
||||||
|
edgemask[edge] = true;
|
||||||
|
leadingEdgeList.push_back(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Subdiv2D::getTriangleList(std::vector<Vec6f>& triangleList) const
|
void Subdiv2D::getTriangleList(std::vector<Vec6f>& triangleList) const
|
||||||
{
|
{
|
||||||
triangleList.clear();
|
triangleList.clear();
|
||||||
|
Loading…
Reference in New Issue
Block a user