Made a face struct and made face list use it
put normal into face
This commit is contained in:
parent
a460ddbbf7
commit
6e4bbf2306
4 changed files with 7 additions and 6 deletions
|
|
@ -193,7 +193,7 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
// make lists so we can add to them
|
||||
var vL = v.ToVector3List();
|
||||
vL.Transform(matrix);
|
||||
var fL = new FaceList(f);
|
||||
var fL = new FaceList(f, curvedMesh.Vertices);
|
||||
|
||||
Teselate.SplitEdges(vL, fL, maxXLength);
|
||||
vL.Transform(matrixInv);
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations
|
|||
var newCenter = new Vector3(aabb.Center.X, aabb.Center.Y, aabb.MinXYZ.Z);
|
||||
item.Translate(-newCenter);
|
||||
this.Translate(newCenter);
|
||||
this.ScaleAbout = newCenter;
|
||||
}
|
||||
|
||||
public override bool CanFlatten => true;
|
||||
|
|
|
|||
|
|
@ -170,7 +170,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
var matrix = item.WorldMatrix(scene);
|
||||
for (int faceIndex = 0; faceIndex < item.Mesh.Faces.Count; faceIndex++)
|
||||
{
|
||||
var face0Normal = item.Mesh.FaceNormals[faceIndex].TransformVector(matrix).GetNormal();
|
||||
var face0Normal = item.Mesh.Faces[faceIndex].normal.TransformNormal(matrix).GetNormal();
|
||||
var angle = MathHelper.RadiansToDegrees(Math.Acos(face0Normal.Dot(-Vector3Float.UnitZ)));
|
||||
|
||||
if (angle < MaxOverHangAngle)
|
||||
|
|
@ -178,7 +178,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
var face = item.Mesh.Faces[faceIndex];
|
||||
var verts = new int[] { face.v0, face.v1, face.v2 };
|
||||
var fc = downVerts.Count;
|
||||
downFaces.Add((fc, fc+1, fc+2));
|
||||
downFaces.Add(fc, fc+1, fc+2, downVerts);
|
||||
downVerts.Add(item.Mesh.Vertices[face.v0].Transform(matrix));
|
||||
downVerts.Add(item.Mesh.Vertices[face.v1].Transform(matrix));
|
||||
downVerts.Add(item.Mesh.Vertices[face.v2].Transform(matrix));
|
||||
|
|
@ -189,7 +189,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
var face = item.Mesh.Faces[faceIndex];
|
||||
var verts = new int[] { face.v0, face.v1, face.v2 };
|
||||
var fc = upFaces.Count;
|
||||
upFaces.Add((fc, fc + 1, fc + 2));
|
||||
upFaces.Add(fc, fc + 1, fc + 2, upVerts);
|
||||
upVerts.Add(item.Mesh.Vertices[face.v0].Transform(matrix));
|
||||
upVerts.Add(item.Mesh.Vertices[face.v1].Transform(matrix));
|
||||
upVerts.Add(item.Mesh.Vertices[face.v2].Transform(matrix));
|
||||
|
|
@ -305,7 +305,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
}
|
||||
if (aboveBed)
|
||||
{
|
||||
var face0Normal = item.Mesh.FaceNormals[faceIndex].TransformVector(matrix).GetNormal();
|
||||
var face0Normal = item.Mesh.Faces[faceIndex].normal.TransformNormal(matrix).GetNormal();
|
||||
var angle = MathHelper.RadiansToDegrees(Math.Acos(face0Normal.Dot(-Vector3Float.UnitZ)));
|
||||
|
||||
if (angle < MaxOverHangAngle)
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 4c59390c9b15b5e9d49f034610cad69032fe3aa0
|
||||
Subproject commit dcf16bdd93b45af47a37070f6a3452e1c7a2d646
|
||||
Loading…
Add table
Add a link
Reference in a new issue