public List <Vector3> generateHull(List <Vector3> posList) { setDots(posList); Hull.setConvHull(dot_list); Hull.setConcaveHull(Math.Round(System.Convert.ToDecimal(concavity), 2), scaleFactor, isSquareGrid); List <Vector3> newPosList = new List <Vector3>(); for (int i = 0; i < Hull.hull_concave_edges.Count; i++) { Vector3 pos = new Vector3((float)Hull.hull_concave_edges[i].nodes[1].x, posList[0].y, (float)Hull.hull_concave_edges[i].nodes[1].y); newPosList.Add(pos); } Debug.Log("Hull.hull_concave_edges.Count : " + Hull.hull_concave_edges.Count); return(newPosList); }
public void generateHull() { Hull.setConvexHull(dot_list); Hull.setConcaveHull(concavity, scaleFactor); SegementsLoop _loop = new SegementsLoop(); for (int i = 0; i < Hull.hull_concave_edges.Count; i++) { Vector2 left = new Vector2((float)Hull.hull_concave_edges[i].nodes[0].x, (float)Hull.hull_concave_edges[i].nodes[0].y); Vector2 right = new Vector2((float)Hull.hull_concave_edges[i].nodes[1].x, (float)Hull.hull_concave_edges[i].nodes[1].y); _loop.AddSegment(left, right); } var _pos3 = transform.position; var _pos2 = new Vector2((int)_pos3.x, (int)_pos3.y); m_polygon = _loop.ToPolygon().SetOriginal(_pos2).MakeCounterClockwise().LinkNeighbors(); // m_polygon.ValidateLoop(); Hull.Clear(); }
public void generateHull() { Hull.setConvexHull(dot_list); Hull.setConcaveHull(concavity, scaleFactor); }
public void generateHull() { Hull.setConvHull(dot_list); Hull.setConcaveHull(Math.Round(System.Convert.ToDecimal(concavity), 2), scaleFactor, isSquareGrid); }