Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
 public void generateHull()
 {
     Hull.setConvexHull(dot_list);
     Hull.setConcaveHull(concavity, scaleFactor);
 }
Esempio n. 4
0
 public void generateHull()
 {
     Hull.setConvHull(dot_list);
     Hull.setConcaveHull(Math.Round(System.Convert.ToDecimal(concavity), 2), scaleFactor, isSquareGrid);
 }