<div><div><span style="font-family: 'lucida Grande', Verdana, 'Microsoft YaHei'; line-height: 23.8px;">a possible method to determine a mapping from triangles to nodes: </span></div><div><span style="font-family: 'lucida Grande', Verdana, 'Microsoft YaHei'; line-height: 23.8px;">1.e</span><span style="line-height: 1.5;">dit geos-3.6.1\src\triangulate\quadedge\QuadEdgeSubdivision.cpp line 588 ,add:</span><span class="Apple-tab-span" style="line-height: 1.5; white-space: pre;">       </span></div><div><span class="Apple-tab-span" style="white-space:pre">             </span>cellPoly->setUserData(reinterpret_cast<void*>(geomFact.createPoint(c)));</div><div><span class="Apple-tab-span" style="white-space:pre">            </span>return cellPoly;</div><div><span style="line-height: 1.5;">2.edit geos-3.6.1\src\triangulate\VoronoiDiagramBuilder.cpp line 136 ,moved one line:</span></div><div><span class="Apple-tab-span" style="white-space:pre">            </span>else if(clipEnv.intersects(g->getEnvelopeInternal()))</div><div><span class="Apple-tab-span" style="white-space:pre">             </span>{</div><div><span class="Apple-tab-span" style="white-space:pre">                    </span>result.reset( clipPoly->intersection(g) );</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">            </span></div><div><span class="Apple-tab-span" style="white-space:pre">             </span>if(result.get() && !result->isEmpty() )</div><div><span class="Apple-tab-span" style="white-space:pre">           </span>{result->setUserData(((Geometry*)g)->getUserData()); // moved</div><div><span class="Apple-tab-span" style="white-space:pre">                  </span>clipped->push_back(result.release());</div><div><span class="Apple-tab-span" style="white-space:pre">             </span>}</div></div><div>hope this will help.</div>