Nevron Open Vision Documentation
Diagram / Diagram Overview
In This Topic
    Diagram Overview
    In This Topic


    NOV Diagram for .NET is a fully managed, extensible and powerful diagramming framework, which can help you create feature rich diagramming solutions in WinForms, WPF, Xamarin.Mac, and ASP.NET environments.

    NOV Diagram for .NET is the product behind MyDraw - a commercial alternative to Microsoft Visio. As you would expect from a commercial Microsoft Visio competitor, NOV Diagram for .NET features most of the Microsoft Visio functionality and allows you to replicate the smart behavior of almost any Visio shape.

    NOV Diagram for .NET is built upon the NOV Document Object Model (DOM) and is a scalable and extensible solution. It has been carefully designed to meet a vast amount of customization requests. The object model and the API had been thoroughly refined to be as native and intuitive as possible.

    NOV Diagram for .NET features:


    Drawings are constructed by multiple pages each of which has multiple shapes. Thus diagrams are basically created by creating shapes inside drawing pages. Following is a brief overview of the drawing documents features

    • Drawing Views
      A drawing view is a widget designed to show the content of a drawing document. You embed drawings in your UI hierarchy by placing drawing views inside it.
    • Drawing Documents
      Drawings are created in drawing documents. You can apply stylesheets to drawing documents, thus globally controlling the appearance and behavior of drawings. 
    • Drawings
      Drawing are the root elements inside the drawing documents hierarchy. They contain global settings for the diagram that apply to all pages contained in a drawing.
      This includes editing preferences, global visibility settings, snap and glue options and other.
    • Pages
      Drawings can contain multiple pages. Each page has settings for grid and rulers and a collection items that contains shapes and guidelines. Each page has individual selection object.
    • Shapes
      Shapes are the primary building blocks of diagrams. Shapes can be 1D or 2D. 2D shapes behave as boxes, while 1D shapes behave as lines connecting other shapes. Shapes can have different geometry and text.
    • Groups
      Groups are shapes that contain other shapes. Groups help you work with multiple shapes as if they were a single shape.
    • Routing
      Built-in support for automatic obstacle avoidance routing. It addresses diagrams in which certain connectors must be automatically rerouted not to cross any obstacles (shapes) in their path. Routing takes into account factors like minimal bends, port headings, X/Y permeability etc.
    • Undo and Redo
      The entire DOM is protected by history. Any property or method, which modifies the elements state records history. The history can contain an unlimited number of actions. History actions can be grouped in transactions. Transactions can be committed or rolled back. Nested transactions are also supported. The history is implemented as a service so you can easily override it, stop or pause it.
    • Batches
      Batches serve as a functionality layer between drawings and the user. Batches are designed to operate with multiple elements and record a single history transaction. Batches take into account the element permissions. Most of operations, which commands perform with elements, are implemented with the help of batches.
    • Data Structures
      Graph and tree data structures can be generated from the shapes of a drawing document. This gives you the needed flexibility to operate with a visually constructed diagram as if it is a simple graph or tree.

    Libraries help you organize drawing clippings into stencils. Thus libraries are basically created by creating library items that can contain single or multiple shapes.

    • Library Views and Library Browser
      A library view is a widget designed to show the content of a library document. You embed libraries in your UI hierarchy by placing library views inside it. The library browser is an extended navigation bar that can manage multiple library views. 
    • Library Documents
      Libraries are created in library documents. You can apply stylesheets to library documents, thus globally controlling the appearance of the shapes contained inside a library. 
    • Libraries
      Libraries are the root elements inside the library documents hierarchy. Each library has a collection of library items.
    • Library Items
      Library items can contain multiple shapes. Each library item is designed to create an instance of its content inside any drawing.
     Automatic Layouts

    The automatic arrangement of diagrams is an indispensable feature, especially when diagrams are either too large or are automatically generated. NOV Diagram for .NET comes equipped with a sophisticated set of automatic layouts. Following is a brief overview:

    • Force Directed Layouts
      Implemented are barycenter, spring and symmetrical layouts. They are suitable for any kind of graph and produce straight line graph drawings.
    • Layered Graph Layout
      Layouts a graph in layers. It produces polyline graph drawings and is very appropriate for hierarchically organized graphs.
    • Orthogonal Graph Layout
      Draws a graph only with horizontal and vertical line segments. It is suitable for any kind of graph and addresses issues like crossing, bend and area minimization.
    • Radial Graph Layout
      Draws a graph in radial circles. It is suitable for any kind of graph and produces straight line graph drawings.
    • Layered Tree Layout
      Layouts a tree in layers. Produces straight line and orthogonal tree drawings.
    • Compact Depth Tree Layout
      Layouts a tree with minimal depth. Produces straight line and orthogonal tree drawings.
    • Tip Over Tree Layout
      Layouts a tree by placing children in either a row or a column. Produces orthogonal tree drawings.
    • Balloon Tree Layout
      Layouts a tree by placing the children in circles around their parents. Produces straight line tree drawings.
    • Stack Layout
      Stacks the cells in horizontal or vertical order.
    • Wrap Flow Layout
      Arranges the cells in horizontal or vertical lanes.
    • Table Flow Layout
      Arranges the cells in horizontal or vertical lanes that form a table
    • Dock Layout
      A space eating cells layout, which places vertices at per-vertex specified docking areas of the currently available layout area.
    • Table Layout
      Arranges the cells in a tabular manner.
     Predefined Shapes

    NOV Diagram for .NET comes equipped with numerous predefined shapes, which can come handy in many applications. The predefined shapes are consistently created by shape factories. Currently implemented are shape factories, which create shapes from the following categories:

    • Basic Shapes 
      Basic geometry shapes (Rectangle, Square, Ellipse, Circle, Rounded Rectangle, N-Grams, N-Gons etc.). A total of 18 basic shapes are provided.
    • Flowcharting Shapes
      Shapes related to flowcharting (Process, Decision, Document, Data etc.). A total of 31 flowcharting shapes are provided.
    • Connector Shapes
      1D Shapes designed to connect other shapes. A total of 10 connectors and arrow shapes are provided.