123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382 |
- //
- // This file is auto-generated. Please don't modify it!
- //
- #pragma once
- #ifdef __cplusplus
- //#import "opencv.hpp"
- #import "opencv2/imgproc.hpp"
- #else
- #define CV_EXPORTS
- #endif
- #import <Foundation/Foundation.h>
- @class Float4;
- @class Float6;
- @class IntVector;
- @class Point2f;
- @class Rect2i;
- NS_ASSUME_NONNULL_BEGIN
- // C++: class Subdiv2D
- /**
- * The Subdiv2D module
- *
- * Member of `Imgproc`
- */
- CV_EXPORTS @interface Subdiv2D : NSObject
- #ifdef __cplusplus
- @property(readonly)cv::Ptr<cv::Subdiv2D> nativePtr;
- #endif
- #ifdef __cplusplus
- - (instancetype)initWithNativePtr:(cv::Ptr<cv::Subdiv2D>)nativePtr;
- + (instancetype)fromNative:(cv::Ptr<cv::Subdiv2D>)nativePtr;
- #endif
- #pragma mark - Class Constants
- @property (class, readonly) int PTLOC_ERROR NS_SWIFT_NAME(PTLOC_ERROR);
- @property (class, readonly) int PTLOC_OUTSIDE_RECT NS_SWIFT_NAME(PTLOC_OUTSIDE_RECT);
- @property (class, readonly) int PTLOC_INSIDE NS_SWIFT_NAME(PTLOC_INSIDE);
- @property (class, readonly) int PTLOC_VERTEX NS_SWIFT_NAME(PTLOC_VERTEX);
- @property (class, readonly) int PTLOC_ON_EDGE NS_SWIFT_NAME(PTLOC_ON_EDGE);
- @property (class, readonly) int NEXT_AROUND_ORG NS_SWIFT_NAME(NEXT_AROUND_ORG);
- @property (class, readonly) int NEXT_AROUND_DST NS_SWIFT_NAME(NEXT_AROUND_DST);
- @property (class, readonly) int PREV_AROUND_ORG NS_SWIFT_NAME(PREV_AROUND_ORG);
- @property (class, readonly) int PREV_AROUND_DST NS_SWIFT_NAME(PREV_AROUND_DST);
- @property (class, readonly) int NEXT_AROUND_LEFT NS_SWIFT_NAME(NEXT_AROUND_LEFT);
- @property (class, readonly) int NEXT_AROUND_RIGHT NS_SWIFT_NAME(NEXT_AROUND_RIGHT);
- @property (class, readonly) int PREV_AROUND_LEFT NS_SWIFT_NAME(PREV_AROUND_LEFT);
- @property (class, readonly) int PREV_AROUND_RIGHT NS_SWIFT_NAME(PREV_AROUND_RIGHT);
- #pragma mark - Methods
- //
- // cv::Subdiv2D::Subdiv2D()
- //
- /**
- * creates an empty Subdiv2D object.
- * To create a new empty Delaunay subdivision you need to use the #initDelaunay function.
- */
- - (instancetype)init;
- //
- // cv::Subdiv2D::Subdiv2D(Rect rect)
- //
- /**
- *
- *
- * @param rect Rectangle that includes all of the 2D points that are to be added to the subdivision.
- *
- * The function creates an empty Delaunay subdivision where 2D points can be added using the function
- * insert() . All of the points to be added must be within the specified rectangle, otherwise a runtime
- * error is raised.
- */
- - (instancetype)initWithRect:(Rect2i*)rect;
- //
- // void cv::Subdiv2D::initDelaunay(Rect rect)
- //
- /**
- * Creates a new empty Delaunay subdivision
- *
- * @param rect Rectangle that includes all of the 2D points that are to be added to the subdivision.
- */
- - (void)initDelaunay:(Rect2i*)rect NS_SWIFT_NAME(initDelaunay(rect:));
- //
- // int cv::Subdiv2D::insert(Point2f pt)
- //
- /**
- * Insert a single point into a Delaunay triangulation.
- *
- * @param pt Point to insert.
- *
- * The function inserts a single point into a subdivision and modifies the subdivision topology
- * appropriately. If a point with the same coordinates exists already, no new point is added.
- * @return the ID of the point.
- *
- * NOTE: If the point is outside of the triangulation specified rect a runtime error is raised.
- */
- - (int)insert:(Point2f*)pt NS_SWIFT_NAME(insert(pt:));
- //
- // void cv::Subdiv2D::insert(vector_Point2f ptvec)
- //
- /**
- * Insert multiple points into a Delaunay triangulation.
- *
- * @param ptvec Points to insert.
- *
- * The function inserts a vector of points into a subdivision and modifies the subdivision topology
- * appropriately.
- */
- - (void)insertVector:(NSArray<Point2f*>*)ptvec NS_SWIFT_NAME(insert(ptvec:));
- //
- // int cv::Subdiv2D::locate(Point2f pt, int& edge, int& vertex)
- //
- /**
- * Returns the location of a point within a Delaunay triangulation.
- *
- * @param pt Point to locate.
- * @param edge Output edge that the point belongs to or is located to the right of it.
- * @param vertex Optional output vertex the input point coincides with.
- *
- * The function locates the input point within the subdivision and gives one of the triangle edges
- * or vertices.
- *
- * @return an integer which specify one of the following five cases for point location:
- * - The point falls into some facet. The function returns #PTLOC_INSIDE and edge will contain one of
- * edges of the facet.
- * - The point falls onto the edge. The function returns #PTLOC_ON_EDGE and edge will contain this edge.
- * - The point coincides with one of the subdivision vertices. The function returns #PTLOC_VERTEX and
- * vertex will contain a pointer to the vertex.
- * - The point is outside the subdivision reference rectangle. The function returns #PTLOC_OUTSIDE_RECT
- * and no pointers are filled.
- * - One of input arguments is invalid. A runtime error is raised or, if silent or "parent" error
- * processing mode is selected, #PTLOC_ERROR is returned.
- */
- - (int)locate:(Point2f*)pt edge:(int*)edge vertex:(int*)vertex NS_SWIFT_NAME(locate(pt:edge:vertex:));
- //
- // int cv::Subdiv2D::findNearest(Point2f pt, Point2f* nearestPt = 0)
- //
- /**
- * Finds the subdivision vertex closest to the given point.
- *
- * @param pt Input point.
- * @param nearestPt Output subdivision vertex point.
- *
- * The function is another function that locates the input point within the subdivision. It finds the
- * subdivision vertex that is the closest to the input point. It is not necessarily one of vertices
- * of the facet containing the input point, though the facet (located using locate() ) is used as a
- * starting point.
- *
- * @return vertex ID.
- */
- - (int)findNearest:(Point2f*)pt nearestPt:(Point2f*)nearestPt NS_SWIFT_NAME(findNearest(pt:nearestPt:));
- /**
- * Finds the subdivision vertex closest to the given point.
- *
- * @param pt Input point.
- *
- * The function is another function that locates the input point within the subdivision. It finds the
- * subdivision vertex that is the closest to the input point. It is not necessarily one of vertices
- * of the facet containing the input point, though the facet (located using locate() ) is used as a
- * starting point.
- *
- * @return vertex ID.
- */
- - (int)findNearest:(Point2f*)pt NS_SWIFT_NAME(findNearest(pt:));
- //
- // void cv::Subdiv2D::getEdgeList(vector_Vec4f& edgeList)
- //
- /**
- * Returns a list of all edges.
- *
- * @param edgeList Output vector.
- *
- * The function gives each edge as a 4 numbers vector, where each two are one of the edge
- * vertices. i.e. org_x = v[0], org_y = v[1], dst_x = v[2], dst_y = v[3].
- */
- - (void)getEdgeList:(NSMutableArray<Float4*>*)edgeList NS_SWIFT_NAME(getEdgeList(edgeList:));
- //
- // void cv::Subdiv2D::getLeadingEdgeList(vector_int& leadingEdgeList)
- //
- /**
- * 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.
- */
- - (void)getLeadingEdgeList:(IntVector*)leadingEdgeList NS_SWIFT_NAME(getLeadingEdgeList(leadingEdgeList:));
- //
- // void cv::Subdiv2D::getTriangleList(vector_Vec6f& triangleList)
- //
- /**
- * Returns a list of all triangles.
- *
- * @param triangleList Output vector.
- *
- * The function gives each triangle as a 6 numbers vector, where each two are one of the triangle
- * vertices. i.e. p1_x = v[0], p1_y = v[1], p2_x = v[2], p2_y = v[3], p3_x = v[4], p3_y = v[5].
- */
- - (void)getTriangleList:(NSMutableArray<Float6*>*)triangleList NS_SWIFT_NAME(getTriangleList(triangleList:));
- //
- // void cv::Subdiv2D::getVoronoiFacetList(vector_int idx, vector_vector_Point2f& facetList, vector_Point2f& facetCenters)
- //
- /**
- * Returns a list of all Voronoi facets.
- *
- * @param idx Vector of vertices IDs to consider. For all vertices you can pass empty vector.
- * @param facetList Output vector of the Voronoi facets.
- * @param facetCenters Output vector of the Voronoi facets center points.
- */
- - (void)getVoronoiFacetList:(IntVector*)idx facetList:(NSMutableArray<NSMutableArray<Point2f*>*>*)facetList facetCenters:(NSMutableArray<Point2f*>*)facetCenters NS_SWIFT_NAME(getVoronoiFacetList(idx:facetList:facetCenters:));
- //
- // Point2f cv::Subdiv2D::getVertex(int vertex, int* firstEdge = 0)
- //
- /**
- * Returns vertex location from vertex ID.
- *
- * @param vertex vertex ID.
- * @param firstEdge Optional. The first edge ID which is connected to the vertex.
- * @return vertex (x,y)
- */
- - (Point2f*)getVertex:(int)vertex firstEdge:(int*)firstEdge NS_SWIFT_NAME(getVertex(vertex:firstEdge:));
- /**
- * Returns vertex location from vertex ID.
- *
- * @param vertex vertex ID.
- * @return vertex (x,y)
- */
- - (Point2f*)getVertex:(int)vertex NS_SWIFT_NAME(getVertex(vertex:));
- //
- // int cv::Subdiv2D::getEdge(int edge, int nextEdgeType)
- //
- /**
- * Returns one of the edges related to the given edge.
- *
- * @param edge Subdivision edge ID.
- * @param nextEdgeType Parameter specifying which of the related edges to return.
- * The following values are possible:
- * - NEXT_AROUND_ORG next around the edge origin ( eOnext on the picture below if e is the input edge)
- * - NEXT_AROUND_DST next around the edge vertex ( eDnext )
- * - PREV_AROUND_ORG previous around the edge origin (reversed eRnext )
- * - PREV_AROUND_DST previous around the edge destination (reversed eLnext )
- * - NEXT_AROUND_LEFT next around the left facet ( eLnext )
- * - NEXT_AROUND_RIGHT next around the right facet ( eRnext )
- * - PREV_AROUND_LEFT previous around the left facet (reversed eOnext )
- * - PREV_AROUND_RIGHT previous around the right facet (reversed eDnext )
- *
- * ![sample output](pics/quadedge.png)
- *
- * @return edge ID related to the input edge.
- */
- - (int)getEdge:(int)edge nextEdgeType:(int)nextEdgeType NS_SWIFT_NAME(getEdge(edge:nextEdgeType:));
- //
- // int cv::Subdiv2D::nextEdge(int edge)
- //
- /**
- * Returns next edge around the edge origin.
- *
- * @param edge Subdivision edge ID.
- *
- * @return an integer which is next edge ID around the edge origin: eOnext on the
- * picture above if e is the input edge).
- */
- - (int)nextEdge:(int)edge NS_SWIFT_NAME(nextEdge(edge:));
- //
- // int cv::Subdiv2D::rotateEdge(int edge, int rotate)
- //
- /**
- * Returns another edge of the same quad-edge.
- *
- * @param edge Subdivision edge ID.
- * @param rotate Parameter specifying which of the edges of the same quad-edge as the input
- * one to return. The following values are possible:
- * - 0 - the input edge ( e on the picture below if e is the input edge)
- * - 1 - the rotated edge ( eRot )
- * - 2 - the reversed edge (reversed e (in green))
- * - 3 - the reversed rotated edge (reversed eRot (in green))
- *
- * @return one of the edges ID of the same quad-edge as the input edge.
- */
- - (int)rotateEdge:(int)edge rotate:(int)rotate NS_SWIFT_NAME(rotateEdge(edge:rotate:));
- //
- // int cv::Subdiv2D::symEdge(int edge)
- //
- - (int)symEdge:(int)edge NS_SWIFT_NAME(symEdge(edge:));
- //
- // int cv::Subdiv2D::edgeOrg(int edge, Point2f* orgpt = 0)
- //
- /**
- * Returns the edge origin.
- *
- * @param edge Subdivision edge ID.
- * @param orgpt Output vertex location.
- *
- * @return vertex ID.
- */
- - (int)edgeOrg:(int)edge orgpt:(Point2f*)orgpt NS_SWIFT_NAME(edgeOrg(edge:orgpt:));
- /**
- * Returns the edge origin.
- *
- * @param edge Subdivision edge ID.
- *
- * @return vertex ID.
- */
- - (int)edgeOrg:(int)edge NS_SWIFT_NAME(edgeOrg(edge:));
- //
- // int cv::Subdiv2D::edgeDst(int edge, Point2f* dstpt = 0)
- //
- /**
- * Returns the edge destination.
- *
- * @param edge Subdivision edge ID.
- * @param dstpt Output vertex location.
- *
- * @return vertex ID.
- */
- - (int)edgeDst:(int)edge dstpt:(Point2f*)dstpt NS_SWIFT_NAME(edgeDst(edge:dstpt:));
- /**
- * Returns the edge destination.
- *
- * @param edge Subdivision edge ID.
- *
- * @return vertex ID.
- */
- - (int)edgeDst:(int)edge NS_SWIFT_NAME(edgeDst(edge:));
- @end
- NS_ASSUME_NONNULL_END
|