C++ 在三角形库中指定孔

C++ 在三角形库中指定孔,c++,triangulation,C++,Triangulation,我试着用孔来镶嵌多边形。镶嵌的三角形将由OpenGL渲染。 我的多边形有一个外环和多个内环。我只有所有环的x,y坐标。为了使用三角形库进行细分,我必须将孔列表和孔数传递给三角形库的triangulateio结构成员:holelist和numberofholes struct triangulateio { REAL *pointlist; /* In / out */ REAL *pointatt

我试着用孔来镶嵌多边形。镶嵌的三角形将由OpenGL渲染。 我的多边形有一个外环和多个内环。我只有所有环的x,y坐标。为了使用三角形库进行细分,我必须将孔列表和孔数传递给三角形库的triangulateio结构成员:
holelist
numberofholes

struct triangulateio {
  REAL *pointlist;                                               /* In / out */
  REAL *pointattributelist;                                      /* In / out */
  int *pointmarkerlist;                                          /* In / out */
  int numberofpoints;                                            /* In / out */
  int numberofpointattributes;                                   /* In / out */

  int *trianglelist;                                             /* In / out */
  REAL *triangleattributelist;                                   /* In / out */
  REAL *trianglearealist;                                         /* In only */
  int *neighborlist;                                             /* Out only */
  int numberoftriangles;                                         /* In / out */
  int numberofcorners;                                           /* In / out */
  int numberoftriangleattributes;                                /* In / out */

  int *segmentlist;                                              /* In / out */
  int *segmentmarkerlist;                                        /* In / out */
  int numberofsegments;                                          /* In / out */

  REAL *holelist;                        /* In / pointer to array copied out */
  int numberofholes;                                      /* In / copied out */

  REAL *regionlist;                      /* In / pointer to array copied out */
  int numberofregions;                                    /* In / copied out */

  int *edgelist;                                                 /* Out only */
  int *edgemarkerlist;            /* Not used with Voronoi diagram; out only */
  REAL *normlist;                /* Used only with Voronoi diagram; out only */
  int numberofedges;                                             /* Out only */
};

孔由孔内一个点的坐标表示。我的问题是:我是否可以在不指定孔的情况下进行细分(仅使用内环)?或者如果我必须列出这些洞,我怎样才能快速找到洞里面的一个点?这一过程对时间至关重要

如果不指定孔,则无法进行细分。
在孔内找到一个点的一种可能方法是将其作为一个简单的环(其中没有孔)进行三角形化,并取其中一个输出三角形的质心。我希望它能有所帮助。

如果不指定孔,就无法进行细分。 在孔内找到一个点的一种可能方法是将其作为一个简单的环(其中没有孔)进行三角形化,并取其中一个输出三角形的质心。我希望这有帮助