Refactoring VisibleMeshes into extension method
This commit is contained in:
parent
25c3c40ee8
commit
dfa6832b86
8 changed files with 27 additions and 26 deletions
|
|
@ -283,7 +283,7 @@ namespace MatterHackers.MeshVisualizer
|
|||
if (renderType != value)
|
||||
{
|
||||
renderType = value;
|
||||
foreach(var renderTransfrom in scene.VisibleMeshes(Matrix4X4.Identity))
|
||||
foreach(var renderTransfrom in scene.VisibleMeshes())
|
||||
{
|
||||
renderTransfrom.Mesh.MarkAsChanged();
|
||||
}
|
||||
|
|
@ -381,9 +381,9 @@ namespace MatterHackers.MeshVisualizer
|
|||
|
||||
public bool IsActive { get; set; } = true;
|
||||
|
||||
private void DrawObject(IObject3D object3D, Matrix4X4 transform, List<MeshRenderData> transparentMeshes, bool parentSelected, DrawEventArgs e)
|
||||
private void DrawObject(IObject3D object3D, List<MeshRenderData> transparentMeshes, bool parentSelected, DrawEventArgs e)
|
||||
{
|
||||
foreach (var renderData in object3D.VisibleMeshes(transform, object3D.Color, object3D.MaterialIndex, object3D.OutputType))
|
||||
foreach (var renderData in object3D.VisibleMeshes())
|
||||
{
|
||||
bool isSelected = parentSelected ||
|
||||
scene.HasSelection && (object3D == scene.SelectedItem || scene.SelectedItem.Children.Contains(object3D));
|
||||
|
|
@ -533,7 +533,7 @@ namespace MatterHackers.MeshVisualizer
|
|||
List<MeshRenderData> transparentMeshes = new List<MeshRenderData>();
|
||||
foreach (var object3D in scene.Children)
|
||||
{
|
||||
DrawObject(object3D, Matrix4X4.Identity, transparentMeshes, false, e);
|
||||
DrawObject(object3D, transparentMeshes, false, e);
|
||||
}
|
||||
|
||||
transparentMeshes.Sort(BackToFrontXY);
|
||||
|
|
@ -567,7 +567,7 @@ namespace MatterHackers.MeshVisualizer
|
|||
}
|
||||
|
||||
// we don't want to render the bed or build volume before we load a model.
|
||||
if (scene.HasChildren || AllowBedRenderingWhenEmpty)
|
||||
if (scene.HasChildren() || AllowBedRenderingWhenEmpty)
|
||||
{
|
||||
if (false) // this is code to draw a small axis indicator
|
||||
{
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
// If not a Group ItemType, look for mesh volumes and split into distinct objects if found
|
||||
if (!isGroupItemType
|
||||
&& !selectedItem.HasChildren
|
||||
&& !selectedItem.HasChildren()
|
||||
&& selectedItem.Mesh != null)
|
||||
{
|
||||
var discreetMeshes = CreateDiscreteMeshes.SplitVolumesIntoMeshes(Scene.SelectedItem.Mesh, CancellationToken.None, (double progress0To1, string processingState) =>
|
||||
|
|
@ -114,7 +114,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
public static async void GroupSelection(this InteractiveScene Scene, View3DWidget view3DWidget)
|
||||
{
|
||||
if (Scene.HasChildren)
|
||||
if (Scene.HasChildren())
|
||||
{
|
||||
view3DWidget.processingProgressControl.PercentComplete = 0;
|
||||
view3DWidget.processingProgressControl.Visible = true;
|
||||
|
|
|
|||
|
|
@ -1987,7 +1987,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
private async void LoadAndAddPartsToPlate(string[] filesToLoad)
|
||||
{
|
||||
if (Scene.HasChildren && filesToLoad != null && filesToLoad.Length > 0)
|
||||
if (Scene.HasChildren() && filesToLoad != null && filesToLoad.Length > 0)
|
||||
{
|
||||
processingProgressControl.ProcessType = "Loading Parts".Localize() + ":";
|
||||
processingProgressControl.Visible = true;
|
||||
|
|
@ -2006,7 +2006,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
bool addingOnlyOneItem = Scene.Children.Count == Scene.Children.Count + 1;
|
||||
|
||||
if (Scene.HasChildren)
|
||||
if (Scene.HasChildren())
|
||||
{
|
||||
if (addingOnlyOneItem)
|
||||
{
|
||||
|
|
@ -2198,7 +2198,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
private async Task SaveChanges()
|
||||
{
|
||||
if (Scene.HasChildren)
|
||||
if (Scene.HasChildren())
|
||||
{
|
||||
processingProgressControl.ProcessType = "Saving".Localize() + ":";
|
||||
processingProgressControl.Visible = true;
|
||||
|
|
@ -2380,7 +2380,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
LockEditControls();
|
||||
viewIsInEditModePreLock = true;
|
||||
|
||||
if (Scene.HasChildren)
|
||||
if (Scene.HasChildren())
|
||||
{
|
||||
// CreateSelectionData()
|
||||
await Task.Run(() =>
|
||||
|
|
@ -2602,7 +2602,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
meshViewerWidget.RenderType = RenderTypes.Overhang;
|
||||
|
||||
UserSettings.Instance.set("defaultRenderSetting", meshViewerWidget.RenderType.ToString());
|
||||
foreach (var meshRenderData in scene.VisibleMeshes(Matrix4X4.Identity))
|
||||
foreach (var meshRenderData in scene.VisibleMeshes())
|
||||
{
|
||||
meshRenderData.Mesh.MarkAsChanged();
|
||||
// change the color to be the right thing
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ using MatterHackers.Agg.Image;
|
|||
using MatterHackers.Agg.Platform;
|
||||
using MatterHackers.Agg.UI;
|
||||
using MatterHackers.Agg.VertexSource;
|
||||
using MatterHackers.DataConverters3D;
|
||||
using MatterHackers.MatterControl.DataStorage;
|
||||
using MatterHackers.MatterControl.Library;
|
||||
using MatterHackers.PolygonMesh;
|
||||
|
|
@ -136,7 +137,7 @@ namespace MatterHackers.MatterControl
|
|||
|
||||
await contentResult.MeshLoaded;
|
||||
|
||||
var loadedMeshGroups = contentResult.Object3D.VisibleMeshes(Matrix4X4.Identity).ToList();
|
||||
var loadedMeshGroups = contentResult.Object3D.VisibleMeshes().ToList();
|
||||
if (loadedMeshGroups?.Count > 0)
|
||||
{
|
||||
AxisAlignedBoundingBox aabb = loadedMeshGroups[0].Mesh.GetAxisAlignedBoundingBox(loadedMeshGroups[0].Matrix);
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 32f1fdff8270edbd0bbf2f29f3387d30b5c0e570
|
||||
Subproject commit e9e210880a985715b794d917d8e66856d8156d12
|
||||
|
|
@ -171,7 +171,7 @@ namespace MatterHackers.MatterControl.Plugins.BrailleBuilder
|
|||
|
||||
private void RebuildBase()
|
||||
{
|
||||
if (view3DWidget.Scene.HasChildren && injectedItem != null)
|
||||
if (view3DWidget.Scene.HasChildren() && injectedItem != null)
|
||||
{
|
||||
var newBaseplate = brailleGenerator.CreateBaseplate(injectedItem);
|
||||
if(newBaseplate == null)
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ namespace MatterHackers.MatterControl.Plugins.BrailleBuilder
|
|||
|
||||
private void SetCharacterPositions(IObject3D group)
|
||||
{
|
||||
if (group.HasChildren)
|
||||
if (group.HasChildren())
|
||||
{
|
||||
for (int i = 0; i < characterSpacing.Length; i++)
|
||||
{
|
||||
|
|
@ -168,7 +168,7 @@ namespace MatterHackers.MatterControl.Plugins.BrailleBuilder
|
|||
|
||||
public void SetWordHeight(IObject3D group, double newHeight)
|
||||
{
|
||||
if (group.HasChildren)
|
||||
if (group.HasChildren())
|
||||
{
|
||||
AxisAlignedBoundingBox baseBounds = group.Children.Last().GetAxisAlignedBoundingBox(Matrix4X4.Identity);
|
||||
|
||||
|
|
@ -193,7 +193,7 @@ namespace MatterHackers.MatterControl.Plugins.BrailleBuilder
|
|||
|
||||
public void SetWordSize(IObject3D group, double newSize)
|
||||
{
|
||||
if (group.HasChildren)
|
||||
if (group.HasChildren())
|
||||
{
|
||||
foreach (var object3D in group.Children)
|
||||
{
|
||||
|
|
@ -225,7 +225,7 @@ namespace MatterHackers.MatterControl.Plugins.BrailleBuilder
|
|||
|
||||
public IObject3D CreateBaseplate(IObject3D group)
|
||||
{
|
||||
if (group.HasChildren)
|
||||
if (group.HasChildren())
|
||||
{
|
||||
AxisAlignedBoundingBox bounds = group.GetAxisAlignedBoundingBox(Matrix4X4.Identity);
|
||||
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ namespace MatterHackers.MatterControl.Plugins.TextCreator
|
|||
|
||||
private IObject3D CreateUnderline(IObject3D group)
|
||||
{
|
||||
if (group.HasChildren)
|
||||
if (group.HasChildren())
|
||||
{
|
||||
AxisAlignedBoundingBox bounds = group.GetAxisAlignedBoundingBox(Matrix4X4.Identity);
|
||||
|
||||
|
|
@ -146,12 +146,12 @@ namespace MatterHackers.MatterControl.Plugins.TextCreator
|
|||
{
|
||||
hasUnderline = enableUnderline;
|
||||
|
||||
if (enableUnderline && group.HasChildren)
|
||||
if (enableUnderline && group.HasChildren())
|
||||
{
|
||||
// we need to add the underline
|
||||
group.Children.Add(CreateUnderline(group));
|
||||
}
|
||||
else if (group.HasChildren)
|
||||
else if (group.HasChildren())
|
||||
{
|
||||
// we need to remove the underline
|
||||
group.Children.Remove(group.Children.Last());
|
||||
|
|
@ -160,7 +160,7 @@ namespace MatterHackers.MatterControl.Plugins.TextCreator
|
|||
|
||||
public void RebuildUnderline(IObject3D group)
|
||||
{
|
||||
if (hasUnderline && group.HasChildren)
|
||||
if (hasUnderline && group.HasChildren())
|
||||
{
|
||||
// Remove the underline object
|
||||
group.Children.Remove(group.Children.Last());
|
||||
|
|
@ -172,7 +172,7 @@ namespace MatterHackers.MatterControl.Plugins.TextCreator
|
|||
|
||||
public void SetWordSpacing(IObject3D group, double spacing, bool rebuildUnderline = false)
|
||||
{
|
||||
if (group.HasChildren)
|
||||
if (group.HasChildren())
|
||||
{
|
||||
var bedCenter = ApplicationController.Instance.Printer.Bed.BedCenter;
|
||||
|
||||
|
|
@ -201,7 +201,7 @@ namespace MatterHackers.MatterControl.Plugins.TextCreator
|
|||
double oldSize = 1.0 / lastSizeValue;
|
||||
|
||||
Vector3 bedCenter = new Vector3(ApplicationController.Instance.Printer.Bed.BedCenter);
|
||||
if (group.HasChildren)
|
||||
if (group.HasChildren())
|
||||
{
|
||||
foreach (var object3D in group.Children)
|
||||
{
|
||||
|
|
@ -220,7 +220,7 @@ namespace MatterHackers.MatterControl.Plugins.TextCreator
|
|||
|
||||
public void SetWordHeight(IObject3D group, double newHeight, bool rebuildUnderline = false)
|
||||
{
|
||||
if (group.HasChildren)
|
||||
if (group.HasChildren())
|
||||
{
|
||||
foreach (var sceneItem in group.Children)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue