commit
d52e49ba7e
7 changed files with 59 additions and 25 deletions
|
|
@ -92,7 +92,7 @@ namespace MatterHackers.MatterControl
|
|||
while (attachedFaces.Count > 0)
|
||||
{
|
||||
Face faceToAdd = attachedFaces.Pop();
|
||||
foreach (Vertex attachedVertex in faceToAdd.Vertices())
|
||||
foreach (IVertex attachedVertex in faceToAdd.Vertices())
|
||||
{
|
||||
foreach (Face faceAttachedToVertex in attachedVertex.ConnectedFaces())
|
||||
{
|
||||
|
|
@ -107,7 +107,7 @@ namespace MatterHackers.MatterControl
|
|||
var faceVertices = new List<IVertex>();
|
||||
foreach (FaceEdge faceEdgeToAdd in faceAttachedToVertex.FaceEdges())
|
||||
{
|
||||
var newVertex = meshFromCurrentVolume.CreateVertex(faceEdgeToAdd.firstVertex.Position, CreateOption.CreateNew, SortOption.WillSortLater);
|
||||
var newVertex = meshFromCurrentVolume.CreateVertex(faceEdgeToAdd.FirstVertex.Position, CreateOption.CreateNew, SortOption.WillSortLater);
|
||||
faceVertices.Add(newVertex);
|
||||
}
|
||||
|
||||
|
|
@ -205,7 +205,7 @@ namespace MatterHackers.MatterControl
|
|||
// figure out which area one or more of the vertices are in add the face to the right new mesh
|
||||
foreach (FaceEdge faceEdge in face.FaceEdges())
|
||||
{
|
||||
Vector2 position = new Vector2(faceEdge.firstVertex.Position.x, faceEdge.firstVertex.Position.y);
|
||||
Vector2 position = new Vector2(faceEdge.FirstVertex.Position.x, faceEdge.FirstVertex.Position.y);
|
||||
position += renderOffset;
|
||||
position *= scaleFactor;
|
||||
|
||||
|
|
@ -216,7 +216,7 @@ namespace MatterHackers.MatterControl
|
|||
var faceVertices = new List<IVertex>();
|
||||
foreach (FaceEdge faceEdgeToAdd in face.FaceEdges())
|
||||
{
|
||||
var newVertex = discreteMeshes[areaIndex].CreateVertex(faceEdgeToAdd.firstVertex.Position);
|
||||
var newVertex = discreteMeshes[areaIndex].CreateVertex(faceEdgeToAdd.FirstVertex.Position);
|
||||
faceVertices.Add(newVertex);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -55,25 +55,43 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
this.item = item;
|
||||
FlowLayoutWidget mainContainer = new FlowLayoutWidget(FlowDirection.TopToBottom);
|
||||
|
||||
FlowLayoutWidget tabContainer = new FlowLayoutWidget(FlowDirection.TopToBottom)
|
||||
{
|
||||
HAnchor = HAnchor.AbsolutePosition,
|
||||
Visible = true,
|
||||
Width = theme.WhiteButtonFactory.FixedWidth
|
||||
};
|
||||
mainContainer.AddChild(tabContainer);
|
||||
FlowLayoutWidget behavior3DTypeButtons = new FlowLayoutWidget();
|
||||
mainContainer.AddChild(behavior3DTypeButtons);
|
||||
|
||||
Button changeColorButton = theme.textImageButtonFactory.Generate("Color".Localize());
|
||||
changeColorButton.Margin = new BorderDouble(5);
|
||||
changeColorButton.HAnchor = HAnchor.ParentRight;
|
||||
// put in the button for making the behavior solid
|
||||
Button solidBehaviorButton = theme.textImageButtonFactory.Generate("Solid".Localize());
|
||||
solidBehaviorButton.Margin = new BorderDouble(5);
|
||||
Random rand = new Random();
|
||||
changeColorButton.Click += (s, e) =>
|
||||
solidBehaviorButton.Click += (s, e) =>
|
||||
{
|
||||
item.Color = new RGBA_Bytes(rand.Next(255), rand.Next(255), rand.Next(255));
|
||||
item.BehaviorType = Behavior3DTypes.Solid;
|
||||
view3DWidget.Invalidate();
|
||||
};
|
||||
|
||||
tabContainer.AddChild(changeColorButton);
|
||||
behavior3DTypeButtons.AddChild(solidBehaviorButton);
|
||||
|
||||
// put in the button for making the behavior a hole
|
||||
Button holeBehaviorButton = theme.textImageButtonFactory.Generate("Hole".Localize());
|
||||
holeBehaviorButton.Margin = new BorderDouble(5);
|
||||
holeBehaviorButton.Click += (s, e) =>
|
||||
{
|
||||
item.BehaviorType = Behavior3DTypes.Hole;
|
||||
view3DWidget.Invalidate();
|
||||
};
|
||||
|
||||
behavior3DTypeButtons.AddChild(holeBehaviorButton);
|
||||
|
||||
// put in the button for making the behavior support
|
||||
Button supportBehaviorButton = theme.textImageButtonFactory.Generate("Support".Localize());
|
||||
supportBehaviorButton.Margin = new BorderDouble(5);
|
||||
supportBehaviorButton.Click += (s, e) =>
|
||||
{
|
||||
item.BehaviorType = Behavior3DTypes.Support;
|
||||
view3DWidget.Invalidate();
|
||||
};
|
||||
|
||||
behavior3DTypeButtons.AddChild(supportBehaviorButton);
|
||||
|
||||
return mainContainer;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -380,9 +380,8 @@ namespace MatterHackers.MeshVisualizer
|
|||
faceData.Textures.Add(BedImage);
|
||||
foreach (FaceEdge faceEdge in face.FaceEdges())
|
||||
{
|
||||
FaceEdgeTextureUvData edgeUV = FaceEdgeTextureUvData.Get(faceEdge);
|
||||
edgeUV.TextureUV.Add(new Vector2((displayVolumeToBuild.x / 2 + faceEdge.firstVertex.Position.x) / displayVolumeToBuild.x,
|
||||
(displayVolumeToBuild.y / 2 + faceEdge.firstVertex.Position.y) / displayVolumeToBuild.y));
|
||||
faceEdge.SetUv(0, new Vector2((displayVolumeToBuild.x / 2 + faceEdge.FirstVertex.Position.x) / displayVolumeToBuild.x,
|
||||
(displayVolumeToBuild.y / 2 + faceEdge.FirstVertex.Position.y) / displayVolumeToBuild.y));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -613,6 +612,14 @@ namespace MatterHackers.MeshVisualizer
|
|||
Scene.HasSelection && (object3D == Scene.SelectedItem || Scene.SelectedItem.Children.Contains(object3D));
|
||||
|
||||
RGBA_Bytes drawColor = object3D.Color;
|
||||
if(object3D.BehaviorType == Behavior3DTypes.Support)
|
||||
{
|
||||
drawColor = new RGBA_Bytes(RGBA_Bytes.Yellow, 120);
|
||||
}
|
||||
else if(object3D.BehaviorType == Behavior3DTypes.Hole)
|
||||
{
|
||||
drawColor = new RGBA_Bytes(RGBA_Bytes.Gray, 120);
|
||||
}
|
||||
|
||||
if (drawColor.Alpha0To1 == 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1914,7 +1914,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
foreach (Face face in lowestVertex.ConnectedFaces())
|
||||
{
|
||||
double biggestAngleToFaceVertex = double.MinValue;
|
||||
foreach (Vertex faceVertex in face.Vertices())
|
||||
foreach (IVertex faceVertex in face.Vertices())
|
||||
{
|
||||
if (faceVertex != lowestVertex)
|
||||
{
|
||||
|
|
@ -1938,7 +1938,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
double maxDistFromLowestZ = 0;
|
||||
List<Vector3> faceVertexes = new List<Vector3>();
|
||||
foreach (Vertex vertex in faceToLayFlat.Vertices())
|
||||
foreach (IVertex vertex in faceToLayFlat.Vertices())
|
||||
{
|
||||
Vector3 vertexPosition = Vector3.Transform(vertex.Position, objectToWold);
|
||||
faceVertexes.Add(vertexPosition);
|
||||
|
|
@ -2394,7 +2394,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
// change the color to be the right thing
|
||||
GLMeshTrianglePlugin glMeshPlugin = GLMeshTrianglePlugin.Get(meshAndTransform.MeshData, (faceEdge) =>
|
||||
{
|
||||
Vector3 normal = faceEdge.containingFace.normal;
|
||||
Vector3 normal = faceEdge.ContainingFace.normal;
|
||||
normal = Vector3.TransformVector(normal, meshAndTransform.Matrix).GetNormal();
|
||||
VertexColorData colorData = new VertexColorData();
|
||||
|
||||
|
|
|
|||
|
|
@ -71,8 +71,8 @@ namespace MatterHackers.MatterControl.Slicing
|
|||
double maxZ = double.MinValue;
|
||||
foreach (FaceEdge faceEdge in face.FaceEdges())
|
||||
{
|
||||
minZ = Math.Min(minZ, faceEdge.firstVertex.Position.z);
|
||||
maxZ = Math.Max(maxZ, faceEdge.firstVertex.Position.z);
|
||||
minZ = Math.Min(minZ, faceEdge.FirstVertex.Position.z);
|
||||
maxZ = Math.Max(maxZ, faceEdge.FirstVertex.Position.z);
|
||||
}
|
||||
|
||||
for (int layerIndex = 0; layerIndex < layerCount; layerIndex++)
|
||||
|
|
|
|||
|
|
@ -4324,3 +4324,12 @@ Translated:Sign in to access your cloud printer profiles.\n\nOnce signed in you
|
|||
English:Updating Mesh
|
||||
Translated:Updating Mesh
|
||||
|
||||
English:Solid
|
||||
Translated:Solid
|
||||
|
||||
English:Hole
|
||||
Translated:Hole
|
||||
|
||||
English:Support
|
||||
Translated:Support
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 0ae38f47898e67ca5d948fdfdf06877185caf159
|
||||
Subproject commit 9dba4cbf615723600ed3b7b3be7181f8baa4f828
|
||||
Loading…
Add table
Add a link
Reference in a new issue