/// <summary> /// Reverses the roles of vertices and faces, as when taking the dual of a polyhedron. /// </summary> /// <param name="topology">The topology containing the vertices and faces to swap.</param> /// <param name="vertexPositions">The positions of the vertices, which will become the new positions after the call is complete, calculated as the face centroids of the original topology.</param> public static void MakeDual(Topology topology, ref Vector3[] vertexPositions) { ManifoldUtility.MakeDual(topology, FaceAttributeUtility.CalculateFaceCentroidsFromVertexPositions(topology.faces, vertexPositions.AsVertexAttribute()), out vertexPositions); }
/// <summary> /// Reverses the roles of vertices and faces, as when taking the dual of a polyhedron. /// </summary> /// <param name="topology">The topology containing the vertices and faces to swap.</param> /// <param name="vertexPositions">The original positions of the vertices.</param> /// <param name="dualVertexPositions">The positions of the vertices after the swap, calculated as the face centroids of the original topology.</param> public static void MakeDual(Topology topology, IVertexAttribute <Vector3> vertexPositions, out Vector3[] dualVertexPositions) { ManifoldUtility.MakeDual(topology, FaceAttributeUtility.CalculateFaceCentroidsFromVertexPositions(topology.faces, vertexPositions), out dualVertexPositions); }