Alexander Smirnov

  • Content count

  • Joined

  • Last visited

  • Days Won


Alexander Smirnov last won the day on June 9 2016

Alexander Smirnov had the most liked content!

About Alexander Smirnov

  • Rank
    Staff Member
  • Birthday 11/29/82

Contact Methods

  • Skype

Profile Information

  • Gender
  • Interests
    .NET development, quantum science, graph theory, nice weather and sea
  1. We have updated forum engine to the most recent version. If you'll find any problems please do not hesitate to contact administration. Thank you!
  2. GraphX is in the maintenance mode currently. Merged all pull requests and fixing reported bugs.
  3. This is tricky. Group background itself is a simple border, so you can add some mouse handling events for it and store a link that will point that this particular Border is for particular vertex group. So when you drag your Border you can iterate through related vertices and translate them to new coordinates according to the dragged Border. This approach will require a lot of coordinates calculations. As of collapseble groups you can try to implement custom Filter which will hide/show group vertices and add/remove an edge instead of them.
  4. Hi, i've never tried it, but you can try to specify GroupingLayoutAlgorithm as the primary GroupingLayoutAlgorithm parameter so the vertices in a primary group can be layouted by some secondary group.
  5. Hello Tom, sorry for no response. The mail system is out of order again There is no default support for center point, but you can use EdgeLabel for that, as it is placed in the center of the line. Or you can check edge generation code to get the math behind the edge center calculation and then use own EdgeControl implementation for this,
  6. Thank you for an example!
  7. Hello, please try to set args.MouseArgs.Handled = true
  8. GraphX for .NET version 2.3.6 is out featuring minor improvements and fixes.
  9. RELEASE 2.3.6 DETAILED CHANGELOG: + Added edge endpoint calculation for rotated vertex that use ellipse, circle and rectangle math shape + Added VertexControl::LabelAttached and LabelDetached events which fires when new label is attached to VertexControl or detached from it + Added new parameter to GraphArea::UpdateParallelEdgesData(Dictionary<TEdge, EdgeControl> edgeList) to be able to specify edges list to parse for parallelization instead of full edge list parse + Added support for object visbility and attachable labels to GraphX serialization data + Added ZoomControl::ResetKeyBindings() method to clear all (incl default) set key bindings + Fixed ZoomControl dynamic content switch to corectly refresh viewfinder + Improved ZoomControl handling with disabled animation + Renamed ZoomControl::IsAnimationDisabled to IsAnimationEnabled and changed the logic according the modification + Renamed ZoomControl::MaximumZoomStep to ZoomStep and updated description + Implemented easy ZoomControl key bindings with BindKey() method and exposed base commands for zoom and pan actions to be able to bind keys for them + Some class refactoring Go to the archive & sources download page NuGet version is also available
  10. Update: now we have one in GraphX for .NET PRO bundle. FYI.
  11. RELEASE 2.3.5 FEATURES HIGHLIGHT: - Added new awesome vertex snapping feature on vertex drag. Many thanks to perturbare for this wonderful contibution! The feature is implemented around DragBehaviour class and is represented in several new settings allowing the drag to be perform around some sort of virtual snap grid. Please read the comment for the DragBehaviour class for detailed info. - Added new feature & example preview in showcase app: graph data filtering. This feature allows you to filter the graph prior to layout generation or relayout based on the pipeline of LogicCore::Filters that are processed sequentially. These filters can modify graph using custom logic. The output graph will be available for interaction along with the copy of the original graph. User then may choose if he wish to revert graph to the original state or apply filtering results permanently. Please read the details at: DETAILED CHANGELOG: - Added Universal Windows Application support and example project - Added StateStorage::ImportState() method to allow state import/export logic between several graphs - Added GraphArea::IsDisposed property that indicated that GraphArea object has been disposed and shouldn't be used anymore - Added GraphArea::CreateNewStateStorage() protected method to be able to implement custom state storage logic for GraphArea - Added ParameterizedLayoutAlgorithmBase::EnsureUniqueRandomInitialPositions property that enables unique random positions generation for layout algorithms. False by default, True for LinLog algorithm. - Added VertexControl::VCPRoot property whcih represents the VCP root container for easier runtime VCP management. To be able to use it you have to define PART_vcproot template element as Panel descendant. - Added new awesome vertex snapping feature on vertex drag (thanks to perturbare) - Added GraphArea::EnableVisualsRenewOnFiltering property which is True by default. Specifies if visual graph should be updated up on relayout method call. - Added methods LogicCore::PushFilters(), LogicCore::ApplyFilters() and LogicCore::PopFilters along with LogicCore::Filters property which implements graph data filtering feature - Added LogicCore::IsFiltered property to identify graph filtering state. If graph is filtered the filter results can be applied or popped back. - Added new porperty EdgeControlBase::HideEdgePointerOnVertexOverlap which can hide edge pointer on zero length edge - Added new property EdgeControlBase::HideEdgePointerByEdgeLength to be able to hide edge pointers if edge length is less than or equal to the specified value. Off by default (0 value). - Fixed LogicCore::GetVertexSizeRectangles() method input params and description - Fixed incorrect edge pointer position on zero length edge - Fixed Avalon Dock interaction which caused strange exception by skipping ZooomControl viewfinder unnecessary refresh pass in some cases - Fixed edge label positioning, now it is more accurate for pathed edges - Fixed LinLog negative energy issue (thanks to Katya) - Fixed one vertex ISOM algorithm exception (thanks to jorgensigvardsson) - Fixed external alg vertex sizes grab logic (thanks to ValentinMarinov) - Made StateStorage class extensible by adding virtual modifiers to methods - Improved algorithm factory logic to avoid graph type cast exceptions in some class declaration cases - Improved calc performance for large graphs that use both OR and ER algorithms - Moved code extensions to GraphX.PCL.Common library thus eliminating the need for GraphX.PCL.Logic for *.Controls libraries - Removed GraphArea::EnableWinFormsHostingMode property as it is not needed any more. The WF checks has been automated. Go to the archive & sources download page NuGet version is also available
  12. GraphX for .NET version 2.3.5 is out on GitHub and NuGet. Grab it while it is hot!
  13. Hello everyone! Today is a wonderful day as we are proud to announce new GraphX for .NET PRO version. You can check the details in the corresponding announce thread. No worries, open source GraphX is still there and completely free as always Also we'd finally launched new web site which will help us to push GraphX product line forward. Check all the new web site as we slowly move to the org domain zone. Going to release GraphX version 2.3.5 soon, stay tuned!
  14. Greetings everyone! Today we proudly announce the release of the GraphX for .NET PRO 1.0.0 version which is planned as our mainstream product! We have a great plans for it so you may expect more features and content to be added soon followed by special highlights. Feel free to read through this announce and ask us questions if you'll have some. So, what's inside? GraphX PRO utilizes open-source GraphX logic core making possible for you to use all the algorithms from this version and all the possible custom algorithms you already have. This also allows us to create new PRO algorithms compatible with open-source GraphX which is still a great visualization tool for templated interactive graphs. Using the PRO version you gain access to a set of new high performance controls designed to handle large data graphs in WPF and UWA environments by utilizing the low-level rendering techniques. These controls allows you to build your graph visualization from scratch skipping the heavy XAML templates and optimize overall performance by using fast and efficient graph object techniques. We also have an performance-tweaked zoom control and additional layout algorithms to play with. For example this highly customizable Radial Layout Algorithm can do the magic with the tree data graphs. Here are some GraphX PRO highlights we have to offer you: New controls for maximum rendering performance you can achieve in WPF. New low-level rendering techniques and plenty of performance optimizations allowed us to create controls better suitable for large data graph rendering and visualization. Also we have more performant ZoomControl to offer. New layout algorithms for better tree graph visualization with different configurable options, including Radial Tree Layout. Expect more algorithms to come soon. Extended support for both FREE and PRO GraphX products including the access to VIP customers area on the forums and guaranteed quick responses on all the questions related to GraphX and derived projects. Priority version updates and feature requests. Access to requested hotfixes in any desirable form and ability to request minor new features with top priority mark. More tools to work with will be added in the future including new algorithms, controls and much more. Special discounts and offers for other services including GraphX-based paid project development and feature implementation! On-demand source code access that includes full GraphX PRO source code sharing and support The Requirements? We want to supply our customers with the best software possible so we have to use modern tools to achieve the best performance and usability . GraphX for .NET PRO software requirements as follows: Visual Studio 2015 Community Edition or higher (for sample projects) .NET Framework 4.5* or higher * Compatibility with other framework versions is a subject for a discussion, feel free to contact us What about the license? GraphX for .NET PRO utilize subscription based licensing model which means you can get new product versions while your license is active and continue to use them even when your license is expired. You won't be able to use new product releases after your license is expired and you have to renew it to be able to do so. Each license is valid for one developer only but if you want to purchase GraphX PRO for many developers you can always contact with the Sales Department. Check the subscription details on our new web-sites: Have Something Special? Sure! We want to thank all our contributors and give them life-time -15% discount for indie and professional bundles if you'd contributed to GraphX before the PRO version release. We appreciate your work and hope to see you working with us on the free open-source GraphX version. Remember, buying our products also helps to push forward our open-source projects! For all the questions regarding the GraphX PRO please contact or use the order form below ** The text given above is not a public offer
  15. Recent v2.3.5 commit added new feature to GraphX: graph data filtering. You can read about it in details in: Feel free to test it and leave feedback. Thanks!