#Mesh slicing triangle intersections

1 messages · Page 1 of 1 (latest)

dry hawk
#

I am making a mesh slicer, and right now im stuck on generating triangles/vertices where the cutting plane intersects the mesh.
Does anyone have experience with this?

#
int[] originalTris = ogMesh.triangles;

        List<Vector3> rightVerts = new List<Vector3>();
        List<Vector3> leftVerts = new List<Vector3>();
        List<int> rightIndices = new List<int>();
        List<int> leftIndices = new List<int>();
        List<int> rightTris = new List<int>();
        List<int> leftTris = new List<int>();

        for (int i = 0; i < originalTris.Length; i += 3)
        {
            int i1 = originalTris[i];
            int i2 = originalTris[i + 1];
            int i3 = originalTris[i + 2];
            Vector3 v1 = newVertices[originalTris[i]];
            Vector3 v2 = newVertices[originalTris[i + 1]];
            Vector3 v3 = newVertices[originalTris[i + 2]];


            float vert1Side = MeshTools.GetVertexSide(v1, position, normal);
            float vert2Side = MeshTools.GetVertexSide(v2, position, normal);
            float vert3Side = MeshTools.GetVertexSide(v3, position, normal);
            int rightCount = (MeshTools.GetVertexSide(v1, position, normal) > 0 ? 1 : 0)
                + (MeshTools.GetVertexSide(v2, position, normal) > 0 ? 1 : 0)
                + (MeshTools.GetVertexSide(v3, position, normal) > 0 ? 1 : 0);