public TriangleData CreateNeighbour(int i, Plane[] planes, string name) { if (neighbour[i] != null) { return(null); } VerticeData v0 = this[i]; VerticeData v1 = this[i + 1]; VerticeData v2 = this[i + 2]; Vector3 p2 = v0.pos + v1.pos - v2.pos; bool newPointIsVisible = IsVisible(p2, planes); if (!(newPointIsVisible || v0.isVisible || v1.isVisible)) { return(null); } var n = new TriangleData(this, p[i], p[(i + 1) % 3], p2, name); n[2].isVisible = newPointIsVisible; return(n); }
public void AddVAngleCostilla(VerticeAngle originalAngle, Vector3 pos) { pos.z = 0; VerticeAngle go = Instantiate(verticeAngle_to_add, pos, Quaternion.identity, container); all.Insert(originalAngle.id, go); lineAsset.Refresh(this); go.Init(false); VerticeData vd = new VerticeData(); vd.angle = 179.99f; int id = originalAngle.id - 1; if (id < 0) { id = data.Count - 1; } vd.distance = data[id].distance / 2; vd.angleChecked = true; vd.angleLocked = true; vd.distanceChecked = true; data.Insert(id, vd); angleDistanceRemapping.Calculate(); }