├── screenshot.png ├── .nuget ├── NuGet.exe └── NuGet.Config ├── Graph# ├── GraphHelper.cs ├── Algorithms │ ├── OverlapRemoval │ │ ├── RectangleWrapper.cs │ │ ├── IOverlapRemovalParameters.cs │ │ ├── IOverlapRemovalContext.cs │ │ ├── OverlapRemovalHelper.cs │ │ ├── OneWayFSAParameters.cs │ │ ├── OverlapRemovalContext.cs │ │ ├── IOverlapRemovalAlgorithm.cs │ │ ├── IOverlapRemovalAlgorithmFactory.cs │ │ ├── OverlapRemovalParameters.cs │ │ ├── StandardOverlapRemovalAlgorithmFactory.cs │ │ └── OverlapRemovalAlgorithmBase.cs │ ├── Layout │ │ ├── Simple │ │ │ ├── FDP │ │ │ │ ├── FRLayoutAlgorithm.cs │ │ │ │ ├── KKLayoutAlgorithm.cs │ │ │ │ ├── ISOMLayoutAlgorithm.cs │ │ │ │ ├── LinLogLayoutAlgorithm.cs │ │ │ │ ├── FRCoolingFunction.cs │ │ │ │ ├── FreeFRLayoutParameters.cs │ │ │ │ ├── LinLogLayoutParameters.cs │ │ │ │ ├── BoundedFRLayoutParameters.cs │ │ │ │ ├── KKLayoutParameters.cs │ │ │ │ └── ISOMLayoutParameters.cs │ │ │ ├── Circular │ │ │ │ ├── CircularLayoutParameters.cs │ │ │ │ └── CircularLayoutAlgorithm.cs │ │ │ ├── Tree │ │ │ │ ├── SpanningTreeGeneration.cs │ │ │ │ ├── BalloonTreeLayoutParameters.cs │ │ │ │ ├── SimpleTreeLayoutAlgorithm.Data.cs │ │ │ │ └── SimpleTreeLayoutParameters.cs │ │ │ └── Hierarchical │ │ │ │ ├── SugiyamaEdgeRoutings.cs │ │ │ │ ├── SugiyamaLayoutAlgorithm.VertexLayerCollection.cs │ │ │ │ ├── SugiyamaLayoutAlgorithm.Enums.cs │ │ │ │ ├── SugiyamaLayoutAlgorithm.SugiEdge.cs │ │ │ │ └── EfficientSugiyamaAlgorithm.DoPreparing.cs │ │ ├── ILayoutParameters.cs │ │ ├── LayoutDirection.cs │ │ ├── Compound │ │ │ ├── CompoundVertexInnerLayoutType.cs │ │ │ ├── ICompoundLayoutIterationEventArgs.cs │ │ │ ├── ICompoundLayoutAlgorithm.cs │ │ │ ├── ICompoundLayoutContext.cs │ │ │ ├── TestingCompoundVertexInfo.cs │ │ │ ├── CompoundLayoutIterationEventArgs.cs │ │ │ ├── CompoundLayoutContext.cs │ │ │ └── TestingCompoundLayoutIterationEventArgs.cs │ │ ├── LayoutMode.cs │ │ ├── IParameterizedLayoutAlgorithm.cs │ │ ├── Contextual │ │ │ ├── IContextualLayoutAlgorithmFactory.cs │ │ │ ├── ContextualLayoutContext.cs │ │ │ ├── DoubleTreeLayoutParameters.cs │ │ │ └── ContextualLayoutAlgorithmFactory.cs │ │ ├── ILayoutContext.cs │ │ ├── LayoutParametersBase.cs │ │ ├── ILayoutInfoIterationEventArgs.cs │ │ ├── LayoutContext.cs │ │ ├── ILayoutIterationEventArgs.cs │ │ ├── LayoutState.cs │ │ ├── ILayoutAlgorithmFactory.cs │ │ └── ILayoutAlgorithm.cs │ ├── EdgeRouting │ │ ├── IEdgeRoutingParameters.cs │ │ ├── IEdgeRoutingAlgorithm.cs │ │ ├── EdgeRoutingParameters.cs │ │ ├── EdgeRoutingAlgorithmBase.cs │ │ ├── IEdgeRoutingAlgorithmFactory.cs │ │ └── StandardEdgeRoutingAlgorithmFactory.cs │ ├── IAlgorithmParameters.cs │ ├── Highlight │ │ ├── IHighlightParameters.cs │ │ ├── IHighlightContext.cs │ │ ├── HighlightContext.cs │ │ ├── HighlightParameterBase.cs │ │ ├── IHighlightAlgorithm.cs │ │ ├── IHighlightAlgorithmFactory.cs │ │ ├── IHighlightController.cs │ │ ├── StandardHighlightAlgorithmFactory.cs │ │ └── HighlightAlgorithmBase.cs │ ├── FactoryHelper.cs │ └── IAlgorithm.cs ├── Properties │ └── AssemblyInfo.cs ├── GraphSharp.csproj.vspscc ├── IMutableCompoundGraph.cs ├── WrappedVertex.cs ├── WeightedEdge.cs ├── GraphSharp.csproj.user ├── app.config ├── TypedEdge.cs ├── ICompoundGraph.cs ├── packages.config ├── IHierarchicalBidirectionalGraph.cs ├── Contracts │ ├── IContextualLayoutAlgorithmFactoryContract.cs │ ├── ILayoutContextContract.cs │ └── ILayoutAlgorithmFactoryContract.cs └── ISoftMutableGraph.cs ├── Graph#.Sample ├── App.xaml.cs ├── Resources │ ├── Entypo.ttf │ ├── Entypo-license.txt │ └── WindowsIcons-license.txt ├── Themes │ └── GraphSharp.png ├── Model │ ├── PocGraph.cs │ ├── GraphModel.cs │ ├── PocEdge.cs │ ├── PocGraphInfo.cs │ ├── PocVertex.cs │ ├── PocVertexToLayoutModeConverter.cs │ └── PocSerializeHelper.cs ├── ViewModel │ ├── GraphLayoutCommand.cs │ ├── RelayCommand.cs │ ├── GraphLayoutViewModel.cs │ └── LayoutAnalyzerViewModel.SampleGraphs.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Settings.settings │ └── Settings.Designer.cs ├── GraphSharp.Sample.csproj.vspscc ├── NewFolder1 │ └── TestTagViewModelCollection.cs ├── GraphSharp.Sample.csproj.user ├── MetroMainWindow.xaml.cs ├── App.xaml ├── packages.config ├── app.config ├── TestWindow.xaml ├── LayoutManager.cs └── TestCompoundLayout.xaml.cs ├── Graph#.Test ├── bin │ └── Debug │ │ └── QuickGraph.dll ├── Properties │ └── AssemblyInfo.cs ├── GraphSharp.Test.csproj.vspscc ├── Metrics │ ├── IMetricCalculator.cs │ ├── MetricCalculatorBase.cs │ ├── OverlapMetricCalculator.cs │ └── LayoutAreaMetricCalculator.cs ├── GraphSharp.Test.csproj.user ├── app.config ├── packages.config ├── GraphHelperTest.cs └── LayeredTopologicalSortAlgorithmTest.cs ├── Graph#.Controls ├── Controls │ ├── IAnimationContext.cs │ ├── Zoom │ │ ├── ZoomViewModifierMode.cs │ │ ├── ZoomControlModes.cs │ │ └── ZoomContentPresenter.cs │ ├── AlgorithmConstraints.cs │ ├── PositionChangedEventHandler.cs │ ├── Transitions │ │ ├── FadeInTransition.cs │ │ ├── FadeOutTransition.cs │ │ ├── TransitionBase.cs │ │ └── FadeTransition.cs │ ├── AnimationContext.cs │ ├── LayoutMode.cs │ ├── ICompoundVertexControl.cs │ ├── PositionChangedEventArgs.cs │ ├── IAnimation.cs │ ├── ITransition.cs │ ├── VertexControl.cs │ ├── Animations │ │ └── SimpleMoveAnimation.cs │ └── ContextualGraphLayout.cs ├── Serialization │ ├── EdgeInfoCollection.cs │ ├── VertexInfoCollection.cs │ ├── EdgeInfo.cs │ ├── VertexInfo.cs │ └── GraphInfo.cs ├── Properties │ ├── Settings.settings │ ├── AssemblyInfo.cs │ ├── Settings.Designer.cs │ └── Resources.Designer.cs ├── AttachedBehaviours │ └── IDragBehaviour.cs ├── GraphSharp.Controls.csproj.vspscc ├── app.config ├── GraphSharp.Controls.csproj.user ├── Additions │ ├── EdgeControlCollection.cs │ ├── VertexControl.cs │ └── EdgeControl.cs ├── Converters │ ├── EqualityToBooleanConverter.cs │ ├── DoubleToLog10Converter.cs │ ├── GraphConverterHelper.cs │ ├── PointArrayToString.cs │ └── CoordinatesToPointConverter.cs └── packages.config ├── GraphSharp.Optimization ├── Properties │ ├── Settings.settings │ ├── Settings.Designer.cs │ ├── AssemblyInfo.cs │ └── Resources.Designer.cs ├── App.xaml ├── GeneticAlgorithm │ ├── IMutation.cs │ └── GeneticAlgorithmParameters.cs ├── App.xaml.cs ├── Window1.xaml └── Window1.xaml.cs ├── .gitignore ├── TestGraphs ├── Sugiyama │ ├── SugiyamaTester1.gml │ ├── SugiyamaTester6.gml │ ├── SugiyamaTester7.gml │ ├── SugiyamaTester16.gml │ ├── SugiyamaTester2.gml │ ├── SugiyamaTester8.gml │ ├── SugiyamaTester9.gml │ ├── SugiyamaTester3.gml │ ├── SugiyamaTester4.gml │ ├── SugiyamaTester5.gml │ ├── SugiyamaTester15.gml │ ├── SugiyamaTester10.gml │ ├── SugiyamaTester11.gml │ ├── SugiyamaTester12.gml │ ├── SugiyamaTester14.gml │ ├── SugiyamaTester13.gml │ ├── SugiyamaTester12_sparse.gml │ └── SugiyamaTester12_dummy.gml ├── WidthAndHeightOpt │ ├── WHO2.gml │ └── WHO1.gml └── Symmetry.gml ├── README.md └── GraphSharp.nuspec /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NinetailLabs/GraphSharp/HEAD/screenshot.png -------------------------------------------------------------------------------- /.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NinetailLabs/GraphSharp/HEAD/.nuget/NuGet.exe -------------------------------------------------------------------------------- /Graph#/GraphHelper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NinetailLabs/GraphSharp/HEAD/Graph#/GraphHelper.cs -------------------------------------------------------------------------------- /Graph#.Sample/App.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Sample 2 | { 3 | public partial class App 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /Graph#.Sample/Resources/Entypo.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NinetailLabs/GraphSharp/HEAD/Graph#.Sample/Resources/Entypo.ttf -------------------------------------------------------------------------------- /Graph#.Sample/Themes/GraphSharp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NinetailLabs/GraphSharp/HEAD/Graph#.Sample/Themes/GraphSharp.png -------------------------------------------------------------------------------- /Graph#.Test/bin/Debug/QuickGraph.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NinetailLabs/GraphSharp/HEAD/Graph#.Test/bin/Debug/QuickGraph.dll -------------------------------------------------------------------------------- /Graph#/Algorithms/OverlapRemoval/RectangleWrapper.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NinetailLabs/GraphSharp/HEAD/Graph#/Algorithms/OverlapRemoval/RectangleWrapper.cs -------------------------------------------------------------------------------- /Graph#/Algorithms/Layout/Simple/FDP/FRLayoutAlgorithm.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NinetailLabs/GraphSharp/HEAD/Graph#/Algorithms/Layout/Simple/FDP/FRLayoutAlgorithm.cs -------------------------------------------------------------------------------- /Graph#/Algorithms/Layout/Simple/FDP/KKLayoutAlgorithm.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NinetailLabs/GraphSharp/HEAD/Graph#/Algorithms/Layout/Simple/FDP/KKLayoutAlgorithm.cs -------------------------------------------------------------------------------- /Graph#/Algorithms/Layout/ILayoutParameters.cs: -------------------------------------------------------------------------------- 1 | 2 | namespace GraphSharp.Algorithms.Layout 3 | { 4 | public interface ILayoutParameters : IAlgorithmParameters 5 | { 6 | } 7 | } -------------------------------------------------------------------------------- /Graph#/Algorithms/Layout/Simple/FDP/ISOMLayoutAlgorithm.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NinetailLabs/GraphSharp/HEAD/Graph#/Algorithms/Layout/Simple/FDP/ISOMLayoutAlgorithm.cs -------------------------------------------------------------------------------- /Graph#/Algorithms/Layout/Simple/FDP/LinLogLayoutAlgorithm.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NinetailLabs/GraphSharp/HEAD/Graph#/Algorithms/Layout/Simple/FDP/LinLogLayoutAlgorithm.cs -------------------------------------------------------------------------------- /Graph#.Sample/Model/PocGraph.cs: -------------------------------------------------------------------------------- 1 | using QuickGraph; 2 | 3 | namespace GraphSharp.Sample.Model 4 | { 5 | public class PocGraph : BidirectionalGraph 6 | { 7 | } 8 | } -------------------------------------------------------------------------------- /Graph#.Sample/ViewModel/GraphLayoutCommand.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Sample.ViewModel 2 | { 3 | public enum GraphLayoutCommand 4 | { 5 | None, 6 | Save 7 | } 8 | } -------------------------------------------------------------------------------- /Graph#.Controls/Controls/IAnimationContext.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Controls 2 | { 3 | public interface IAnimationContext 4 | { 5 | GraphCanvas GraphCanvas { get; } 6 | } 7 | } -------------------------------------------------------------------------------- /Graph#/Algorithms/EdgeRouting/IEdgeRoutingParameters.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Algorithms.EdgeRouting 2 | { 3 | public interface IEdgeRoutingParameters : IAlgorithmParameters 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Graph#.Controls/Controls/Zoom/ZoomViewModifierMode.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Controls.Zoom 2 | { 3 | public enum ZoomViewModifierMode 4 | { 5 | None, 6 | Pan 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Graph#.Controls/Controls/AlgorithmConstraints.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Controls 2 | { 3 | public enum AlgorithmConstraints 4 | { 5 | Must, 6 | Automatic, 7 | Skip 8 | } 9 | } -------------------------------------------------------------------------------- /Graph#.Controls/Controls/PositionChangedEventHandler.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Controls 2 | { 3 | public delegate void PositionChangedEventHandler(object sender, PositionChangedEventArgs args); 4 | } 5 | -------------------------------------------------------------------------------- /Graph#.Controls/Serialization/EdgeInfoCollection.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | 3 | namespace GraphSharp.Serialization 4 | { 5 | public class EdgeInfoCollection : Collection 6 | { } 7 | } -------------------------------------------------------------------------------- /Graph#/Algorithms/Layout/Simple/Circular/CircularLayoutParameters.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Algorithms.Layout.Simple.Circular 2 | { 3 | public class CircularLayoutParameters : LayoutParametersBase 4 | { 5 | 6 | } 7 | } -------------------------------------------------------------------------------- /Graph#.Controls/Serialization/VertexInfoCollection.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | 3 | namespace GraphSharp.Serialization 4 | { 5 | public class VertexInfoCollection : Collection 6 | { } 7 | } -------------------------------------------------------------------------------- /Graph#/Algorithms/Layout/Simple/FDP/FRCoolingFunction.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Algorithms.Layout.Simple.FDP 2 | { 3 | public enum FRCoolingFunction 4 | { 5 | Linear, 6 | Exponential 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Graph#/Algorithms/Layout/Simple/Tree/SpanningTreeGeneration.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Algorithms.Layout.Simple.Tree 2 | { 3 | public enum SpanningTreeGeneration 4 | { 5 | BFS, 6 | DFS 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Graph#.Sample/Resources/Entypo-license.txt: -------------------------------------------------------------------------------- 1 | Entypo (http://www.entypo.com/) is created by Daniel Bruce and released under the Creative Commons, Share Alike/Attribution license. 2 | 3 | http://creativecommons.org/licenses/by-sa/3.0/ -------------------------------------------------------------------------------- /Graph#/Algorithms/IAlgorithmParameters.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | 4 | namespace GraphSharp.Algorithms 5 | { 6 | public interface IAlgorithmParameters : ICloneable, INotifyPropertyChanged 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /Graph#/Algorithms/Layout/LayoutDirection.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Algorithms.Layout 2 | { 3 | public enum LayoutDirection 4 | { 5 | LeftToRight = 0, 6 | TopToBottom = 1, 7 | RightToLeft = 2, 8 | BottomToTop = 3 9 | } 10 | } -------------------------------------------------------------------------------- /Graph#/Algorithms/Layout/Simple/Hierarchical/SugiyamaEdgeRoutings.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Algorithms.Layout.Simple.Hierarchical 2 | { 3 | public enum SugiyamaEdgeRoutings 4 | { 5 | Traditional, 6 | Orthogonal 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Graph#/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | [assembly: AssemblyTitle( "GraphSharp" )] 4 | [assembly: AssemblyProduct( "GraphSharp" )] 5 | 6 | [assembly: AssemblyVersion("2.0.0.0")] 7 | [assembly: AssemblyFileVersion("2.0.0.0")] -------------------------------------------------------------------------------- /Graph#.Test/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | [assembly: AssemblyTitle("GraphSharp.Test")] 4 | [assembly: AssemblyProduct("GraphSharp")] 5 | 6 | [assembly: AssemblyVersion("2.0.0.0")] 7 | [assembly: AssemblyFileVersion("2.0.0.0")] -------------------------------------------------------------------------------- /Graph#/Algorithms/Highlight/IHighlightParameters.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | 4 | namespace GraphSharp.Algorithms.Highlight 5 | { 6 | public interface IHighlightParameters : ICloneable, INotifyPropertyChanged 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /Graph#.Sample/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | [assembly: AssemblyTitle("GraphSharp.Sample")] 4 | [assembly: AssemblyProduct("GraphSharp")] 5 | 6 | [assembly: AssemblyVersion("2.0.0.0")] 7 | [assembly: AssemblyFileVersion("2.0.0.0")] -------------------------------------------------------------------------------- /Graph#.Controls/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /GraphSharp.Optimization/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Graph#/Algorithms/OverlapRemoval/IOverlapRemovalParameters.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Algorithms.OverlapRemoval 2 | { 3 | public interface IOverlapRemovalParameters : IAlgorithmParameters 4 | { 5 | float VerticalGap { get; } 6 | float HorizontalGap { get; } 7 | } 8 | } -------------------------------------------------------------------------------- /Graph#.Controls/Controls/Transitions/FadeInTransition.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Controls.Transitions 2 | { 3 | public class FadeInTransition : FadeTransition 4 | { 5 | public FadeInTransition() 6 | : base( 0.0, 1.0 ) 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Graph#/Algorithms/Layout/Compound/CompoundVertexInnerLayoutType.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Algorithms.Layout.Compound 2 | { 3 | public enum CompoundVertexInnerLayoutType 4 | { 5 | Automatic, 6 | ContextFree, 7 | Contextual, 8 | Fixed 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Graph#.Controls/AttachedBehaviours/IDragBehaviour.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Windows; 3 | 4 | namespace GraphSharp.AttachedBehaviours 5 | { 6 | public interface IDragBehaviour 7 | { 8 | IEnumerable GetChildElements(); 9 | } 10 | } -------------------------------------------------------------------------------- /Graph#.Controls/Controls/Transitions/FadeOutTransition.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Controls.Transitions 2 | { 3 | public class FadeOutTransition : FadeTransition 4 | { 5 | public FadeOutTransition() 6 | : base( 1.0, 0.0 ) 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Graph#/Algorithms/OverlapRemoval/IOverlapRemovalContext.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Windows; 3 | 4 | namespace GraphSharp.Algorithms.OverlapRemoval 5 | { 6 | public interface IOverlapRemovalContext 7 | { 8 | IDictionary Rectangles { get; } 9 | } 10 | } -------------------------------------------------------------------------------- /Graph#/GraphSharp.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Graph#.Test/GraphSharp.Test.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Graph#/IMutableCompoundGraph.cs: -------------------------------------------------------------------------------- 1 | using QuickGraph; 2 | 3 | namespace GraphSharp 4 | { 5 | public interface IMutableCompoundGraph 6 | : ICompoundGraph, 7 | IMutableBidirectionalGraph 8 | where TEdge : IEdge 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Graph#.Sample/GraphSharp.Sample.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Graph#.Sample/NewFolder1/TestTagViewModelCollection.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Collections.ObjectModel; 3 | using Scraper.Models.Logs; 4 | 5 | namespace Scraper.ViewModel.Logs 6 | { 7 | public class TestTagViewModelCollection : Collection 8 | { 9 | 10 | 11 | } 12 | } -------------------------------------------------------------------------------- /Graph#/Algorithms/Highlight/IHighlightContext.cs: -------------------------------------------------------------------------------- 1 | using QuickGraph; 2 | 3 | namespace GraphSharp.Algorithms.Highlight 4 | { 5 | public interface IHighlightContext 6 | where TEdge : IEdge 7 | where TGraph : IVertexAndEdgeListGraph 8 | { 9 | TGraph Graph { get; } 10 | } 11 | } -------------------------------------------------------------------------------- /Graph#.Controls/GraphSharp.Controls.csproj.vspscc: -------------------------------------------------------------------------------- 1 | "" 2 | { 3 | "FILE_VERSION" = "9237" 4 | "ENLISTMENT_CHOICE" = "NEVER" 5 | "PROJECT_FILE_RELATIVE_PATH" = "" 6 | "NUMBER_OF_EXCLUDED_FILES" = "0" 7 | "ORIGINAL_PROJECT_FILE_PATH" = "" 8 | "NUMBER_OF_NESTED_PROJECTS" = "0" 9 | "SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" 10 | } 11 | -------------------------------------------------------------------------------- /Graph#/Algorithms/OverlapRemoval/OverlapRemovalHelper.cs: -------------------------------------------------------------------------------- 1 | using System.Windows; 2 | 3 | namespace GraphSharp.Algorithms.OverlapRemoval 4 | { 5 | public static class OverlapRemovalHelper 6 | { 7 | public static Point GetCenter( this Rect r ) 8 | { 9 | return new Point( r.Left + r.Width / 2, r.Top + r.Height / 2 ); 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /GraphSharp.Optimization/App.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Graph#/Algorithms/Layout/LayoutMode.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Algorithms.Layout 2 | { 3 | public enum LayoutMode 4 | { 5 | /// 6 | /// Simple layout mode without compound vertices. 7 | /// 8 | Simple, 9 | 10 | /// 11 | /// Compound vertices, compound graph. 12 | /// 13 | Compound 14 | } 15 | } -------------------------------------------------------------------------------- /Graph#.Controls/Controls/AnimationContext.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Controls 2 | { 3 | public class AnimationContext : IAnimationContext 4 | { 5 | public AnimationContext(GraphCanvas canvas) 6 | { 7 | GraphCanvas = canvas; 8 | } 9 | 10 | public GraphCanvas GraphCanvas { get; private set; } 11 | } 12 | } -------------------------------------------------------------------------------- /Graph#/WrappedVertex.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp 2 | { 3 | public class WrappedVertex 4 | { 5 | private readonly TVertex _originalVertex; 6 | 7 | public TVertex Original 8 | { 9 | get { return _originalVertex; } 10 | } 11 | 12 | public WrappedVertex(TVertex original) 13 | { 14 | _originalVertex = original; 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Graph#/WeightedEdge.cs: -------------------------------------------------------------------------------- 1 | using QuickGraph; 2 | 3 | namespace GraphSharp 4 | { 5 | public class WeightedEdge : Edge 6 | { 7 | public double Weight { get; private set; } 8 | 9 | public WeightedEdge(TVertex source, TVertex target, double weight = 1) 10 | : base(source, target) 11 | { 12 | Weight = weight; 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Graph#.Controls/Controls/LayoutMode.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Controls 2 | { 3 | public enum LayoutMode 4 | { 5 | /// Decide about the layout mode automatically. 6 | Automatic, 7 | 8 | /// There should not be any compound vertices. 9 | Simple, 10 | 11 | /// Compound vertices, compound graph. 12 | Compound 13 | } 14 | } -------------------------------------------------------------------------------- /GraphSharp.Optimization/GeneticAlgorithm/IMutation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | namespace GraphSharp.Optimization.GeneticAlgorithm 7 | { 8 | public interface IMutation 9 | where TGene : class 10 | { 11 | ICollection Mutate(ICollection genes); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Graph#.Controls/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Windows; 3 | 4 | [assembly: AssemblyTitle("GraphSharp.Controls")] 5 | [assembly: AssemblyProduct("GraphSharp")] 6 | 7 | [assembly: AssemblyVersion("2.0.0.0")] 8 | [assembly: AssemblyFileVersion("2.0.0.0")] 9 | 10 | [assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)] -------------------------------------------------------------------------------- /Graph#.Sample/Model/GraphModel.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Sample.Model 2 | { 3 | public class GraphModel 4 | { 5 | public GraphModel(string name, PocGraph graph) 6 | { 7 | Name = name; 8 | Graph = graph; 9 | } 10 | 11 | public string Name { get; private set; } 12 | 13 | public PocGraph Graph { get; private set; } 14 | } 15 | } -------------------------------------------------------------------------------- /Graph#/Algorithms/Layout/IParameterizedLayoutAlgorithm.cs: -------------------------------------------------------------------------------- 1 | namespace GraphSharp.Algorithms.Layout 2 | { 3 | public interface IParameterizedLayoutAlgorithm 4 | { 5 | ILayoutParameters GetParameters(); 6 | } 7 | 8 | public interface IParameterizedLayoutAlgorithm : IParameterizedLayoutAlgorithm 9 | where TParam : ILayoutParameters 10 | { 11 | TParam Parameters { get; } 12 | } 13 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # This .gitignore file was automatically created by Microsoft(R) Visual Studio. 3 | ################################################################################ 4 | 5 | .vs/ 6 | bin/ 7 | obj/ 8 | packages/ 9 | *.suo 10 | *.ide 11 | *.user 12 | /Source/Graph#/Algorithms/Layout/Simple/Hierarchical/aakx42lo.l4j -------------------------------------------------------------------------------- /GraphSharp.Optimization/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Windows; 7 | 8 | namespace GraphSharp.Optimization 9 | { 10 | /// 11 | /// Interaction logic for App.xaml 12 | /// 13 | public partial class App : Application 14 | { 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Graph#/Algorithms/Layout/Compound/ICompoundLayoutIterationEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Windows; 3 | 4 | namespace GraphSharp.Algorithms.Layout.Compound 5 | { 6 | public interface ICompoundLayoutIterationEventArgs 7 | : ILayoutIterationEventArgs 8 | where TVertex : class 9 | { 10 | IDictionary InnerCanvasSizes { get; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /GraphSharp.Optimization/Window1.xaml: -------------------------------------------------------------------------------- 1 | 7 | 8 |