public static void ResetVertexPosition(ref double[] backupPos,ref NonManifoldMesh mesh) { if (backupPos == null) return; Copy(backupPos, mesh.VertexPos); mesh.ComputeDualPosition(); mesh.ComputeFaceNormal(); mesh.ComputeVertexNormal(); }
public static void ResetVertexPosition(ref double[] backupPos, ref NonManifoldMesh mesh) { if (backupPos == null) { return; } Copy(backupPos, mesh.VertexPos); mesh.ComputeDualPosition(); mesh.ComputeFaceNormal(); mesh.ComputeVertexNormal(); }
public NonManifoldMesh DualCreateMesh(TriMesh mesh) { NonManifoldMesh dualMesh = new NonManifoldMesh(); dualMesh.VertexPos = mesh.DualCreateVertexPosition(); dualMesh.FaceIndex = mesh.DualCreateFaceIndex(); dualMesh.VertexCount = mesh.Faces.Count; dualMesh.FaceCount = dualMesh.FaceIndex.Length / 3; dualMesh.ScaleToUnitBox(); dualMesh.MoveToCenter(); dualMesh.ComputeFaceNormal(); dualMesh.ComputeVertexNormal(); return(dualMesh); }
public NonManifoldMesh DualCreateMesh(TriMesh mesh) { NonManifoldMesh dualMesh = new NonManifoldMesh(); dualMesh.VertexPos = mesh.DualCreateVertexPosition(); dualMesh.FaceIndex = mesh.DualCreateFaceIndex(); dualMesh.VertexCount = mesh.Faces.Count; dualMesh.FaceCount = dualMesh.FaceIndex.Length / 3; dualMesh.ScaleToUnitBox(); dualMesh.MoveToCenter(); dualMesh.ComputeFaceNormal(); dualMesh.ComputeVertexNormal(); return dualMesh; }
public static NonManifoldMesh CreateDualMesh(NonManifoldMesh mesh) { NonManifoldMesh dualMesh = new NonManifoldMesh(); dualMesh.VertexPos = mesh.CreateDualPosition(); dualMesh.FaceIndex = mesh.CreateDualFaceIndex(); dualMesh.VertexCount = mesh.FaceCount; dualMesh.FaceCount = dualMesh.FaceIndex.Length / 3; dualMesh.ScaleToUnitBox(); dualMesh.MoveToCenter(); dualMesh.ComputeFaceNormal(); dualMesh.ComputeVertexNormal(); //dualMesh.AdjVV = dualMesh.BuildAdjacentMatrix().GetRowIndex(); //dualMesh.AdjVF = dualMesh.BuildAdjacentMatrixFV().GetColumnIndex(); ////dualMesh.adjFF = dualMesh.BuildAdjacentMatrixFF().GetRowIndex(); //dualMesh.FindBoundaryVertex(); return(dualMesh); }
public static NonManifoldMesh CreateDualMesh(NonManifoldMesh mesh) { NonManifoldMesh dualMesh = new NonManifoldMesh(); dualMesh.VertexPos = mesh.CreateDualPosition(); dualMesh.FaceIndex = mesh.CreateDualFaceIndex(); dualMesh.VertexCount = mesh.FaceCount; dualMesh.FaceCount = dualMesh.FaceIndex.Length / 3; dualMesh.ScaleToUnitBox(); dualMesh.MoveToCenter(); dualMesh.ComputeFaceNormal(); dualMesh.ComputeVertexNormal(); //dualMesh.AdjVV = dualMesh.BuildAdjacentMatrix().GetRowIndex(); //dualMesh.AdjVF = dualMesh.BuildAdjacentMatrixFV().GetColumnIndex(); ////dualMesh.adjFF = dualMesh.BuildAdjacentMatrixFF().GetRowIndex(); //dualMesh.FindBoundaryVertex(); return dualMesh; }