internal static HandleRef getCPtrAndDisown(MathFilter obj) { HandleRef ptr = new HandleRef(null, IntPtr.Zero); if (obj != null) { ptr = obj.swigCPtr; obj.swigCMemOwn = false; } return(ptr); }
private void GenDelaunayTreeDecks(List <Vector3> points) { GameObject DeckNode = new GameObject("Deck Node"); // Magic and beautiful Delaunay triangulation List <Triangle> triangulation = Delaunay.TriangulateByFlippingEdges(points); // Area filter setup double[] check_range = MathFilter.AreaSpan(triangulation, MaxLength, MinAngle, RelativeArea); foreach (Triangle tri in triangulation) { // Length constraint. if 0, no constraint if (MathFilter.LengthFilter(tri, MaxLength)) { List <double> TriAngles = MathFilter.AngleDegrees(tri); // Angle constraint if (TriAngles.TrueForAll(angle => angle >= MinAngle)) { double area = MathFilter.TriangleArea(tri); // Area constraint if (check_range[0] <= area && area <= check_range[1]) { Vector3 P1 = tri.v1.position; Vector3 P2 = tri.v2.position; Vector3 P3 = tri.v3.position; // Brett deck GameObject TreeDeck = Instantiate(DeckObject); Treehouse TreehouseComp = TreeDeck.AddComponent <Treehouse>(); TreeDeck.AddComponent <Deck>(); // Deck component needs 3 GameObjects. In the future this // may become 3 Vector3s. GameObject newTreeNode1 = Instantiate(DeckNode, P1, rot); GameObject newTreeNode2 = Instantiate(DeckNode, P2, rot); GameObject newTreeNode3 = Instantiate(DeckNode, P3, rot); List <GameObject> TreesTri = new List <GameObject>(); TreesTri.Add(newTreeNode1); TreesTri.Add(newTreeNode2); TreesTri.Add(newTreeNode3); TreehouseComp.Trees = TreesTri; } } } } }
internal static HandleRef getCPtr(MathFilter obj) { return((obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr); }