/// <summary> /// Creates a new instance of the <see cref="ControlNode"/> class. /// </summary> /// <param name="position">The position of the control node.</param> /// <param name="active">Whether the control node is active.</param> /// <param name="squareSize">The size of the square.</param> public ControlNode(Vector3 position, bool active, float squareSize) : base(position) { Active = active; Above = new MeshNode(position + Vector3.forward * squareSize / 2f); Right = new MeshNode(position + Vector3.right * squareSize / 2f); }
/// <summary> /// Create a triangle mesh. /// </summary> /// <param name="a">First meshnode in the triangle.</param> /// <param name="b">Second meshnode in the triangle.</param> /// <param name="c">Third meshnode in the triangle.</param> private void CreateTriangle(MeshNode a, MeshNode b, MeshNode c) { if (vertices == null || triangles == null) { throw new Exception("Attempting to create a mesh before initialization"); } // Add the triangle indices. triangles.Add(a.VertexIndex); triangles.Add(b.VertexIndex); triangles.Add(c.VertexIndex); }