private static void CollectChildBounds(Helix.Model.Scene.SceneNode node, List <SharpDX.BoundingBox> boundsList, bool original) { if (node.HasBound) { boundsList.Add(original ? node.OriginalBounds : node.BoundsWithTransform); } else if (node.ItemsCount > 0) { foreach (var child in node.Items.Where(i => i.Visible)) { CollectChildBounds(child, boundsList, original); } } }
public static Point GetSelectedTile(HelixToolkit.Wpf.SharpDX.Model.Scene.SceneNode sceneNode) { for (int row = -1; row < _rows; row++) { for (int column = 0; column < _columns; column++) { if (_boardTiles[row, column].MainViewModel.NodeBelongsToTheModel(sceneNode)) { return(new Point(row, column)); } } } return(null); }
public static SharpDX.BoundingBox GetTotalBounds(this Helix.Model.Scene.SceneNode node, bool original = false) { return(GetTotalBounds(Enumerable.Repeat(node, 1), original)); }