Telerik.Windows.Diagrams.Core An observable collection which splits the event into separate events. The type on which the collection is based. By default the events will be raised. Initializes a new instance of the class. Initializes a new instance of the class. The collection. Initializes a new instance of the class. Initializes a new instance of the class. The raise events by default. Occurs when the collection is cleared. Occurs when an item is added. Occurs when an item is inserted. Occurs when an item is removed. Adds an item to the collection. The item to be added. Adds and new item to the collection and specifies whether to raise the event. The item to add to the collection. Whether to raise the event. Clears this collection. Clears this collection. Whether to raise the event. Inserts an item to this collection. The index at which the item should be inserted. The item to insert. Inserts an item to this collection. The index at which the item should be inserted. The item to insert. Whether to raise the event. Removes an item from this collection. The item to remove. Removes an item from this collection. The item to remove. Whether to raise the event. Raises the event. The item to which the event refers. Raises the event. Raises the ItemInserted event. The item. Raises the event. The item to which the event refers. Data class holding the information regarding a sub-diagram contained in a container. If the is null it means the sub-diagram is the top-level graph. The type of the node data. The type of the link data. Initializes a new instance of the class. The diagram. Initializes a new instance of the class. Gets or sets the container that this graph is linked to. Gets or sets the Node of the and which does not sit in the since a container organizes its children but not itself. This property is null if the is null, which happens when the HyperNode represents the global layout (the Canvas is not a container obviously). Gets or sets the graph that the holds and which is a subset of the total graph. Helper class to extract a from an structure (usually the RadDiagram control). The mapping an edge to the original connection(s). A single edge can map to multiple connections when for example it represent multiple connections between containers. In this case the edge is virtual. The connections being mapped. The mapping to/from the original nodes. The nodes being mapped. Initializes a new instance of the class. Initializes a new instance of the class. The diagram control which should be mapped to its graph-analytical analog. If set to true shapes with Visibility not set to Visible will be ignored. If set to true shape containers will not be taken into account and all children inside a (possibly nested) container will be organized independently of their parent container as part of the global layout. Gets the connections which are being ignored because of graph analytical reasons. Gets the shapes which are being ignored because of graph analytical reasons. Ignored shapes are not mapped to a . Gets the collection of items corresponding to the items. Note that the this collection can be a reduced set of the original set. The omitted items can be found in the collection. Gets the collection of items corresponding to the items. Gets or sets diagram control which this adapter is mapping. Converts the given diagram to a . The diagram from which graph analytical information should be extracted. If set to true shapes with Visibility not set to Visible will be ignored. If set to true shape containers will not be taken into account and all children inside a (possibly nested) container will be organized independently of their parent container as part of the global layout. Creates a from a given . The shape which should be mapped to a . The corresponding to the given shape. Maps the specified connection to an edge of the graph deduced from the given diagram. The connection. Maps the specified shape to a node of the graph deduced from the given diagram. The shape. Gets the edge, if any, between the given nodes. Clears all collections used by the method. First part of the graph creation; analyzing the shapes and containers and deciding whether they should be mapped to a Node. Second part of the graph creation; analyzing the connections and deciding whether they should be mapped to an edge. Determines iteratively (by walking up the container stack) whether the specified shape is visible. The shape. Determines iteratively (by walking up the container stack) whether the specified shape is in a collapsed state. The shape. Depth-first traversal of the given container. The container. The action. If set to true [include start]. Adapter between the diagram control and the graph representation. It converts shape and connections to nodes and edges taking into the containers and their collapse state, the visibility of items and more. If the is true a hypertree is constructed which holds the hierarchy of containers and many conditions are analyzed to investigate how the effective graph structure looks like and how the layout has to be performed. The type of the node data. The type of the link data. The mapping an edge to the original connection(s). A single edge can map to multiple connections when for example it represent multiple connections between containers. In this case the edge is virtual. The connections being mapped. The mapping to/from the original nodes. The nodes being mapped. The map from a node to the partition/hypernode in which it sits. This hyperMap is null if is false. The hypertree contains the hierarchy defined by the containers. Initializes a new instance of the class. Initializes a new instance of the class. The diagram control which should be mapped to its graph-analytical analog. The settings used to convert the diagram to a graph. Gets the hypertree when is true. This represents the hierarchy of containers and their content graph. If is false this property will return null. Gets the connections which are being ignored because of graph analytical reasons. Gets the shapes which are being ignored because of graph analytical reasons. Ignored shapes are not mapped to a . An ignored shape can however have a mapped shape (container) when it sits in a collapsed container. In this case the maps the shape to the container. Gets the collection of items corresponding to the items. Note that the this collection can be a reduced set of the original set. The omitted items can be found in the collection. Gets the collection of items corresponding to the items. Gets the mapping of a shape to a container in case the shape sits in a collapsed container. Gets or sets diagram control which this adapter is mapping. Converts the given diagram to a . The is used when the is true. It contains the hierarchy of containers whereby each node is a . This type of node has a reference to the container which holds the items. There are three possible situations during the conversion process: Ignore the containers: the container are non-existent and only normal shapes are mapped. If a shape has a connection to a container it will be ignored as well since there is no node mapped for the container. Do not ignore the containers and leave the content of the containers untouched: the top-level elements are being mapped and the children within a container are not altered. Do not ignore the containers and organize the content of the containers as well: the hypertree is constructed and there is a partitioning of all nodes and connections into the hypertree. The only reason a connection or node is not being mapped might be due to the visibility, which includes the visibility change through a collapsed parent container. The diagram from which graph analytical information should be extracted. The settings used to convert the diagram to a graph. Creates a from a given . The shape which should be mapped to a . The corresponding to the given shape. Maps the specified connection to an edge of the graph deduced from the given diagram. The connection. Maps the specified shape to a node of the graph deduced from the given diagram. The shape. Gets the edge, if any, between the given nodes. Determines whether the specified item is a top-level shape or container. Clears all collections used by the method. Returns true if the given shape is a direct child or a nested container child of the given container. If the given container and shape are the same this will return false since a shape cannot be its own child. Returns whether, given the settings and the state, the shape should be ignored in the mapping from shapes to nodes. The shape. Determines whether the shape is or needs to be mapped to another shape. This occurs essentially when the shape sits in a collapsed container hierarchy and an external connection needs a node endpoint. This node then corresponds to the mapped shape and is necessarily a container in the parent hierarchy of the shape. The shape. true if [is shape mapped] [the specified shape]; otherwise, false. Determines iteratively (by walking up the container stack) whether the specified shape is visible. This does NOT tell whether the item is not visible due to an explicit Visibility change or due to a collapse state. The shape. Finds the least common ancestor of the two given hypernodes which always exists since the hypertree is connected and acyclic. A. hypernode in the hypertree. Another hypernode in the hypertree. Second part of the graph creation; analyzing the connections and deciding whether they should be mapped to an edge. First part of the graph creation; analyzing the shapes and containers and deciding whether they should be mapped to a Node. Depth-first traversal of the given container. The container. The action. If set to true [include start]. Generic implementation of the interface. The field. Initializes a new instance of the class. Initializes a new instance of the class. The connection on which this link is based. Gets or sets the number of virtual nodes which have been inserted during the process of breaking layer-crossing links. This is specific to the Sugiyama layout. Gets or sets whether there is an intrinsic direction. If not, this means the edge can be traversed in both directions. Gets whether link has been reversed (using the method). Gets whether this edge represents a logical link rather than one derived from a single connection. For instance, a virtual edge is necessary when multiple connections exist between containers and the working graph needs a single edge for the layout process. Gets the associated object. If this is a virtual edge this connection is null. Gets or sets the points defining the link. This also defines eventually the visual if it's a polyline or some other multi-point visual. Gets or sets the dictionary of runtime/layout properties. Gets or sets index of the segment. Gets the weight of this link. Gets or sets identifier. Gets the destination (target, end) node of this link. Gets the source (origin, start) node of this link. Gets or sets whether this is an outgoing link. This is specific to the Sugiyama layout. Returns a (shallow) clone of this link. The following properties are being cloned: The identifier (Id) The weight (Weight) The segment index (SegmentIndex) The points (Points). A clone of this link. Returns the opposite or complementary node of the given one. The node whose complement is looked for. null if the node is not part of this link, otherwise the opposite or complementary node with respect to this link. Gets the bounding rectangle of this entity. Returns the node at the opposite end of the link. The a Node. Sets the control points () of this link. The points defining this link. Reverses the direction of this link. Default implementation/inheritance of the class in function of analysis and layout. Initializes a new instance of the Graph class. The diagram Control. Transfers the full incidence structure to the . The setting used during translation from control to graph. If set to null the default settings will be used. Initializes a new instance of the class. Initializes a new instance of the class. The graph base. Use this constructor e.g. when converting a spanning tree to this structure. Gets DiagramControl. Gets or sets ignored connections. These are the connections which have been ignored due to multi-edges or multiple connections between containers. Gets the root Node of this Graph (assuming that the Graph is tree). If there is no root Node, returns null. Defines the properties used during the extraction of a graph from the diagram control. Initializes a new instance of the class. Gets or sets whether the containers are considered as black-boxes or whether they have to be ignored and all normal shapes in the diagram are organized. If set to true shape containers will not be taken into account and all children inside a (possibly nested) container will be organized independently of their parent container as part of the global layout. If this property is set to false the can additionally layout the content on top of the global layout. Gets or sets whether the non-visible diagram items have to be taken into account. If set to true shapes with Visibility not set to Visible will be ignored. Gets or sets whether the children inside the containers have to be organized. This property only makes sense if the is set to false, since otherwise the children are anyway organized as part of the global layout. Base graph class for the various incarnations in the graph analysis. The graph is directed by default (IsDirected = true) The adjacency structure is not centralized but resides in the Outgoing and Incoming collection attached to the Nodes. The data type of the node which should be an implementation of the INode{TNode,TLink} interface and have a parameterless constructor. The data type of the edge which should be an implementation of the IEdge{TNode,TLink} interface and have a parameterless constructor. Graph{TNodeData,TLinkData} The field. Initializes a new instance of the class. Initializes a new instance of the class. The graph content to start with. Note that references will be added, not clones. Gets whether this graph is connected. See also this article; . A graph is connected if every two vertices are connected by a path. A connected graph has only one component. true if this instance is connected; otherwise, false. Gets whether the graph is acyclic. If there are no cycles in a graph it's acyclic. A cycle means a closed path or loop. See also the article; . true if this instance is acyclic; otherwise, false. Gets whether the graph is hamiltonian. An Hamiltonian cycle is a cycle which contains all nodes of the graph. If there is at least one such cycle the graph is called Hamiltonian. See also the article . true if this instance is acyclic; otherwise, false. Gets or sets the links of this graph. The links collection. Gets whether this graph is directed. Gets or sets the nodes of this graph. The nodes collection. Adds a link to this graph. The source of the link. The sink of the link. The added link. Adds the given link to the graph. It will add the sink and source nodes to the collection if they are not yet part of it. The link to add. The added link. Adds the given node to the graph. The node to add. Adds a series of nodes to the graph. The nodes. Returns whether the given nodes are connected in one direction or the other. Because the structure allows multigraphs the connectedness means there is at least one link between the given nodes. A node. Another node. If set to true the first node has to be the source of the link and the second the sink.. true If there is a link connecting the given nodes with the first one as source and the second as sink, false if both options have to be considered. Returns whether the given nodes are connected in one direction or the other. Because the structure allows multigraphs the connectedness means there is at least one link between the given nodes. The id of the first node. The id of the second node. If set to true the first node has to be the source of the link and the second the sink.. true If there is a link connecting the given nodes with the first one as source and the second as sink, false if both options have to be considered. Assigns to each link and node an identifier based on their collection listIndex. Clones this instance. Finds the edge with the specified identifiers. The id of the source. The id of the sink. If set to true the found link has to go from nodeId1 to nodeId2. Finds the node with the specified identifier. The id to look for. Attempts to find a tree root by looking at the longest paths in the graph. The algorithms looks for all shortest paths between all vertices, which means it will also function for disconnected graphs but will return the root of the tree with longest path. A tree root or null is none was found. Returns the bounding rectangle of this layout graph. The include Links. Returns the connected components of this graph. The list of connected components. Gets the next identifier of the nodes sequence. The id. Ensures the unique identifiers. Ensures that the graph nodes all have a unique identifier assigned. If the nodes do have unique identifiers nothing will be altered. Returns the number of (connected) components. The following example create two components; var g = new GraphBase<Node, Edge>(); for (var i = 0; i < 4; i++) g.AddNode(new Node(1, true)); g.AddLink(g.Nodes[0], g.Nodes[1]); g.AddLink(g.Nodes[2], g.Nodes[3]); var count = g.NumberOfComponents(); . Returns the number of connected components. The component map as a dictionary where the key is the node identifier and the value is the number of the connected component to which the node belongs. Detaches all links from from the given node and removes them from the graph structure. The node. Removes the link from the graph. The link. Removes the given node from this graph. The node to remove. Assigns a new identifier to the nodes. The number to start the numbering from. Returns a string representation of the incidence structure of this graph. A diagram with links between identifier 1 and 2, 2 and 3, 3 and 4 will result in a string {"1,2", "2,3", "3,4"}. ToLinksList Returns the links structure of this graph as a list of identifier tuples. Returns a that represents this instance. A that represents this instance. Is a linear ordering of its vertices. The sorting is not unique. The graph has to be acyclic in order to have a topological sort. The sorting works on disconnected graphs. The topologically sorted sequence of node identifiers or null is the graph has cycles. Gets the shortest path lengths between each two vertices. A dictionary keyed with the node id's and value equal to the path lengths. Returns whether the two nodes with specified ide's are the in same component. The id1. The id2. Returns the shortest path between two nodes using the Dijkstra algorithm. From id. To id. Finds the longest path in this (directed acyclic) graph. A list of identifiers corresponding to the path, or null if the graph has cycles. Iteratively assigns a component listIndex to the connected nodes of the given node. Initially the Indices collection needs to be initialized with -1 to set the nodes which haven't been visited. The visiting process is really a DFT of the connected nodes starting from a given node and keeping track of the visited item via the assigned component map. The indices is the list of component indices mapped to the node indices. The node id being assigned currently. Index of the current component. Iterative function helping with the topological sort, see the public overload of TopologicalSort. The current node id. The result of the sorting (up to this point). The handled sequence. The visit sequence. The handled counter. The static graph-analysis related extensions. The rand. Performs a breadth-first traversal of the graph starting at the given node. The type of the node. The type of the link. The graph to traverse. The visitor traversing the graph. The start node. See . Performs a breadth-first traversal of the graph starting at the given node. The type of the node. The type of the link. The graph to traverse. The action acting a the visited node. The start node. See . Performs a BFT of the given graph starting at the given node and stops when the first node matching the condition is found. The type of the node. The type of the link. The graph to traverse. The condition a node has to satisfy to be return and thus halt the traversal. The start node. See . Assigns tree-levels to the nodes. The type of the link data. The graph. The start node. The nodes which have already been visited. The offset. Returns a shallow clone from the given collection. The node data type. The link data type. The collection to clone. Returns an array of the specified size. The size. The Graph value of the elements in the array. Returns an array of the specified size. The first dimension. The second dimension. The Graph value of the elements. Creates a bi-directional dictionary with keys equal to the (supposedly unique) identifiers and value equal to the provided initial value. The type of the node. The type of the link. The graph. The value. Creates a random graph with a specified amounts of components. The number of component. Creates a dictionary with keys equal to the (supposedly unique) identifiers and value equal to the provided initial value. The type of the node. The type of the link. The graph. The value. Creates a random connected graph. The nodes count. The max incidence. If set to true the random graph will be effectively a tree. Creates a balanced tree. The levels. The siblings count. Creates a forest of balanced trees. The levels. The siblings count. The tree count. Creates a random graph. The count. The maximum incidence of each node. If set to true the generated graph will be a tree. Performs a depth-first traversal of the graph starting at the given node. The type of the node. The type of the link. The graph to traverse. The visitor. The start node. See . Performs a depth-first traversal of the graph starting at the given node. The type of the node. The type of the link. The graph. The visitor. The start node. Performs a depth-first traversal of the graph starting at the given node. The type of the node. The type of the link. The graph. The action. The start node. Performs a depth-first traversal of the graph starting at the given node. The type of the node. The type of the link. The graph. The action. The start node. Finds cycles in a graph using Tarjan strongly connected components algorithm. The type of the node. The type of the link. The graph. If set to true nodes with no edges are excluded. A list of of vertex arrays (paths) that form cycles in the graph. Compares the two graph and assert they are identical. Kruskal algorithm. . The type of the node. The type of the link. The graph. Merges the given graph into the current graph. The graph. The graph to merge into the current one. Offsets the specified graph. The node data type. The link data type. The layout Graph. The horizontal offset. The vertical offset. Moves link. The node data type. The link data type. The layout link. The delta to move. Offsets the given rectangle. The rectangle. The horizontal offset. The vertical offset. Parses the specified list representing the incidence structure of a graph. The list of link couples. The graph corresponding to the incidence structure given. Returns the position of the given rectangle. The rectangle. Prim's algorithm finds a minimum-cost spanning tree of an edge-weighted, connected, undirected graph. The type of the node. The type of the link. The graph structure. The node to start from. If set to true and the graph is not directed then the edges which do not point in the correct tree flow direction will be reversed. See . Splits the given, not necessarily connected, graph into its connected components. The node data type. The link data type. The graph to be split. Takes a random node with incidence less than specified. The graph. The node which should not be returned; i.e. the random node should be in the complement of the given node. The incidence less than. Takes two random nodes from the given graph. The graph. Executes Tarjan algorithm on the graph. The node data type. The link data type. See . If set to true single items (singletons) will not be taken into account. The node to start with. The current indices. The current low links. The connected components. The stack. The current index. If the first supplied rectangle has width or height zero the second rectangle will be returned. Otherwise the standard union of two rectangles will be used. A rectangle. Another rectangle. Returns a shallow clone from the given collection. The node data type. The link data type. The collection to clone. The fetch node. The graph. The incidence. Offsets the link's points by the specified amount. The node data type. The link data type. The layout link. The horizontal offset. The vertical offset. The index inside the point collection from which to start the offset. The index inside the point collection where the offset should end. Separates the various graph components from the given graph. The node data type. The link data type. The Graph which should be separated. A mapping (functor actually) from one graph to another. The type of the node. The type of the link. Initializes a new instance of the class. Initializes a new instance of the class. Gets or sets the edge morphism between the links. The edge morphism. Gets or sets the target of the morphism. The graph. Gets or sets the node morphism between the nodes. The node morphism. A path consists of a series of adjacent links. Initializes a new instance of the class. Initializes a new instance of the class. The path from which a clone will be taken as a starting point for this path. Gets or sets the nodes of this path. The nodes this path is made of. Gets length of this path (i.e. the amount of links). Gets or sets the collection of nodes and links this path is made of. Gets or sets the links of this path. The links this path is made of. Adds a links and a node to this path. The layout link. The node. Adds a link to this path. The link. Adds a node to this path. The node. Reverses the nodes sequence. An object-object dictionary which returns null in case a key is not found (the normal dictionary does throw an exception in this case). Initializes a new instance of the class. Gets or sets the with the specified key. Represent the hierarchy of layout graphs through the hierarchy defined by the containers. The root is the global layout at the top level and if no containers are present or if the children of containers need not be organized this HyperTree will contain only one node, the root. The type of the node data. The type of the link data. Graph analysis link description. The type of the node. The type of the link. Gets or sets the identifier of this link. The identifier. Gets or sets the sink of this link, i.e. the node at the end of the link. The sink node. Gets or sets the source of this link, i.e. the node at the beginning of the link. The source. Gets the weight of this link. Returns a shallow copy of this link. Gets the other node of this link. The complementary node which defines this link. Inverts this link by changing its direction. Graph analysis node description. The type of the node. The type of the link. Gets all links bounds to this node. All links. Gets or sets the bounding rectangle. This defines the location as well as the size of the shape as a result of a layout process. The bounding rectangle. Gets or sets the (supposed unique) identifier. The identifier of this node. Returns the total number of links attached. Gets the incoming links, i.e. the links towards this node. The incoming links. Gets or sets whether this node is the root of a tree. true if this instance is root; otherwise, false. Gets the outgoing links, i.e. the links leaving this node. The outgoing. Gets or sets a value indicating whether this node is part of directed graph. true if this instance is directed; otherwise, false. Gets the children nodes attached to this node. A child is defined as the opposite node from an edge starting at this node. If the graph is not directed this will return the same collection as the and the property, i.e. all the nodes attached to the this node. The children collection. Gets the parent nodes attached to this node. A parent is defined as the opposite node from an edge ending at this node. If the graph is not directed this will return the same collection as the and the property, i.e. all the nodes attached to the this node. The parent collection. Neighbors Children Gets the nodes adjacent to this node, i.e. both the and nodes. All the neighbors nodes of this node. Parents Children Returns a shallow copy of this node. Removes a link from this node. The link. Adds an incoming link. The link to add. Adds an outgoing link. The link to add. Removes an incoming edge. The edge to remove. Removes the given outgoing edge. The edge to remove. Default implementation of the interface. The type of the payload. The type of the link data. The field. The field. Initializes a new instance of the class. Initializes a new instance of the class. The shape this node is based on. Initializes a new instance of the class. The shape. If set to true [is directed]. Initializes a new instance of the class. The identifier. If set to true the links are considered as directed and is the same as the or collections. Gets or sets the data or payload carried by this node. The data. Get the shape associated with this layout shape. Gets or sets the geometric center of this ControlShape. Returns the total number of links attached. Gets or sets whether this node maps to a container or a collection of physical shapes. Gets or sets whether this node is a tree-root. This property only makes sense in a tree-context. Use a spanning tree algorithm to extract a tree from a generic graph if necessary. true if this instance is root; otherwise, false. Gets all the links of this node. Gets or sets the bounding rectangle of the shape. Gets or sets Id. Get the node's incoming links. If the node is directed (i.e. IsDirected = true) then this collection is the same as the AllLinks collection. Do not add links to this collection but use the method in order to update the related properties (, ...). Get the node's outgoing links. If the node is directed (i.e. IsDirected = true) then this collection is the same as the AllLinks collection. Do not add links to this collection but use the GraphBase{TNode,TLink}.AddLink(TNode,TNode) method in order to update the related properties (AllLinks, Outgoing...). AddLink(TNode,TNode) Incoming Gets whether this node's links are directed. true if this instance is directed; otherwise, false. Gets the children nodes attached to this node. A child is defined as the opposite node from an edge starting at this node. If the graph is not directed this will return the same collection as the and the property, i.e. all the nodes attached to the this node. The children collection. Gets the parent nodes attached to this node. A parent is defined as the opposite node from an edge ending at this node. If the graph is not directed this will return the same collection as the and the property, i.e. all the nodes attached to the this node. The parent collection. Neighbors Children Gets the nodes adjacent to this node, i.e. both the and nodes. All the neighbors nodes of this node. Parents Children Returns a (shallow) copy of this node. Returns a copy of this node, including the references of incoming and outgoing edges. It does not however clone beyond these collections. Removes a link. The link. Adds an incoming link. The link to add. Adds an outgoing link. The link to add. Removes an incoming edge. The edge to remove. Removes the given outgoing edge. The edge to remove. Transfers the bounds to the associated shape, if possible. Transfers the center to the associated shape, if possible. Gets the bounds from the associated shape, if possible. Gets the bounds from the associated shape. Utility class to help find paths and cycles in a graph. Finds the longest path in the graph. The layout graph which contains all the info we need. The path coupling contains a trail of the computation. Initializes a new instance of the class. Gets or sets Current. Gets or sets New. A visitor which encloses a standard action. The data type. Initializes a new instance of the class. The action. Gets a value indicating whether this instance has completed. true if this instance has completed; otherwise, false. Visits the specified object. The object. Base implementation of the interface. The data type contained in this collection. Initializes a new instance of the class. Initializes a new instance of the class. The comparer to use when comparing items. is a null reference (Nothing in Visual Basic). Initializes a new instance of the class. The comparison. A custom comparison between some search value and the type of item that is kept in the tree. The type of the search. Gets the comparer. The comparer. Gets the count. Gets a value indicating whether this instance is empty. true if this instance is empty; otherwise, false. Gets a value indicating whether this instance is read only. true if this instance is read only; otherwise, false. Gets the height. Gets the maximum. Gets the minimum. Gets or sets the binary tree. Adds the specified item. The item. Clears this instance. Determines whether the item is in this tree. The item. true if [contains] [the specified item]; otherwise, false. Copies to. The array. Index of the array. Depth first search traversal. The visitor. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Gets the ordered enumerator. Removes the specified item. The item. Finds the maximum node. The start node. The maximum node below this node. Finds the minimum node. The start node. The minimum node below this node. Adds the item. The item. Clears all the objects in this instance. Notes to Inheritors: Derived classes can override this method to change the behavior of the method. Find the maximum node. The maximum node. Find the minimum node. The minimum node. Finds the node containing the specified data key. The item. The node with the specified key if found. If the key is not in the tree, this method returns null. Finds the node that matches the custom delegate. The type of the search. The value. The custom comparison. The item if found, else null. Removes the item from the tree. The item to remove. An indication of whether the item has been removed from the tree. Visits the node in an in-order fashion. The node. The visitor. Standard implementation of a binary tree. The data type on which the tree is based. Initializes a new instance of the class. The data. The left. The right. Initializes a new instance of the class. The data. The left. The right. Gets the number of children at this level, which can be at most two. Gets or sets the data of this tree. The data. Gets the degree. Gets the height. Gets whether both sides are occupied, i.e. the left and right positions are filled. true if this instance is full; otherwise, false. Gets a value indicating whether this tree is empty. true if this instance is empty; otherwise, false. Gets whether this is a leaf node, i.e. it doesn't have children nodes. true if this instance is leaf node; otherwise, false. Returns false; this tree is never read-only. true if this instance is read only; otherwise, false. Gets or sets the left subtree. The left subtree. Gets the parent of the current node. The parent of the current node. Gets or sets the right subtree. The right subtree. Gets the root of the binary tree. Gets the parent. Gets the at the specified index. Adds the given item to this tree. The item to add. Adds an item to the . The subtree. The is read-only. The is full. is null (Nothing in Visual Basic). Performs a breadth first traversal on this tree with the specified visitor. The visitor. is a null reference (Nothing in Visual Basic). Clears this tree of its content. Returns whether the given item is contained in this collection. The item. true if is contained in this collection; otherwise, false. Copies the tree to the given array. The array. Index of the array. Performs a depth first traversal on this tree with the specified visitor. The ordered visitor. is a null reference (Nothing in Visual Basic). Seeks the tree node containing the given data. The value. Finds the node with the specified condition. If a node is not found matching the specified condition, null is returned. The condition to test. The first node that matches the condition supplied. If a node is not found, null is returned. is a null reference (Nothing in Visual Basic). Gets the left (index zero) or right (index one) subtree. The index of the child in question. The child at the specified index. There are at most two children at each level of a binary tree, the index can hence only be zero or one. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Removes the specified item from the tree. The item to remove. Removes the specified child. The child. Returns whether the child was found (and removed) from this tree. Removes the left child. Removes the left child. Returns a that represents this instance. A that represents this instance. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Removes the specified child. The child. Finds the maximum height between the child nodes. The maximum height of the tree between all paths from this node and all leaf nodes. Adds an item to the . The sub tree. implementation based on a . The data type being compared. Initializes a new instance of the class. The comparison. Gets or sets the comparison used in this comparer. The comparison used in this comparer. Compares the given items. The x. The y. A visitor which encloses a standard action. The data type. Initializes a new instance of the class. The action. Gets a value indicating whether this instance has completed. true if this instance has completed; otherwise, false. Visits the specified object. The object. The height. An implementation of the Heap data structure. See . The type of item stored in the . The comparer. The internal list. The ordering type. Initializes a new instance of the class. The type. Initializes a new instance of the class. The type. The capacity. Initializes a new instance of the class. The type. The comparer. Initializes a new instance of the class. The type. The capacity. The comparer. Initializes a new instance of the class. The type. The comparer. Initializes a new instance of the class. The type. The capacity. The comparer. Gets the number of items in this heap structure. Gets a value indicating whether this instance is empty. true if this instance is empty; otherwise, false. Returns false; the heap is never read-only. true if this instance is read only; otherwise, false. Gets the root of the heap. Gets the type of heap. The type of heap. Adds the given item to the heap. The item to be added. Clears this heap of all data. Returns whether the given item is in the heap. The item to test. true if contained in this heap; otherwise, false. Copies the heap data to an array. The array. Index of the array from which the copying starts. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Removes the root from the heap. Returns a that represents this instance. A that represents this instance. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Removes the specified item from the heap. The item. The remove. Adds the given item to the heap. The item. Clears all the objects in this instance. Notes to Inheritors: Derived classes can override this method to change the behavior of the method. Removes the root item and arrange the tree in the heap. Describes a DFT visitor to a data structure. The type of objects to be visited. Gets whether this visitor has finished. Assigning this value is important to break the traversals when searching. true if this instance is done; otherwise, false. Visits the specified object. The object to visit. The height in the DFT. Interface introducing pre-visit and post-visit actions. The data type being visited. Pre-visit action. The item. Post-visit action. The item. Describes data structures used for searching. The data type. Gets the maximal item in the tree. The maximum item in the tree. Gets the smallest item in the tree. The smallest item in the tree. The is empty. Performs a depth first traversal on the search tree. The visitor to use. is a null reference (Nothing in Visual Basic). Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. An interface for the tree data structure. The type of elements in the tree. Gets the data held in this node. The data. Gets the degree of this node. The degree of this node. Gets the height of this tree. The height of this tree. Gets a value indicating whether this instance is leaf node. true if this instance is leaf node; otherwise, false. Gets the parent of the current node. The parent of the current node. Adds the specified child to the tree. The child to add.. Finds the node for which the given predicate holds true. The condition to test on the data item. The fist node that matches the condition if found, otherwise null. Gets the child at the specified index. The index. The child at the specified index. Removes the specified child. The child. An indication of whether the child was found (and removed) from this tree. Describes a visitor to a data structure. The type of objects to be visited. Gets whether this visitor has finished. Assigning this value is important to break the traversals when searching. true if this instance is done; otherwise, false. Visits the specified object. The object to visit. A comparer of key-value pairs based on a comparison of the respective keys. The type of the key. The type of the value. Initializes a new instance of the class. Initializes a new instance of the class. The comparer. Initializes a new instance of the class. The comparison. Compares the two key pairs. The x. The y. Compares the two values. The x. The y. A visitor that tracks (stores) keys from KeyValuePairs in the order they were visited. The type of key of the KeyValuePair. The type of value of the KeyValuePair. Gets a value indicating whether this instance has completed. true if this instance has completed; otherwise, false. Gets the trail of the values. The value list. Gets the trail of the keys. The keys list. Visits the specified key pair. The object. A mutable tuple of dimension one. The data type of the first item. Initializes a new instance of the class. The item1. Gets or sets the first item. The item1. A mutable tuple of dimension two. The data type of the first item. The data type of the second item. Initializes a new instance of the class. The item1. The item2. Gets or sets the second item. The item2. A mutable tuple of dimension three. The data type of the first item. The data type of the second item. The data type of the third item. Initializes a new instance of the class. The item1. The item2. The item3. Gets or sets the third item. The item3. A mutable tuple of dimension one. The data type of the first item. The data type of the second item. The data type of the third item. The data type of the fourth item. Initializes a new instance of the class. The item1. The item2. The item3. The item4. Gets or sets the fourth item. The item4. A mutable tuple of dimension four. The data type of the first item. The data type of the second item. The data type of the third item. The data type of the fourth item. The data type of the fifth item. Initializes a new instance of the class. The item1. The item2. The item3. The item4. The item5. Gets or sets the fifth item. The item5. A mutable tuple of dimension six. The data type of the first item. The data type of the second item. The data type of the third item. The data type of the fourth item. The data type of the fifth item. The data type of the sixth item. Initializes a new instance of the class. The item1. The item2. The item3. The item4. The item5. The item6. Gets or sets the sixth item. The item6. A mutable tuple of dimension seven. The data type of the first item. The data type of the second item. The data type of the third item. The data type of the fourth item. The data type of the fifth item. The type of the sixth item. The type of the seventh item. Initializes a new instance of the class. The item1. The item2. The item3. The item4. The item5. The item6. The item7. Gets or sets the seventh item. The item7. A mutable tuple of dimension eight. The data type of the first item. The data type of the second item. The data type of the third item. The data type of the fourth item. The data type of the fifth item. The data type of the sixth item. The data type of the seventh item. The data type of the eighth item. Initializes a new instance of the class. The item1. The item2. The item3. The item4. The item5. The item6. The item7. The item8. Gets or sets the eighth item. The item8. An empty, mutable tuple. Creates a 1-muple. The type of the 1. The t1. Creates a 2-muple. The type of the 1. The type of the 2. The t1. The t2. Creates a 3-muple. The type of the 1. The type of the 2. The type of the 3. The t1. The t2. The t3. A 2-tuple comparer assuming that the first entry acts as a comparable key. The type of the key. The type of the value. Initializes a new instance of the class. Initializes a new instance of the class. The comparer. Gets the default comparer for the type of association specified. The default comparer. Compares the two objects. The x. The y. Compares the two values. The x. The y. node colors. Red. Black. Enumerates the two ways a data structure orders its elements. Specifies that the element with the minimum priority will pop first in the data structure. Specifies that the element with the maximum priority will pop first in the data structure. Priority queue implementation based on a . See . The data type of the value. The data type of the priority indicator. The current priority type for the queue. The RedBlack tree list this queue is based on. Initializes a new instance of the class. Type of the queue. Initializes a new instance of the class. Type of the queue. The comparer. Initializes a new instance of the class. Type of the queue. The comparison. Gets the number of elements still in the queue. Gets or sets the default priority when an item is added. The default value is zero if not set. The default priority. Gets false since this queue is never read-only. false. Adds the specified item to the queue. The item. Adds the specified items to the priority queue with the specified priority. The items. The priority. is a null reference (Nothing in Visual Basic). Clears this queue of all its items.. Returns whether the given item is present in the queue. The item. true if the queue contains the given item; otherwise, false. Copies the content of the queue to the given array. The array. Index of the array. Dequeues the item at the front of the queue. The item at the front of the queue. Dequeues the item from the head of the queue. The priority of the item to dequeue. The item at the head of the queue. The is empty. Enqueues the specified item. The item. Enqueues the specified item. The item. The priority. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Returns an enumerator that iterates through the keys in the collection. A that can be used to iterate through the keys in the collection. Removes the items with the specified priority. The priority. The items with the specified priority. Peeks at the item in the front of the queue, without removing it. The item at the front of the queue. Peeks at the item in the front of the queue, without removing it. The priority of the item. The item at the front of the queue. Pushes the specified item in the queue. The item. Adds an item to the . The object to add to the . The priority of the item. Removes the specified item from this queue. The item. Removes the first occurrence of the specified item from the property queue. The item to remove. The priority associated with the item. true if the item exists in the and has been removed; otherwise false. Removes the items with the specified priority. The priority. true if the priority exists in the and has been removed; otherwise false. Returns an enumerator that iterates through a collection. An object that can be used to iterate through the collection. Adds the item to the queue. The item to add. The priority of the item. Notes to Inheritors: Derived classes can override this method to change the behavior of the method. Adds the specified items to the priority queue with the specified priority. The items. The priority. Notes to Inheritors: Derived classes can override this method to change the behavior of the method. Checks if the list is not empty, and if it is, throw an exception. Clears all the objects in this instance. Notes to Inheritors: Derived classes can override this method to change the behavior of the method. Dequeues the item at the front of the queue. The item at the front of the queue. Notes to Inheritors: Derived classes can override this method to change the behavior of the or methods. Gets the next item. Removes the item. The item to remove. The priority of the item that was removed. An indication of whether the item was found, and removed. Removes the items from the collection with the specified priority. The priority to search for. An indication of whether items were found having the specified priority. A red�black tree is a type of self-balancing binary search tree, a data structure used in computer science, typically to implement associative arrays. The type of the key. The type of the value. Initializes a new instance of the class. Initializes a new instance of the class. The comparer. Initializes a new instance of the class. The comparison. Gets an containing the keys of the . Gets an containing the values in the . Gets or sets the value with the specified key. The key of the item to set or get. Adds an element with the provided key and value to the . The object to use as the key of the element to add. The object to use as the value of the element to add. Determines whether this tree contains the given item. The item. true if the item is in this tree; otherwise, false. Determines whether the contains an element with the specified key. The key to locate in the . True if the contains an element with the key; otherwise, false. is null. Removes the element with the specified key from the . The key of the element to remove. True if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original . is null. The is read-only. Attempts to the get value. The key. The value. Red-Black tree data structure. The data type contained in the tree. Initializes a new instance of the class. The default comparer for the data type will be used. Initializes a new instance of the class. The comparer. Initializes a new instance of the class. The comparison. Adds an element with the provided key and value to the . The item. Removes the element with the specified key from the . The item to remove. true if the element is successfully removed; otherwise, false. This method also returns false if key was not found in the original . Perform a double rotation on the node provided.. The node on which to focus the rotation. The direction of the rotation. If direction is equal to true, a right rotation is performed. Other wise, a left rotation. The new root of the cluster. Determines whether the specified node is black. The node. true if the specified node is black; otherwise, false. Determines whether the specified node is red. The node. true if the specified node is red; otherwise, false. Perform a single rotation on the node provided.. The node on which to focus the rotation. The direction of the rotation. If direction is equal to true, a right rotation is performed. Other wise, a left rotation. The new root of the cluster. A recursive implementation of insertion of a node into the tree. The start node. The item. The node created in the insertion. Initializes a new instance of the class. Determines whether the specified value contains value. The value. true if the specified value contains value; otherwise, false. Returns an enumerator that iterates through the collection. A that can be used to iterate through the collection. Gets the value enumerator. An enumerator to enumerate through the values contained in this instance. Removes the specified value. The value. The key under which the item was found. A value indicating whether the item was found or not. Traverses the items. A predicate that performs an action on the list, and indicates whether the enumeration of items should stop or not. An indication of whether the enumeration was stopped prematurely. An item/node of the can obviously only have at most two children, hence the inheritance from the . The data type in the node. Initializes a new instance of the class. The data contained in this node. Gets or sets the color of the current node. The color of the node. Gets or sets the left subtree. The left subtree. Gets or sets the right subtree. The right subtree. The reverse comparer. The data type being compared. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. Initializes a new instance of the class. The comparer. Gets or sets the comparer used in this instance. The comparer. Compares the specified x. The x. The y. The compare. This visitor keeps a trail of the visited item in the . The data type of the visitor. Initializes a new instance of the class. Gets a value indicating whether this visitor has completed. true if this instance has completed; otherwise, false. Gets the tracking list. The tracking list. Visits the specified object. The object. Combines a bit of info in function of routing. Gets or sets the item rectangle. The item rectangle. Gets or sets whether the connector is bound to a shape. true if this instance is free; otherwise, false. Gets or sets the position. The position. Gets or sets the orientation. The orientation. Implements the operator ==. Implements the operator !=. Determines whether the specified is equal to this instance. The to compare with this instance. True if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents an extended connection router. Gets the route points and the start and end connectors. The connection. Represents a connection router. Gets the route points. The connection. Whether the last line segment should be shown. Classic tree node implementation. The type of the node. Initializes a new instance of the class. The parent. Initializes a new instance of the class. The parent. The data. Gets or sets the children of this node. The children. Gets or sets the data (payload). The data. Gets or sets the parent of this node. The parent. Data bucket similar to a but based on a link rather than a parent property. The type of the node. The type of the link. Initializes a new instance of the class. Initializes a new instance of the class. The node. The link. Gets or sets the node. The node. Gets or sets the link. The link. Represents an async state command. Initializes a new instance of the class. The name or title of the command. The redo or execute method. The undo or rollback method. The method returning whether the command can be executed. Gets a value indicating whether this instance is committed. Completes the execution. True, if the command should be committed. The state. The change source undoable command. Initializes a new instance of the class. The connection. The source connector. The new source point. The undo action. The redo action. Executes the specified state. Redoes this instance. Undoes this instance. The change target undoable command. Initializes a new instance of the class. The connection. The target connector. The new target point. The undo action. The redo action. Executes the specified state. Redoes this instance. Undoes this instance. Names of commands (undoable actions). The AddShape action. The AddShapes action. The RemoveShape action. The RemoveShapes action. The AddConnection action. The AddConnections action. The RemoveConnection action. The RemoveConnections action. The MoveItem action. The MoveItems action. The ResizeItem action. The ResizeItems action. The BringToFront action. The BringForward action. The SendBackward action. The SendToBack action. The DropIntoContainer action. The RemoveItemFromContainer action. The DeleteItems action. The PasteItems action. The CutItems action. The RotateItem action. The RotateItems action. The EditItem action. The ChangeSource action. The ChangeTarget action. The ModifyConnection action. The ModifyConnectionConnectionPoints action. The DiagramLayout action. The group action. The Ungroup action. The DrawShape action. Represents a composite async command. Initializes a new instance of the class. The name or title of the composite action. The execute action. The undo action. The CanExecute action. Gets a value indicating whether this instance is committed. Executes the specified state. The state associated with the execution. Unwinds an undoable action. Completes the execution. True, if the command should be committed. The state. Adds a command to the composite command. Inserts a command into the composite command at specific index. Represents a composite command. Initializes a new instance of the class. The name or title of the composite action. The execute action. The undo action. The CanExecute action. Gets the commands. Executes and undoable action. Executes the specified state. Unwinds an undoable action. Returns boolean value indicating whether this command can be executed. Adds a command to the composite command. Inserts a command into the composite command at specific index. Removes a command from the composite command. The command. Clears the commands from the composite command. Base class for undoable actions based on delegates. Initializes a new instance of the class. The name. The shape. If set to true [is complete]. The old state. The new state. The execute. The undo. The can execute. Gets the shape. Gets the old state. Gets the new state. Gets a value indicating whether this instance is complete. Base implementation of the undo redo interface. Initializes a new instance of the class. The name. Initializes a new instance of the class. The name. The graph item. Gets or sets the name. The name. Gets the graph item. Executes and undoable action. Executes the specified state. Determines whether this instance can execute. true if this instance can execute; otherwise, false. Unwinds an undoable action. Undoable group action. Initializes a new instance of the class. The service. Name of the group. The items. Gets the group. Executes the specified state. Executes and undoable action. Unwinds an undoable action. Undoable shape manipulation action. Initializes a new instance of the class. The name. The shape. The old position. The old size. The old angle. Executes the specified state. Redoes this instance. Undoes this instance. Undoable move action. Initializes a new instance of the class. The name. The shape. The old location. The new location. Executes the specified state. Redoes this instance. Undoes this instance. Base class for undoable actions based on delegates. Initializes a new instance of the class. The name or title of the command. The redo or execute method. The undo or rollback method. The method returning whether the command can be executed. Gets or sets the name. The name. Unwinds an undoable action. Executes an undoable action. Executes an undoable action. Gets a value indicating whether this command can be executed. Undoable group action. Initializes a new instance of the class. The service. The groups. Executes the specified state. Executes and undoable action. Unwinds an undoable action. Main MVC controller. The view type is based on an interface in function of platform independence. Creates the undoable connection. The source. The target. Begins the connection creation. The connection. Completes the connection creation. The connection. Creates the undoable connection. The start point. The end point. Creates an undoable geometry shape. Creates an undoable geometry shape. Begins the shape creation. The shape. Completes the shape creation. The shape. Called when Items collection changes. The instance containing the event data. Called when graph source changes. The source. Adds the connection. The connection. If set to true [is undoable]. Adds the shape. The shape. If set to true [is undoable]. Adds the shape. The item. If set to true [is undoable]. If the item is null. Removes the connection. The connection. If set to true [is undoable]. Removes the shape from the diagram. The shape to be removed. If set to true the action will be recorded in the undo stack. Creates the connection in graph source. The source. The target. Creates the shape in graph source. The shape. Creates the connection. The source. The target. If set to true [is undoable]. Activates the tool. The mouse tool. Aligns the shapes to the most left/top/right/bottom edge defined by the selection bounds. Determines whether alignment should be calculated towards left/top/right/bottom edge. The shapes. Snaps the items based on the snap value. The action is enclosed in a undoable command and supports undo/redo. Changes the tool. Label of the tool. Organizes the diagram using the specified layout. The layout type to apply. The settings specific to the layout type. Forces the realization. Called when key down event is fired. The key args. Called when key up event is fired. The key args. Called when the left mouse button is down. The e. Handles the mouse double click event. The e. Called when the mouse moves. The e. Called when the mouse left button is up. The e. Clears the diagram and resets the document. The diagram is not saved prior to this reset. You need to handle in the application the eventual necessity to save (or request the user) the diagram before this. Clears the shapes. Clears the connections. Creates a copy of the diagram in the clipboard. Pastes a diagram, serialized in the clipboard. Cuts the items. Deletes the items. The items to delete. If set to true [is undoable]. Returns the serialized diagram as an XML-string. Loads the serialized diagram. A string supposedly containing some XML representing a serialized diagram. Serializes this instance. Deserializes the specified info. The info. Groups the selected shapes. The name. If set to true the operation [is undoable]. The items. Ungroups the specified items. Brings the selected items to front. Brings the selected items forward. Sends selected items backward. Nudges (i.e. a small amount of translation) the selected items with the specified amount. This is an undoable action and plugs into the same mechanism as the . The amount defined as a point (vector). Sends selected items to back. Selects a specific item. Deselects a specific item. Checks if the diagram item is in the viewport. Called when the bounds have changed. Merges the items in the diagram. The items. The origin id. If set to true the given will be used. The position. The size. Gets the isolated storage store. Returns the isolated storage store. Initializes a new instance of the class. The graph internal. The container generator. Gets the service locator. Represents a container service. Creates the connection. The source. The target. Creates the connection. The start point. The end point. Begins the connection creation. The connection. Completes the connection creation. The connection. Creates an undoable text shape. Creates an undoable geometry shape. Begins the shape creation. The shape. Completes the shape creation. The shape. Represents alignment options. Left align. Center align. Right align. Top align. Middle align. Bottom align. The types of bridges or crossings. No crossings will be displayed. The classic half-circle. A gap will display the intersection. The type of the connection's cap. No type. Arrow1 type. Arrow1 filled type. Arrow2 type. Arrow2 filled type. Arrow3 type. Arrow4 type. Arrow4 filled type. Arrow5 type. Arrow5 filled type. Arrow6 type. Arrow6 filled type. Represents a connection route of intermediate points, start and end connectors. Initializes a new instance of the class. Initializes a new instance of the class. The intermediate points. Initializes a new instance of the class. The intermediate points. The start connector. The end connector. Gets or sets the intermediate points. Gets or sets the end connector. Gets or sets the start connector. The start connector. The type of the connection. Polyline connection type. Bezier connection type. The canonical spline interpolates smoothly between the intermediate connection points without the usage of handles like the type. Predefined positions of a connector in a shape. The connection's connector is calculated. The connection is bound to the left of the shape. The connection is bound to the top of the shape. The connection is bound to the right of the shape. The connection glides along the edge of the shape. This connector does not have a relative position on the shape or absolute position with respect to the surface. The connection is bound to the bottom of the shape. Determines whether the specified connector is custom. The connector. true if the specified connector is custom; otherwise, false. Gets the known offset. The name of a connector. Note that the gliding connector return double.NaN since it's not located anywhere on the shape but rather spread among the edge of it. The offset with respect to the shape. If the connector is not a known connector an exception will be thrown. Returns whether the given connector name is one of the predefined connector positions. The name of a connector. Orientation of the custom connector points used in custom scenarios. The connection's bound to the Bottom Left with an offset to the right. Gets the known offset. The name. Gets the known offset. The name. Data bucket holding the result of a data transfer from a to a diagramming object. This is used in conjunction with the in relation to a clipboard or a dragdrop transfer. Initializes a new instance of the class. Gets or sets the diagram id from where the came from, if any. Gets or sets the transferred diagram items. Gets or sets the size of the shape. Gets or sets the serialized diagram. Gets or sets the image. Gets or sets the text. Global constants. Gets or sets the container margin. The margin around the selected shapes. Gets or sets the snapping angle when rotating items. Gets or sets the radius of the connection bridge or gap. Gets or sets the connection corner radius. The connection corner radius. Gets or sets the default offset when the Bezier handles are automatically calculated according to the connector's position. The value around the shapes, which the router inflates the shapes with if implemented. This property is used by the InflatedRectRouter and the AStarRouter. The routing grid size. The minimum zoom level. The maximum zoom level. The default zooming factor. The factor is used as a multiplier or divider to produce the new zoom. The minimum distance to start a drag action. The distance around each item which is considered selectable. The radius around connector where connection can attach. The distance, within which the shape's connectors are visible. The minimum size of the item adorner. The minimum size of item. Gets the segment step. The minimum distance from a connection to a given shape so that snapping occurs. Set of all allowed serialization types. By default, the specific UI product should define all allowed default types. For example in WPF these are all UI container types - shapes, connections, connectors. Safe serialization assemblies stored as [AssemblyName - PublicKeyToken] pairs. If no token is set, assembly is considered safe. If token is set, it must match the public key token of the assembly of the type that is currently being deserialized. Diagram events. The shape adding event. The shape added event. The shape removed event. The connection adding event. The connection added event. The connection removed event. The shape serializing event. The shape deserializing event. The shape clicked event. The shape double-clicked event. The connection serializing event. The connection deserializing event. The connection manipulation completed event. The connection manipulation started event. The connection manipulating event. The rotation event. RotateDelta event. The rotating event. The resize event. The resize delta event. The resizing event. The drag event. DragDelta event. The dragging event. The panning event. The PanDelta event. The pan event. The TextShapeCreated event. The position changed event. The selection bounds changed event. Before select event. Select event. The command executing event. The command executed event. The zoom changed event. The viewport changed event. The snapping lines calculated event. GroupSelectionChanged event. GroupsChanged event. Layout diagram event. The metadata serialized event. The metadata deserialized event. The PreviewAdditionalContentActivated event. The AdditionalContentActivated event. Generic direction enumeration. The Up direction. The Down direction. The Right direction. The Left direction. Groups the Drawing Shape attached properties: Stroke, StrokeThickness, Fill, FillRule, IsShapeFilled, IsShapeClosed. The Stroke of the shape in drawing adorner. The StrokeThickness of the shape in drawing adorner. The Background of the shape in drawing adorner. The FillRule of the shape in drawing adorner. Determines whether the shape in drawing adorner is closed. Determines whether the shape in drawing adorner is filled. Represents a drawing state. Initializes a new instance of the class. Gets or sets the anchor points. Gets or sets the control points. Represents a single unit used for drawing a shape with Path or Pencil tools. Gets or sets the anchor point1. Gets or sets the anchor point2. Gets or sets the control point1. Gets or sets the control point2. Gets a value indicating whether this instance is line. Gets a value indicating whether this instance is complete. Creates this instance. Creates the specified anchor point1. The anchor point1. The control point1. Creates the specified anchor point1. The anchor point1. The anchor point2. The control point1. The control point2. Creates a collection of segments given a list of anchor and control points. Gets the segments rectangle. The segments. Finds the normalization point of a given set of segments. Gets the bounds. Gets the path segment. The normalization point. Represents the execute action of the command. Execute action. Undo action. Redo action. UndoRedoService cleared action. Defines the different shapes along which a gliding connection will glide. The connections attached to a gliding connector will glide along a rectangle with dimensions equal to the bounds of the shape. The connections attached to a gliding connector will glide along an ellipse with dimensions equal to the bounds of the shape. The connections attached to a gliding connector will glide along a rhombus (diamond polygon) with dimensions equal to the bounds of the shape. The connections attached to a gliding connector will glide along a right triangle with dimensions equal to the bounds of the shape. The connections attached to a gliding connector will glide along a triangle with dimensions equal to the bounds of the shape. Object encapsulates information about horizontal line used in snapping to items. The start point of the line. The end point of the line. Interaction events. Mouse down event. Mouse move event. Mouse up event. Collection changed event. Represents possible virtualization state particular item could be in. Represents the state when the item is realized and visible and participates in the layout. Represents the state when item is not visible and does not participate in the layout. Represents the state when item is virtualized. It is not not visible and does not participate in the layout. The type of a manipulation point. Intermediate connection point. The first manipulation point. The last manipulation point. The handle to translate a segment horizontally and vertically. The bezier start point handle. The bezier end point handle. The bezier handle of an intermediate point. Represents a connection manipulation status. Attaching to shape. Detaching from shape. Moving. Moved. Enumeration of orientations or directions. The horizontal orientation. The vertical orientation. Properties names. Position property. Source property. Target property. StartPoint property. EndPoint property. ConnectionType property. Bounds property. Visibility property. RotationAngle. Selected. GroupName. Parent. Group. IsInEditMode. IsInEditMode. Identifies the ContainerShape's IsCollapsed property. The rectangle selection options. Full selection mode - the bounds of the item should be fully inside the rectangle selection. Partial selection mode - the bounds of the item should overlap with the rectangle selection. Resizing directions. NorthWest to SouthEast. NorthEast to SouthWest. SouthEast to NorthWest. SouthWest to NorthEast. Represents the selection mode options. Single selection mode - only one selected item is allowed. Multiple selection mode. Extended selection mode. No selection - no selected items are allowed. Represents selection state options. None. Single state. Multiple state. Constants used in the (de)serialization. The Id constant. The diagram constant. The Label constant. The ZIndex constant. The Position constant. The PositionX constant. PositionX is removed and Position should be used instead. The PositionX constant. PositionY is removed and Position should be used instead. The Position constant. The Visibility constant. The Metadata constant. The Shapes constant. The Groups constant. The Group constant. The Size constant. The Zoom constant. The Version constant. The Title constant. The Description constant. The Connections constant. The Connectors constant. The BezierStartPoint constant. The BezierEndPoint constant. The BezierTension constant. The IsModified constant. The Items constant. The QualifyingName constant. The ContainerItems constant. The IsCollapsible constant. The IsCollapsible constant. The QualifyingNames constant. The TypeName constant. The IsRotationEnabled constant. The IsResizingEnabled constant. The Source constant. The Target constant. The SelectionMode constant. The IsSnapEnabled constant. The IsBackgroundSurfaceVisible constant. The SnapX constant. The SnapY constant. The connection bridges constant. The connection routing constant. The polyline rounded corners constant. The StartPoint constant. The EndPoint constant. The StrokeThickness constant. The ConnectionType constant. The ConnectionPoints constant. The TargetCapSize constant. The TargetCapType constant. The RotationAngle constant. The SourceConnectorPosition constant. The TargetConnectorPosition constant. The SourceCapType constant. The SourceCapSize constant. The Geometry constant. The Image constant. The Content constant. The Background constant. The foreground constant. The font size constant. The font weight constant. The font family constant. The BorderBrush constant. The Stroke constant. The StrokeDashArray constant. The Thickness constant. The Color constant. The Angle constant. The Offset constant. The GradientStops constant. The GradientStop constant. The SolidColorBrush constant. The LinearGradientBrush constant. The RadialGradientBrush constant. The Origin constant. The RadiusX constant. The RadiusY constant. The IsEditable constant. The IsDraggingEnabled constant. The IsPanEnabled constant. The IsZoomEnabled constant. The IsManipulationAdornerVisible constant. The IsConnectorsManipulationEnabled constant. The AllowDelete constant. The AllowCut constant. The AllowCopy constant. The AllowPaste constant. Height. Width. MinWidth. MinHeight. MaxWidth. MaxHeight. GroupName. StrokeDashArrayValueSeparator. ConnectorsSeparator. ConnectorsSeparator. UseGlidingConnector. UseDefaultConnectors. GlidingStyle. ConnectorName. UseFreeConnectors. BackgroundGridCellSize. BackgroundGridLineStroke. BackgroundGridLineStrokeThickness. BackgroundGridLineStrokeDashArray. A wrapper for the (de)serialization data. Initializes a new instance of the class. Type of the owner. Initializes a new instance of the class. Name of the node. Type of the owner. Initializes a new instance of the class. Label of the node. Gets or sets the type of the owner. The type of the owner. Gets the node namespace. Gets or sets the name of the node. The name of the node. Gets or sets the with the specified property name. Creates the items info. The serialization string. Creates the diagram info from the given string which supposedly contains a diagram serialization (XML) string. The serialization string. Creates the metadata info. The serialization string. Returns the XML of this serialization information. Gets the string. Merges the current with the specified instance. Gets the stream. Returns a that represents this instance. A that represents this instance. Extracts the attributes from the element and puts them into the . The serialization info to populate. The element to extract the attributes from. Verifies that the specified serialization string is XML. The serialization string. The XML. Represents the connections types. Outgoing connections. Incoming connections. Both incoming and outgoing connections. This class holds the shape's metadata. Initializes a new instance of the class. The position. The size. The angle. Gets or sets the position. The position. Gets or sets the size. The size. Gets or sets the angle. The angle. Object encapsulates information about vertical line used in snapping to items. The start point of the line. The end point of the line. Represents a dictionary that holds WeakReferences to its values. Initializes a new instance of the WeakReferenceDictionary class. Gets the number of elements contained in the dictionary. Gets an ICollection containing the keys of the dictionary. Gets an ICollection containing the values in the dictionary. Gets a value indicating whether the dictionary is read-only. Gets or sets the value associated with the specified key. Adds the specified key and value to the dictionary. The key. The value. Determines whether the dictionary contains the specified key. The key. Removes the value with the specified key from the dictionary. The key. Gets the value associated with the specified key. The key. The value. Adds an element with the provided key and value to the dictionary. The item. Removes all keys and values from the dictionary. Determines whether a sequence contains a specified element. The item. Copies the elements of the dictionary to an array, starting at a particular index. The array. Index of the array. Removes the first occurrence of a specified object from the dictionary. The item. Returns an enumerator that iterates through the dictionary. Returns an enumerator that iterates through a collection. Initializes a new instance of the class. The old value. The new value. Gets the old value. Gets the new value. Event args that can be canceled. Initializes a new instance of the class. Gets or sets a value indicating whether this is cancel. true if cancel; otherwise, false. Generic args that can be canceled. The type of parameter. Initializes a new instance of the class. Initializes a new instance of the class. The entity. Gets or sets a value indicating whether this is cancel. True if cancel; otherwise, false. Initializes a new instance of the class. Initializes a new instance of the class. The mouse position. Gets the mouse point. The mouse point. Initializes a new instance of the class. The current mouse position. The start mouse position. Gets or sets the start mouse position. The start mouse position. Represents Command event args. Initializes a new instance of the class. The entity. The action. Gets or sets a value indicating whether this is cancel. True if cancel; otherwise, false. Represents Command event args. Initializes a new instance of the class. The entity. The action. Gets the execute action. Initializes a new instance of the class. The diagram item. Gets the diagram item. Initializes a new instance of the class. The items. Gets the rotating items. The event argument supplied when the diagram layout event is raised. Initializes a new instance of the class. The old positions of the shapes. The new positions of the shapes. The layout type to apply. The settings specific to the layout type. Gets the type of the layout algorithm that has been applied. Gets the layout settings specific to the applied layout type. Gets state and the positions of shapes before the layout was applied. Gets state and the positions of shapes after the layout was applied. Represent dragging event args. Initializes a new instance of the class. The items. Initializes a new instance of the class. Initializes a new instance of the class. The old position. The new position. The items. Gets or sets the drop over shape. The drop over shape. DrawingEventArgs. Initializes a new instance of the class. Gets the anchor points. Gets the control points. Gets the shape. Gets a value indicating whether this instance is completed. Gets a value indicating whether this instance is undoable. Gets a value indicating the name of the current tool. T. Initializes a new instance of the class. Initializes a new instance of the class. The entity. Gets or sets the entity. The entity. Initializes a new instance of the PropertyEventArgs class. Name of the property. The old value. The new value. Gets or sets the old value. The old value. Gets or sets the new value. The new value. Initializes a new instance of the class. The items. Initializes a new instance of the class. The items. The mouse position. Gets the mouse position. The mouse position. Initializes a new instance of the class. The key. Initializes a new instance of the class. The key. The isFocusWithinItem parameter. Gets or sets the key. The key. Gets or sets whether the focus is in some of the diagram items. Represents manipulation event args. Initializes a new instance of the class. The manipulation point. The connector. The current position. The status. Gets the connection. Gets the manipulation point. Gets the shape. Gets the current position. Gets the manipulation status. Gets the connector. Gets or sets a value indicating whether this is canceled. Initializes a new instance of the class. The entity. Initializes a new instance of the class. Initializes a new instance of the class. The old offset. The new offset. Gets or sets the old offset. The old offset. Gets or sets the new offset. The new offset. Initializes a new instance of the class. The point. The transformed point. IsTouchInput. Gets or sets the point. The point. Gets or sets the transformed point. The transformed point. Gets or sets a value indicating whether the mouse input is promoted from touch input. IsTouchInput. Initializes a new instance of the class. The old position. The new position. The items. Gets the old value. Gets the new value. Initializes a new instance of the class. Name of the property. Gets the old value. Represent resizing event args. Initializes a new instance of the class. The items. Initializes a new instance of the class. The items. The new bounds. Initializes a new instance of the class. The items. The new bounds. The mouse position. Gets the new bounds. Initializes a new instance of the class. Initializes a new instance of the class. The old position. The new position. The items. Initializes a new instance of the class. The old position. The new position. The items. The mouse position. Initializes a new instance of the class. The items. The old position. The new position. The mouse position. The manipulation adorner's position offset. Gets the old angle. Gets the new angle. Gets or sets the adorner's position offset. The new bounds. Initializes a new instance of the class. The removed items. The added items. Gets the removed items. Gets the added items. Gets or sets the Handled property. Selection event args. Initializes a new instance of the class. The removed items. The added items. Gets the removed items. Gets the added items. Serialization event args. The type of the serialized object. Initializes a new instance of the class. The entity. The serialization info. Gets the serialization info. Initializes a new instance of the class. The old service. The new service. Gets the old service. Gets the new service. Event arguments containing information about snapping lines. The vertical snapping lines. The horizontal snapping lines. A collection of generic extensions used across the codebase. Adds the given range of items to the current collection. A collection to be augmented with the given items. The new items to add. Will be raised if either the or the is null. Checks for the occurrence of the given items in the collection. A collection to be tested for the given items. The other collection. True if the specified collection contains any of the items; otherwise, false. Will be raised if either the or the is null. Executes the action for each item in the collection. The collection to iterate. The action to execute on each item. Will be raised if either the or the is null. Sets the value of the property if it's hasn't that value currently. The dependency object. The dependency property. The value to set if currently different. Return true if the value was set. Will be raised if either the or the is null. The can however be set to null. Removes the last item in the list. The data type of the list. The list. Will be raised if the underlying is null. Ensures that the list contains at least the amount of specified items. If not, the given factory function will be used to add additional items till the expect count is reached. The data type of the list. The list to check. The expected count. The factory function if more items need to be created. Returns true if additional items had to be added. Will be raised if the underlying is null. Ensures the list has exactly the amount of items specified. The data type of the list. The list to check. The expected count. The factory function if more items need to be created. Returns true if items had to be removed in order to have the expect count. Will be raised if the underlying is null. Clears the property if a value has been set. The dependency object. The dependency property to clear. Returns true if the value has been cleared. Will be raised if either the or the is null. Clones the list of doubles and returns a . The list to clone. The cloned list. Clones the list. The data type of the list. The list to clone. The cloned list. Will be raised if the underlying is null. Gets the if the given item is an , otherwise the 's will be returned. An item. Indicates whether to get the actual (rotated) shape bounds or the normal bounds. Gets the enclosing bounds of the list of diagram items. The diagram items. If set to true [is graph virtualized]. Indicates whether to get the actual (rotated) shape bounds or the normal bounds. Returns whether according to the virtualization the given item is visible. A diagram item. If set to true the item's will be queried. Returns true if the specified item is visible; otherwise, false. Utilities and extension methods related to connections. Returns all the points of this connection, i.e. the start and end points together with the intermediate connection points. The connection. Calculates the middle point of line. The connection end points. The points of interest (points where the line is curved/segmented). Shifts the by adding or substracting the vector. The start/end points are not taken into account here. The connection. to shift. If set to true points will be transformed to global coordinates. If set to false, then the coordinates will be relative to the connection. Gets the connection end points. The connection. If set to true the points will be in global coordinates. If set to false, then the coordinates will be relative to the connection. Returns the number of segments defined by the intermediate points. The connection. Gets the default handle bezier points. The connection. The cached start point. The cached end point. The source connector center. The target connector center. Gets the bezier default handle point. The entry point. The end point (opposite of the ). The center of the connectors. Gets the bezier default handle point. The entry point. The end point. The connector center. The bezier tension. Sets the connection points. The connection. The connection points. Coerces the bezier handle point. The bezier point. The bezier handle point. The tension. Gets the neighboring manipulation points. The point. Determines whether the specified connection is floating, i.e. whether one or the other end is not attached to a shape. A connection. true if the specified connection is floating; otherwise, false. Defines the dash style of a pen. Initializes a new instance of the DashStyle class. Initializes a new instance of the DashStyle class. Gets or sets the distance from the start of a line to the beginning of a dash pattern. Gets or sets a collection of double values that indicate the pattern of dashes and gaps that is used to outline shapes. Gets or sets the unique identifier of the style. The id. Returns the dash style with the specified identifier (if it exists). The id. Creates an exact copy of this pen. An instance of the Pen class. Returns a that represents this instance. A that represents this instance. Extensions on the IGroup interface. Gets the bounds of a specific group. Gets all the items insider the specific group. Gets all the items inside the specific group. The group. Gets the items. The group. Gets the items. The group. Adds to group. The group. The items. Removes from group. The group. The items. Selects the group and all it's children. The group. If set to true [is selected]. Gets the first (lowest in the hierarchy) group which groups both given shapes. A diagram item. Another diagram item. Returns whether the group contains in its hierarchy the given item. The group. The item to test for. Gets or sets the hue. The hue. Gets or sets the saturation. The saturation. Gets or sets the luminance. The luminance. Implements the operator ==. The color1. The color2. The result of the operator. Implements the operator !=. The color1. The color2. The result of the operator. Determines whether the specified is equal to this instance. The to compare with this instance. True if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents graph extensions. Calculates the enclosing bounds. The graph. If set to true shapes will be included in the bounds calculation. If set to true connections will be included in the bounds calculation. Rectangle enclosing all items. Gets all graph items - shapes and connections. Gets the connections in sub graph - collection of shapes. The graph. The shapes. Gets the connections for shape. The diagram. The shape. Gets the connections for shape. The diagram. The shape. Gets the incoming connections for shape. The diagram. The shape. Gets the outgoing connections for shape. The diagram. The shape. Structure wrapping point and its manipulation type. Initializes a new instance of the struct. The point. Type of the point. Returns the point. Returns the manipulation type. Implements the operator ==. The first point. The second point. The result of the operator. Implements the operator !=. The first point. The second point. The result of the operator. Determines whether the specified is equal to this instance. The to compare with this instance. True if the specified is equal to this instance; otherwise, false. Returns a hash code for this instance. A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. Represents a result of snapping match operation. Initializes a new instance of the struct. Gets or sets the delta between matched objects. Gets the matching points between matched objects. Add a point to the matching points collection. Extensions for the Point class. Determines whether the specified point is empty. The point. True if the specified point is empty; otherwise, false. Determines whether [is X between] [the specified point]. The point. The first point. The second point. true if [is X between] [the specified point]; otherwise, false. Determines whether [is Y between] [the specified point]. The point. The first point. The second point. true if [is Y between] [the specified point]; otherwise, false. Snaps a point by changing the X and Y coordinates to the closest value dividable by the snapping value. The point. The horizontal snapping value. /// The vertical snapping value. Returns the snapped point. Adds the specified point and vector together. The Vector struct and its operations. A point. A vector. The augmented point. Adds the specified points together. A point. The point2. The augmented point. The Vector struct and its operations. Subtracts point2 from point1. Subtracts the specified point1. Multiplies the point with the specified multiplier. The point. The multiplier. Divides the point with the specified factor. The point. The factor. Rotates the point. The point. The pivot. The angle. Distance to rectangle. The point. The rectangle. Distances to rectangle. The point. The rectangle. Returns the distance of the point to the origin. The point. Returns the distance between the specified points. The start point. The end point. Methods related to the class. Simple RotateTransform. Gets whether the rectangle is fully in bounds of the hosting rectangle. The rectangle. The hosting rectangle. Returns true if the rectangle is fully inside the bounds for the hosting rectangle. Determines whether the bounds are valid. The bounds. Determines whether the specified rectangle is bigger. The rectangle. The target rectangle. True if the specified rectangle is bigger; otherwise, false. Rotates the specified rectangle. The rectangle. The angle. The offset vector. Rotates the specified rectangle. The rectangle. The pivot. The angle. Rotates the specified rect. The rect. The transformation origin. The angle. Rotates the specified rectangle. The rect. The angle. The pivot. Returns the top-left point of the rectangle. The current rectangle. Returns the top-right point of the rectangle. The current rectangle. Returns the bottom-right corner of the rectangle. The current rectangle. Returns the bottom-left point of the rectangle. The current rectangle. Centers the left. The rectangle. Centers the top. The rectangle. Centers the right. The rectangle. Returns the bottom center point. The rectangle. Returns the center of the specified rectangle. Returns the X coordinate of the centers. The rectangle. Returns the Y coordinate of the center. The rectangle. Returns the top left point. The rectangle. The angle. The rotation offset. The point offset. Returns the rotated top left point. The rect. The transform origin. The angle. The point offset. Returns the top right point. The rectangle. The angle. The rotation offset. The point offset. Returns the rotated top right point. The rect. The transform origin. The angle. The point offset. Returns the bottoms right point. The rectangle. The angle. The rotation offset. The point offset. Returns the rotated bottom right point. The rect. The transform origin. The angle. The point offset. Returns the bottom left point. The rectangle. The angle. The rotation offset. The point offset. Returns the rotated bottom left point. The rect. The transform origin. The angle. The point offset. Returns the rotated center point. The rectangle. The angle. The offset vector. Returns the rotated center point. The rect. The transform origin. The angle. Returns the rotated left center point. The rectangle. The angle. The offset vector. Returns the rotated top center point. The rectangle. The angle. The rotation offset. The point offset. Returns the rotated top center point. The rect. The rotation origin. The angle. The point offset. Determines whether the specified rect1 contains the rect2 parameter. Centers the right. The object. The angle. The offset vector. Centers the bottom. The rectangle. The angle. The offset vector. Rotations the point. The rectangle. The angle. The offset vector. Gets the relative point against the rectangle by offset. The rectangle. The offset. Around the point. The origin point. The point. The delta. Determines whether [contains] [the specified rectangle]. The rectangle. The point. The transformation origin. The angle. True if [contains] [the specified rect]; otherwise, false. Determines whether [contains] [the specified rect]. The rect. The point. The angle. True if [contains] [the specified rect]; otherwise, false. Intersects with. The shape bounds. The rectangle to intersect with. The rotation angle of the shapeBounds. Determines whether the start bounds intersect with the given rectangle. The start bounds. The transformation origin. The rectangle. The angle. Returns whether the polyline intersects the rectangle. The rectangle to test intersection with. The polyline which potentially intersects the rectangle. Returns the index in the list at which the given points intersects the polyline. The rectangle test point. The polyline. Returns whether the given rectangle intersects the current one. The first rectangle. The queried rectangle which potentially intersects. Toes the size. The rectangle. Offsets the specified rectangle. The rectangle. The offset vector. Offsets the current rectangle with the specified values. The rectangle to offset. The horizontal offset. The vertical offset. Inflates the given rectangle with the specified amount. Inflates the given rectangle with the specified amount. Inflates the specified rectangle. The rectangle. The size. Inflates the specified rectangle. The rectangle. The left. The top. The right. The bottom. Calculates the pivot point of the specified rectangle. The rect. The transformation origin. Shrinks the specified rectangle. The rectangle. The left. The top. The right. The bottom. Intersects the line segment. Calculate the intersection point between an ellipse and a line segment. Determines whether the specified rect is zero - does not have size. The rectangle. True if the specified rect is zero; otherwise, false. Returns the point at an angle on the ellipse with axes specified by the given rectangle. Utilities related to (de)serialization. The QualifyingName separator constant. Gets the of the . The item to dehydrate. Gets the serializationInfo. The shape. Gets the serializationInfo. The connection. Gets the serialization info. The metadata. If set to true [only basic metadata]. Sets from serialization info. The item. The serialization item. Sets from serialization info. The shape. The serialization info. Sets from serialization info. The connection. The serialization info. Sets from serialization info. The metadata. The info. Sets from serialization info. The graph. The info. Gets the assembly names from the provided qualifying names. Utility class for shapes. Gets the nearest connectors for a connection. The connection. The start connector. The end connector. Gets the closest connector position which is not already used. Gets the closest connector position. The shape. The point. Gets the nearest connector. The shapes. The point. The delta. Gets the connectors' enclosing bounds. The shape. The enclosing bounds. Gets the absolute position of the connector in the given shape. The connector's name. The shape. Encapsulates snapping calculations. Gets the vertical axis matching between two items. Gets the horizontal axis matching between two items. Remove duplicated lines. Creates a new list containing only distinct lines. Duplicated lines are merged into a single line containing all snapped pairs. Remove duplicated lines. Creates a new list containing only distinct lines. Duplicated lines are merged into a single line containing all snapped pairs. Encapsulates info about diagram item required by the snapping/matching logic. Initializes a new instance of the struct. Gets the diagram item. Gets current cached item bounds. Global utilities and functions. An infinitesimal value. Approximates the arc. The topLeft. The bottomRight. The angle in degrees at which the arc starts. The angle in degrees at which the arc ends. Approximates the rounded rectangle. The x-coordinate. The y-coordinate. The width. The height. The radius of the rounding. Uppercases the first letter of the string. An arbitrary string. Approximates the rounded rectangle. Approximates the Bezier curve as segments represented by a series of points. The Bezier points. The quality of the approximation. The greater the value, the more accurate approximation (more approximated points). Returns whether the line (line segments) intersect and returns in the crossingPoint the actual crossing point if they do. The first point of the first line. The second point of the first line. The first point of the second line. The second point of the second line. The crossing point. Checks whether two values are close. The value1. The value2. Returns the barycentric coordinates as percentages with respect to the given rectangle. The real point. The rectangle which acts as a barycentric coordinate system. The percentages wrapped in a Point. The complementary method. Tells you whether the given value sits in the specified interval. The value. The lower. The upper. The opposite of the approximation method, this attempts to smoothen out the polyline to a Bezier curve. The polyline. Converts the Cartesian coordinates to polar coordinates. Given an interval and a value this will output the value which is closer to the given value. Given an interval and a value this will output the value which is closer to the given value. The value. The first choice. The second choice. The nearest value. The other value. Returns the point of the interval which sits the closest to the given point. The point seeking the closes neighbor. The first point in the interval. The second point in the interval. Constrains the specified value to the given interval. The value to constrain. The min. The max. Returns the dot product of the specified vectors. Returns the dot product of the specified points. Returns the squared distance between the given points. Determinants the specified point1. The point1. The point2. Calculates the point of the specified line segment which determines the distance from the specified point to the line segment. That is, the perpendicular projection onto the segment. The point outside the segment. The first point defining the segment. The second point defining the segment. Gets a double value from mantissa and exponent. The value. The exponential. Ensures the range. The value. The min. The max. Finds the angle between two points. Finds the angle between three points. Coerces the given angle. The return angle will be between 0 and 360. The angle. Finds the radian between two points. Finds the radian between three points. Finds the intersection point of the lines defined by the point pairs. The intersection point. If acceptNaN is true line1Start double.NaN is returned if they don't intersect. Gets the enumeration values. The type of the enumeration. Gets the only the child elements. The parent element. Gets the projected points of the specified point on the given rectangle. Gets the Bezier point at the specified value. The points. The segment. A value in the interval [0,1]. Gets a point from the minimum X and Y values from the specified points. The points. Gets a point from the maximum X and Y values from the specified points. The points. Gets the equal sides of a triangle from the Pythagor theorem. The hypotenuse. Gets the hypotenuse according to the Pythagoras theorem. The first side. The second side. Gets the normalization point. The points. Gets the normalized points. The points. Determines whether [has valid area] [the specified size]. The size. true if [has valid area] [the specified size]; otherwise, false. Hypotenuses the specified x. The x. The y. Determines whether [is less or equal] [the specified value1]. The value1. The value2. True If [is less or equal] [the specified value1]; otherwise, false. Determines whether [is less than] [the specified value1]. The value1. The value2. True if [is less than] [the specified value1]; otherwise, false. Determines whether [is less than or close] [the specified value1]. The value1. The value2. True if [is less than or close] [the specified value1]; otherwise, false. Determines whether [is greater than] [the specified value1]. The value1. The value2. True if [is greater than] [the specified value1]; otherwise, false. Determines whether [is greater than or close] [the specified value1]. The value1. The value2. True if [is greater than or close] [the specified value1]; otherwise, false. Determines whether the specified values are equal with Epsilon approximation. The first value. The second value. True if the specified values are equal with Epsilon approximation; otherwise, false. Determines whether the specified values are not equal with Epsilon approximation. The first value. The second value. True if the specified values are not equal with Epsilon approximation; otherwise, false. Returns whether the specified point is inside the ellipse defined by the specified rectangle. Determines whether [is point in rectangle] [the specified point]. The point. The size. true if [is point in rectangle] [the specified point]; otherwise, false. Determines whether the specified value is in the specified right open interval. Determines whether the specified value is in the specified closed interval. Determines whether [is very small] [the specified value]. The value. true if [is very small] [the specified value]; otherwise, false. Gets whether the value is double or infinity. Gets whether the value is NaN or infinite point. Determines whether [is finite double] [the specified x]. The x. True if [is finite double] [the specified x]; otherwise, false. Determines, given three points, if when travelling from the first to the second to the third, we travel in a counterclockwise direction. 1 if the movement is in a counterclockwise direction, -1 if not. Inverts the point. The point. Calculate the intersection point between a polyline and a line segment. Returns the point at an angle on the ellipse defined by the specified rectangle. The rect. The angle in degrees. Calculate the intersection point between an ellipse and a line segment. Calculates the intersection point between the specified rectangle and the line segment defined by the specified points. Determines whether the specified line segments intersect. True if the segments intersect, false if not. Moves the given point into the rectangle by taking the rectangle's intervals as limiting values for the point's coordinates. Any point. A rectangle which acts as limiting container. Linear interpolation between the two given values. The value to be returned when is zero. The value to be returned when is equal to one. The linear interpolation parameter which usually takes a value in the interval [0,1] but which works outside this range nevertheless. Linear interpolation between the two given points. The value to be returned when is zero. The value to be returned when is equal to one. The linear interpolation parameter which usually takes a value in the interval [0,1] but which works outside this range nevertheless. Linear interpolation between the two given vectors. The value to be returned when is zero. The value to be returned when is equal to one. The linear interpolation parameter which usually takes a value in the interval [0,1] but which works outside this range nevertheless. Returns the mirrored vector with respect to the X-coordinate. The vector to mirror. The mirrored vector. Returns the mirrored vector with respect to the Y-coordinate. The vector to mirror. The mirrored vector. Returns the opposite of point point with respect to specified line. Mirrors the point with respect to the given center. Returns the middle point between the given points. A point. Another point. Halfway between the two given points. Normalize the specified point1. The point1. The point2. Normalize the specified vector. The vector. Gets the nearest point. The point. The points. Normalizes the specified angle into the [0, 2Pi] interval. The angle. The normalize. Offsets the specified points. The points. The offset vector. Offsets the point collection. The points. The original points. The offset. Pushes the specified start point onwards in the direction specified by the vector and a length given. The start. The unit vector. The distance to push. Returns the perpendicular of the specified vector. A vector. Polar to cartesian coordinates conversion. The coordinate center. The angle. The polar radius. Finds the projection (point) of the given point on the line. Given rect1 percentage and a rectangle this will return the coordinates corresponding to the percentages given. A couple of values in percentage, e.g. a value of (50,50) will return the center of the rectangle. The size from which the point will be extracted. The point corresponding to the barycentric coordinates. Given a percentage and a rectangle this will return the coordinates corresponding to the percentages given. A couple of values in percentage, e.g. a value of (50,50) will return the center of the rectangle. The rectangle which acts as the barycentric system. The point corresponding to the barycentric coordinates. Gets a point extending the line by a specified distance. The start point. The end point. The distance. Rotates the points. Rotates the transform. The center. The angle. Safes the divide. The value1. The value2. The fallback. Returns zero within the given interval and +/-1 whether the value is above or below the interval. The argument of the function. The lower value of the interval. The upper value of the interval. Zero, -1 or +1 whether the value is below, inside, or above the interval. Returns the of the x,y values of the given point with respect to the boundaries of the specified rectangle. The point to test. The rectangle which acts as the domain of the stair function. Zero, -1 or +1 whether the coordinate is below, inside, or above the boundary of the rectangle. Swaps the values of the two numbers. A value. Another value. Swaps the values of the two points. A point. Another point. Determine whether point1 and point2 are on the same side of a line. Checks whether the segments defined by the specified point pairs intersect and returns the intersection point. Finds the intersection point of a shape and the line segment defined by the point and . The bounding rectangle of the shape. The rotation angle. The line point which is supposedly inside the shape defined by . The other line point which supposedly sits outside the bounds define by . The gliding style. Calculates the intersection points with each of the given segments and determines the one nearest to the first point. Returns true if a point (non-NaN values) is found, otherwise false. Gets the enclosing bounds of the points collection. The points collection. Approximates the ellipse defined by the given bounds. The bounds of the (not rotated) ellipse. The minimum length an approximating segment should have. Squares the specified value. Any value. Snaps the specified value. The value. The snapping value. Converts the point to a string representation. The point. Returns a string serialization of the given point collection. The points. Converts the point to a string representation. The size. Converts the double to a string representation. The value. Converts the integer to a string representation. The value. Converts the double collection to a string representation. The collection. Attempts to convert the given string to a points. The string representation of the point. The Point corresponding to the serialized form. Attempts to convert the given string to a list of points. The string representation of the points. The points corresponding to the serialized form. Sizes from string. DoubleCollection from a string representation. Converts the specified value from radians to degrees. Converts the specified value from degrees to radians. Returns a unit point in the direction defined by the given point. Returns the length of the given point considered as a vector. Return a rectangle located a (0.0) with the specified size. The s. A rectangle located at the (0.0). Returns value of the enumeration. The type of the enumeration. The value. Unions two rectangles. The first rectangle. The second rectangle. Union of the two rectangles. Returns the distance of the point to the origin. Returns a unit vector in the direction specified by the angle. The angle in degrees. A unit vector. Returns the vector between the two points. The point where the vector starts. The points where the vector ends. Gets the name of the assembly. The assembly. Arcs the convert. The rec. The start angle. The sweep. The start point. The outside point. If set to true [large arc]. The direction. Represents interface for getting adorner parts. Gets the resize handles activation radius. Gets the rotation handle activation radius. Gets the offset of the top left resize handle relative to top left adorner corner. Gets the offset of the top right resize handle relative to top right adorner corner. Gets the offset of the bottom left resize handle relative to bottom left adorner corner. Gets the offset of the bottom right resize handle relative to bottom right adorner corner. Gets the offset of the rotation handle relative to top center point. Gets the bounds of the rotation handle. Gets the bounds of the rotation handle. Represents an async state command. Occurs when the command is completed. Gets a value indicating whether this instance is committed. Completes the execution. True, if the command should be committed. The state. Describes and undo redo unit of work. Gets or sets the name. The name. Unwinds an undoable action. Executes an undoable action. Executes an undoable action. Returns boolean value indicating whether the Command can be executed or not. Represents interface for container node. Gets the items. Adds the item to its children. Removes the item from its children. Represents a drag drop aware item. Gets or sets whether drag-drop items in this container is possible. Called on drop. Called on drag leave. Called on drag enter. Gets the connection routing service. Gets the selection service. Gets the selection service. Gets the dragging service. Gets the undo redo service. Gets the hit test service. Gets the serialization service. Gets the rotation service. Gets the resizing service. Gets the manipulation point service. Gets the group service. Gets the manipulation service. Gets the virtualization service. Gets the segmentation service. Gets the container service. Gets the container service. Gets the data transfer service. Gets the layout service. Gets the tool service. Describes the elements of an MVVM graph source. Gets the links. Gets the items. Describes the elements of a generic MVVM graph source. The type of graph source. Gets the links. Gets the items. Represents a link between two shapes. Gets or sets the source. The source. Gets or sets the target. The target. Represents a link between two shapes. The type of link. Gets or sets the source. The source. Gets or sets the target. The target. Represents an observable graph source. You need to implement this interface in a scenario where the MVVM is bidirectional. Adds a link in the Links collection. The link. Adds a node in the Items collection. The node. Removes a link from the Links collection. The link. Removes a node from the Items collection. The node. Creates a node based on an associated shape. The associated shape. Returns the created node. Creates a link based on the associated source and target nodes. The source node. The target node. Returns the created link. Represents an item that supports property changed notifications. Occurs when a property value changes. Represents a serializable item. Serializes this instance. Deserializes the specified info. The info. Represents a serializable graph source. Serializes the node into the specific serialization info. The model. The info. Serializes the link into the specific serialization info. The link. The info. Deserializes the node from the specific serialization info. The shape. The info. Deserializes the link from the specific serialization info. The connection. The info. Represents a service locator. Occurs when a service is registered. Registers the default services. Registers new service. The service. Gets a service. Interface for manipulation support. Gets or sets a value indicating whether this instance is rotation enabled. True if this instance is rotation enabled; otherwise, false. Gets or sets a value indicating whether this instance is resizing enabled. True if this instance is resizing enabled; otherwise, false. Gets or sets a value indicating whether dragging is enabled. True if dragging is enabled; otherwise, false. Gets or sets a value indicating whether manipulation on the connectors is enabled. True if manipulation on connectors is enabled; otherwise, false. Gets or sets a value indicating whether the manipulation adorner is visible. True if the manipulation adorner is visible; otherwise, false. Gets or sets a value indicating whether deleting is allowed. True if deleting is allowed; otherwise, false. Gets or sets a value indicating whether cutting is allowed. True if cutting is allowed; otherwise, false. Gets or sets a value indicating whether copying is allowed. True if copying is allowed; otherwise, false. Gets or sets a value indicating whether pasting is allowed. True if pasting is allowed; otherwise, false. Interface for mouse over support. Gets a value indicating whether this instance is mouse over. Represents an item that supports rotation. Gets the actual bounds. Gets or sets the rotation angle. The rotation angle. Represents entity supporting virtualization. Get a value indicating item state regarding virtualization. Captures the layout state of a connection. Gets or sets the intermediate points. Global shape state information before and after a layout pass. Initializes a new instance of the class. Gets or sets the shape states. Gets or sets the connection states. Describes the layout service. Gets a value indicating whether the layout is currently busy organizing the diagram. Organizes the diagram using the specified layout. The layout type to apply. The settings specific to the layout type. The base class for all layout algorithms. The current horizontal offset. The current vertical offset. Initializes a new instance of the class. Gets or sets the margin of the layout. Builds the container hierarchy with the virtual root holding the top-containers. If no containers are present this will return null. The diagram control. Starts a layout pass. The diagram control which needs to be laid out. The parameterization of the layout. Layout of the specified container without iterating into possible children containers. The container to be organized. The settings. Post-processing after the layout algorithm completed. The diagram Control. The state of the diagram before layout is applied. The final state of the shapes in the diagram after layout. Whether to commit the batch. If set to true the layout transition will be animated. The layout type that has been applied. The layout specific settings used for the layout. Sets the stage for the layout. The on which the layout operates. The complementary EndLayout method Organizes the components in a grid. The components. The width of the grid. The margin or offset from the top and left of the surface for the collection of components. The individual components margin. Iterates the container layout to the child containers by organizing first the lowest level containers up to the given container. The container to organize, including its children. The settings to use. Moves the diagram to the computed offset. The graph which has been laid out. An extra offset. If set to true the links will be moved as well. Moves the component to the given offset. The layout graph. The offset. If set to true links will be moved as well. Depth-first traversal of the given container building up the container hierarchy. Diagram service managing the layout process. Initializes a new instance of the class. The graph. Gets a value indicating whether the layout is currently busy organizing the diagram. Organizes the diagram using the specified layout. The layout type to apply. The settings specific to the layout type. The diagram layout types you can use to organize a RadDiagram diagram. Sugiyama or layered layout. Tree layout and its variations. See also the types and the for a further specification of the tree type. Captures the essential information about a shape so that layout information can be recorded in the undo-redo stack and animation can be applied globally. Gets or sets the position. The position. Keeps the runtime layout data. The instance counter. Initializes a new instance of the class. Gets or sets the relative position with respect to the next layer. Gets or sets how many links are bound to this node from the next layer. Gets or sets a value indicating whether this instance is virtual. True if this instance is virtual; otherwise, false. Gets or sets the position of the node on the layer. The position. Gets or sets the layer id. The layer id. Gets or sets the relative position with respect to the previous layer. Gets or sets how many links are bound to this node from the previous layer. Gets or sets the id. The id. The Sugiyama or layered layout implementation. This algorithm has the following features; nodes are placed on layers crossings minimization: edge crossings are minimized minimum separation: on each layer, neighboring nodes are separated by at least a certain distance balance: parents are placed at the barycenter of their children proximity: neighboring nodes in the immediately upper layer are placed nearby For additional material on this algorithm, see: Wikipedia; "Graph drawing and applications" by Kozo Sugiyama, ISBN 981-02-4879-2. Page 29 to 35 gives a description of the algorithm. Starts a layout pass. The diagram control which needs to be laid out. The parameterization of the layout. Layout of the specified container without iterating into possible children containers. The container to be organized. The settings. Sugiyama layout of a single connected graph. The process consists of the following steps: layering: the longest path in the component determines the number of layers normalization: nodes ordering: positioning: the actual positions (or bounding rectangles) are set. Performs a layout pass on a connected component. The graph to rearrange. The layout settings. Returns the position of the node as an average of the future and past positions. The node. Moves the node to the right and returns true if this was possible. The node. The layer. Returns true if the shift was possible, otherwise false. Moves the node to the left and returns true if this was possible. The node. The layer. Returns true if the shift was possible, otherwise false. Places the nodes in function of the calculated ordinal on the layer and the settings of the layout. Gets sizes of the columns. Layout of a single layer. The layer to organize. If set to true we move down in the layer stack. Swaps a pair of nodes in a layer. Index of the layer. The Nth node in the layer. Swaps pairs in a layer to see if it reduces the crossings. This remediates the situations when nodes with identical incidence (local graph structure) are not positioned well by the previous crossing reduction step. The crossing reduction can indeed lead to equal position values (and hence next to another after the sorting) but crossings. Hence the swapping of neighbors and this extra step to reduce the crossings, if any. Recursively adds the children across layers. A node whose children might have to be added (initial the nodes from the longest path are used). Counts the number of links crossing between two layers. The layer index. Another layer index. Inserts dummy nodes to break long links. Removes the dummy nodes inserted earlier to break long links. The virtual nodes are effectively turned into intermediate connection points. Optimizes/reduces the crossings between the layers by turning the crossing problem into a (combinatorial) number ordering problem. Optimizes the crossings. The big trick here is the usage of weights or values attached to connected nodes which turn a problem of crossing links to an a problem of ordering numbers. The layer index. If set to true we move down in the layer stack. The number of nodes having moved, i.e. the number of crossings reduced. Updates the of all the nodes in the layer by taking an average weight of the linked nodes' position. The layer id. Updates the of all the nodes in the layer by taking an average weight of the linked nodes' position. The layer id. Checks the connected nodes on same layer. If any, we move them to the next layer. Compares nodes on the basis of their average order. Compares nodes on the basis of their relative median position (i.e. the average between the future and history weights). Contains settings for the class. Initializes a new instance of the class. Gets or sets whether the shape containers are ignored when laying out the graph. If false the shape containers will be considered as ordinary shapes in the tree layout process. You can additionally set the flag to perform a separate layout pass on the content of the containers. On the other hand, if this property is set to true the flag will have no effect since the layout process will be oblivious to the containers. Gets or sets whether the non-visible diagram items have to be taken into account. If set to true shapes with Visibility not set to Visible will be ignored. Gets or sets a value indicating whether the content of the containers is processed on top of the global layout. This flag has only an effect if is set to false. Gets or sets the orientation of the layout. The orientation in which the layout process should organize the diagram. Gets or sets the distance between nodes within a layer. Gets a value indicating whether IgnoreNodeSize. Gets or sets Margin. Gets or sets the component margin. The component margin. Gets or sets the margin of the whole diagram. The total margin. Gets or sets the distance between layers. Gets or sets the width of the components grid. The width of the components grid. Gets or sets whether layout changes are animated. Secondary specification of the layout in addition to the . The topmost child will be aligned with the parent. If the children are at the or this will furthermore specify that they should be placed underneath the parent rather than at the distance from the right, respectively left of the parent. An information class for the layout algorithms. Initializes a new instance of the class. The node. The position. Gets or sets the position. The position. Gets or sets the node. The node. The directions in which a tree-like structure is oriented. Children evolve to the left. Children evolve to the right. Children evolve upwards. Children evolve downwards. No direction specified, this usually means the root node and it's a mind mapping root. Radial layout. Undefine layout. Tree layout algorithms. Applies the tree layout to the given diagram. The diagram to organize. The settings to use. These settings are specific for the algorithm and need to be casted ( and ). Layout of the specified container without iterating into possible children containers. The container to be organized. The settings. Gets a spanning tree for the given root. The component. The root. Gets a spanning tree and the root of it. The component. The parameterization. The root. Layout components. The graph. The parameterization. The layout merged radially. The graph. The parameterization. Runtime layout data. Gets or sets the tree direction. Gets or sets the location. Gets or sets the children layout. Gets or sets the size. Gets or sets the size of the node. Gets or sets the sector angle. The sector angle. Gets or sets the angle to parent. Gets or sets the angle. Gets or sets the level with respect to the root. The tree layout algorithms. The graph. The max depth. The origin. The previous root. The theta 1. The theta 2. Initializes a new instance of the class. The settings. Gets or sets the center of the current layout. The center. Gets or sets Settings. A standard depth first traversal (DFT) of the tree starting from the given node. The node. The action. Gets the tree with the given shape as root of the tree. The shape. Performs a tree-layout of the tree-graph. A graph which is supposedly a tree. If not, please use the spanning tree algorithms (Kruskal or Prim). The root to be used as the starting point for the layout pass.. The tree layout settings. If none supplied defaults will be used, see the . Returns the actual size of the node. The given size is the allowed space wherein the node can lay out itself. The node. The maximum space given to this node wherein it can organize itself. Sets the children direction recursively. The shape. The direction. If set to true the given start shape will be set as well.. Sets the children layout recursively. The shape. The layout. If set to true the given start shape will be set as well. The layout is assigned starting from a certain level on, the node being level zero. Sorts the children on the basis of their layout angle. The n. The calculate angular bounds. The r. The calculate angular width. The n. The d. The calculate angular width. This method is called after the measure pass when the space available and the coordinate references are set. The given location is the reference point with respect to which the element and its potential children should be laid out. The p. Layout of tree-like structures (standard tree, mind map etc.). This will layout the children of the root underneath the root. Down. The layout left. The left. The layout radial tree. The layout right. The right. The layout up. The up. Performs a recursive layout of the given node. The n. The radius. The start angle. The end angle. Updates the location data using the polar coordinates. The node. The radius. The angle. The tip-over tree layout. The nodes for which the tip-over layout should be applied. The level from which the tip-over should be applied. A value of zero being the default and the node itself. Defines the parameters when applying a tree layout (or one of its variations). The roots of the forest. Initializes a new instance of the class. Gets or sets whether the non-visible diagram items have to be taken into account. If set to true shapes with Visibility not set to Visible will be ignored. Gets or sets whether the shape containers are ignored when laying out the graph. If false the shape containers will be considered as ordinary shapes in the tree layout process. You can additionally set the flag to perform a separate layout pass on the content of the containers. On the other hand, if this property is set to true the flag will have no effect since the layout process will be oblivious to the containers. Gets or sets a value indicating whether the content of the containers is processed on top of the global layout. This flag has only an effect if is set to false. Gets or sets the component margin. The component margin. Gets or sets the width of the components grid. The width of the components grid. Gets or sets the end angle of the radial layout. The radial layout allows you to use a sector instead of the full 360 degrees. This end angle defines the end of this sector. The start radial angle in radians. The default is two times Pi. The horizontal distance between siblings. When using radial layout on a forest one can either apply the layout to the trees connected via a fictive common root or apply the radial to each tree and layout each component on a grid. true if the trees need to be in one diagram layout; otherwise, false. Gets or sets the type of the layout. The type of the layout. The radial separation between layers. The radial distance between the root and the first level. Gets the roots of the forest. A forest is a collection of tree graphs. If you have one or multiple roots you can add them to this collection and they will be taken at the root for the layout. If not then the most probable tree root will be analyzed (on the basis of the longest path in the graph). Gets or sets the start angle of the radial layout. The radial layout allows you to use a sector instead of the full 360 degrees. This start angle defines the beginning of this sector. The start radial angle in radians. The default is zero. Gets or sets the margin of the whole diagram. The total margin. The horizontal offset of the children when in TipOverTree layout mode. The horizontal separation of the children when in TipOverTree layout mode. The vertical offset of the first child when in TipOverTree layout mode. Gets or sets the distance between layers. The vertical distance between parent and child. Gets or sets the level from which the tip-over arrangement should be applied. A value of zero means that the children underneath the root will have a tip-over arrangement, a value of one means the grand-children of the root will have this applied and so on. Gets or sets whether layout changes are animated. The different layout algorithms supported. The standard mind mapping layout. The standard mind mapping layout but with the two wings laid out vertically. Standard tree layout with the children positioned at the right of the root. Standard tree layout with the children positioned at the left of the root. Standard tree layout with the children positioned on top of the root. Standard tree layout with the children positioned below the root. Top-down layout with the children on the second level positioned as a tree view underneath the first level. Experimental radial tree layout. Unspecified layout. This is not an algorithm but just a tag for the host application to tell that the user has not specified any layout yet. Custom implementation geared towards tree layout. The type of the node. The type of the link. Initializes a new instance of the class. A strongly typed, readonly collection of instances. Initializes a new instance of the class. The list. An custom observable collection of connectors. Gets the with at specified position. Determines whether the collection contains a connector with the specified name. The name of a connector. true if it's contained in the collection; otherwise, false. Strongly typed collection of diagramming elements. Occurs when the collection has changed. Gets an item with the specified name. Raises the event. The instance containing the event data. Utility class capturing the metadata of a diagram. Initializes a new instance of the class. Gets or sets the title of the current diagram. The title of the diagram. Gets or sets the description of the current diagram. The description of the diagram. Gets or sets the identifier of the diagram. By default this is a generated Guid. The diagram identifier. Represents a group. Initializes a new instance of the class. The name of the new group. Occurs when the selected item within this group has changed. Occurs when the collection of items this group contains has changed. Occurs when a property value changes. Occurs when the group to which this item belongs has changed. Gets the items. Gets or sets the parent. The parent. Gets the name. Gets or sets a value indicating whether this instance is selected. True if this instance is selected; otherwise, false. Called when a property has changed. Name of the property. Strongly typed collection of instances. Initializes a new instance of the class. The list. Represents a collapsible item. Gets or sets a value indicating whether this item is collapsed. Represents a connection. Occurs when a manipulation point (an adorner of the connection which allows you to alter an intermediate connection point) is activated. Gets or sets a value indicating whether the default Bezier handles have been altered or an intermediate point have been added/removed. This property is set to true as soon as one of the Bezier handles has been manually modified or the intermediate points have changed. If this property is true the connection routing and the automatic bezier handles are halted. You re-enable this functionality by re-setting this property to false. Gets or sets whether the connection will choose free (not yet used) connector in the source / target shape when the source / target connector position is . Gets or sets the source shape of this connection. Gets or sets the position of the source connector. By default this is one of the standard position names defined in , but if one or more custom connectors are defined on the source shape this can be a custom connector name. Gets the actual source connector of this connection if the connector is dynamically assigned (). Gets or sets the position of where this connection starts. Gets the geometry of the connection. Gets or sets the target shape of this connection. Gets or sets the position of where this connection ends. Gets or sets the target connector position. By default this is one of the standard position names defined in , but if one or more custom connectors are defined on the target shape this can be a custom connector name. Gets the actual target connector of this connection if the connector is dynamically assigned (). Gets or sets the type of the source cap. The type of the source cap. Gets or sets the size of the source cap (source decorator or arrow head). Gets or sets the type of the target cap (target decorator or arrow head). Gets or sets the size of the target cap (target decorator or arrow head). Gets or sets the type of the connection. Gets the connection points. The positions are absolute coordinates with respect to the canvas. Gets or sets the Bezier tension. A value or zero turns the Bezier connection into a straight line, a value of one and above increase the sharpness of the Bezier curve. Gets or sets whether this connection will be automatically routed. Setting this property effects only and connections. Gets the manipulation points (the adorning elements of the connection which allow you to alter an intermediate connection point). Attaches the connection to specific source and target. The source connector to attach to. The target connector to attach to. Updates this connection. Should be set to true if any of the manipulation services (for instance , ) is active as a result of a user action. Updates the deferred geometry. The start point. The end point. The middle points. Adds an intermediate connection point. The (absolute canvas) position at which the new connection point should be added. Inserts the connection point after the specific index. The point to add. The index after which it will be positioned. The zero-position corresponds to the source points, the first position is the first intermediate point and the last index is the target point. Returns the information related to the crossing of this connection with other connections. Defines a manipulation adorner of an . Gets or sets the type of the manipulation. Gets or sets the position. The position. Gets the underlying connection. Gets or sets a value indicating whether this instance is manipulating. True if this instance is manipulating; otherwise, false. Gets or sets the visibility of this editing point. Updates the displayed element. Represents a connector point of a shape. Gets the name of the connector. This name is supposedly unique across a shape since it's used to access a connector. Gets or sets a value indicating whether this instance is active. True if this instance is active; otherwise, false. Gets the shape to which this connector belongs. Gets or sets the offset of the top-left corner of the shape. Its value range from 0 to 1. The offset. Gets the absolute or actual position of the connector with respect to the diagramming surface. Calculates the relative position of the connector. Size of the shape. Defines an item which can be part of a diagram container shape. Gets the parent container shape. The parent container. Defines a shape which acts as an items container for other shapes. Gets the children. Gets the items contained in this visual container. Gets or sets the items source for this container. Gets or sets a value indicating whether this container is collapsible. True if this instance is collapsible; otherwise, false. Gets the min bounds. The min bounds. Gets or sets the content bounds. Adds item to the Items collection. Adds items to the Items collection. Removes item from the Items collection. Removes items from the Items collection. Called when the items in the containers have been deserialized and added to the collection. Fits the size of the container to its children bounding box. Refreshes the container bounds after a manipulation. Defines an element which participates in the diagramming mechanics. Gets or sets whether the diagram entity is enabled. True if enabled; otherwise, false. Gets or sets whether the diagram entity is selected. True if selected; otherwise, false. Gets or sets a value indicating whether this instance is visible. True if this instance is visible; otherwise, false. Gets or sets the ZIndex of this instance. Gets the bounds. The bounds. Gets or sets whether this item is dynamically generated. If true then this item will not be serialized as part of the diagram. In some applications or embeddings of RadDiagram (e.g. workflows) there are shapes or connections which are generated as part of some layout or organization. In those cases it doesn't make sense to serialize the elements which are automatically generated as part of the application. By setting this property to true the serialization pipeline will omit the element. Gets the unique identifier of this entity. The RadDiagram framework will internally generate a as identifier. The uniqueness is crucial in the context of the (de)serialization. Gets or sets the unique name of this entity. A name for this entity. This property matches the property. Gets or sets the position. Gets or sets whether the instance in is edit mode. Gets or sets a value indicating whether editing is enabled on this item. Note that the similar higher-level can potentially overrule this setting. True if editing is enabled; otherwise, false. Gets or sets the center point of any possible render transform declared by System.Windows.UIElement.RenderTransform, relative to the bounds of the element. The render transform origin. Gets or sets the content. The property matches the property. Initializes the specified service locator and parent graph. The service locator. The diagram control. Defines an with geometry content. Gets or sets the geometry of the shape. Defines the diagramming control's API. Gets or sets the MVVM source of the diagram. Gets the shapes of the current diagram. Gets the connections in the current diagram. Gets the groups in the current diagram. Gets the metadata of the diagram. Gets or sets the current cursor. Gets a value indicating whether virtualization is switched on. True if this instance is virtualizing; otherwise, false. Gets or sets a value indicating whether the underlying graph structure is a directional graph (aka digraph). True if link directions are ignored; otherwise, false. Gets or sets whether the control has currently captured the mouse pointer. True if this instance is mouse captured; otherwise, false. Gets or sets the panning position. Gets the viewport rectangle. Gets or sets the zoom level. The default zoom level of 100% corresponds to a Zoom value of 1d. Values bigger than one will zoom into the diagram while values smaller than one will zoom out. Gets or sets the selection mode, i.e. how elements are being selected in responds to the overlap of a shape's bounds and the selection rectangle. Gets or sets a value indicating whether the background visual is visible. True if the grid is visible; otherwise, false. Gets or sets the horizontal snap value. Gets or sets the vertical snap value. Gets or sets a value indicating whether snapping is enabled. True if snapping is enabled; otherwise, false. Gets or sets a value indicating whether snapping of selected item(s) to the other items in the view port is enabled or not. Gets or sets a value indicating whether editing is enabled. Note that the similar lower-level will be overruled by this setting. True if editing is enabled; otherwise, false. Gets or sets whether items are selected if they are fully or partially contained in the selection rectangle. Gets or sets a value indicating whether panning is enabled. True if panning is enabled; otherwise, false. Gets or sets a value indicating whether zooming is enabled. True if zooming is enabled; otherwise, false. Gets all (shapes and connections) the diagram items. Adds a connection to the diagram. The source shape of this connection. The target shape of this connection. If set to true the addition will be recorded as undoable. Adds a new connection to the diagram. The connection to be added. If set to true the addition will be recorded as undoable. Adds a floating connection to the diagram. A floating connection is a connection which is not necessarily at its source or target attached to a shape. The source (starting) point of the connection. The target (end) point of the connection. True, if this action is undoable. Returns the added connection. Adds a new shape to the diagram. The shape to add. The position at which the newly created shape should be positioned. If set to true the addition will be recorded as undoable. Removes a shape from the diagram. The shape to be removed. If set to true the addition will be recorded as undoable. Removes a connection from the diagram. The connection to be removed. If set to true the addition will be recorded as undoable. Groups the given items in a new group with the specified name. Name of the group. The items to be grouped. Groups the given items in a new group with the specified name. Name of the group. If set to true the operation [is undoable]. The items to be grouped. Ungroups the specified groups. The groups. Ungroups the specified groups. If set to true the operation [is undoable]. The groups. Begins a batch transformation and signals the undo-redo stack that a batch of transformation should be considered as one, i.e. a composite change. Commits the batch transformation and ends the composite undo redo change. The initial state. The final state of the shapes after layout. If set to true the layout transition will be animated. If true the batch will be executed, otherwise only the undo units will be added. The layout type that has been applied. The layout specific settings used for the layout. The internal diagram control API. Gets whether the and connections will be automatically routed. Setting this property has no effect on other connection types. Gets or sets whether this is an internal items change. Gets the connection bridge type. Gets or sets whether the corners of the (polyline) connection are rounded. This property has only an effect when the is set to . Gets the active connector. Gets the segmentation. Gets the service locator. Updates the adorners (manipulation adorner, group adorner, connector adorner...). Updates the rectangular selection (marching ants selector). The rectangle which represents the current selection area. Gets the adorner part resolver. Publishes a diagram event to the diagram control. The diagram event. The event argument. Returns true if the event has been handled. Updates the scrollbars. Gets the diagram container for the given item. The item. Gets the diagram item from the given container. The container. Gets the serialization info. Transforms the point to diagram's coordinate system.. The point. Returns all intersecting connections that are below or above the given one. The connection. The bounds. If null the connection's Bounds are used. Raises the items changing event. Represents a (non-visual) diagramming group. Occurs when the collection of items this group contains has changed. Occurs when the selected item within this group has changed. Gets the name of this group. Gets or sets a value indicating whether this group is selected. Gets the items contained within this group. Defines an item which can be part of a diagram group. Occurs when the group to which this item belongs has changed. Gets or sets the (unique) parent of this item. Defines the API of a diagramming shape. Gets or sets the width of the shape. In the default implementation this property matches property of the . Gets or sets the height of the shape. In the default implementation this property matches property of the . Gets or sets the minimum height of the shape. In the default implementation this property matches property of the . Gets or sets the minimum width of the shape. In the default implementation this property matches property of the . Gets or sets the maximum height of the shape. In the default implementation this property matches property of the . Gets or sets the maximum width of the shape. In the default implementation this property matches property of the . Gets the incoming links (connections). These are the links or connection ending in this shape. Gets the outgoing links (connections). These are the links or connection originating from this shape. Gets the connectors of this shape. Gets or sets a value indicating whether the connector adorner is visible. true if this instance is connectors adorner visible; otherwise, false. Defines the API of a text shape. Strongly type collection (alias) of instances. Initializes a new instance of the class. The list. A strongly-typed resource class, for looking up localized strings, etc. Returns the cached ResourceManager instance used by this class. Overrides the current thread's CurrentUICulture property for all resource lookups using this strongly typed resource class. Looks up a localized string similar to The extension method cannot be called on null.. Looks up a localized string similar to Geometry shape is required.. Looks up a localized string similar to GraphSource must implement IObservableGraphSource.. Looks up a localized string similar to The {0} identifier could not be found in the given graph.. Looks up a localized string similar to The given {0} id is is not part of the graph.. Looks up a localized string similar to There are insufficient items in the collection.. Looks up a localized string similar to The list of points should contain at least two points. Each pair represents the endpoints of a segment.. Looks up a localized string similar to The node is not part of a (spanning) tree.. Looks up a localized string similar to A root for the tree could not be found.. Looks up a localized string similar to The length of the list of points should be even and representing the endpoints of segments.. Looks up a localized string similar to The given point is not on the edge of the shape.. Looks up a localized string similar to Settings must be TreeLayoutSettings.. Looks up a localized string similar to Check the parameters for null before calling this method.. Looks up a localized string similar to The point was not found in any sector.. Looks up a localized string similar to The value should be a positive integer.. Looks up a localized string similar to The EndRadialAngle of the radial layout cannot be less than the StartRadialAngle.. Looks up a localized string similar to The given root is not part of the graph.. Looks up a localized string similar to The [{0}] type is not safe for deserialization. It must be registered in DiagramConstants.AllowedSerializationTypes or its defining assembly must be registered in DiagramConstants.SafeSerializationAssemblies.. Looks up a localized string similar to The source and target shapes cannot be both null.. Looks up a localized string similar to The given connector name was not found in the shape's connectors collection.. Looks up a localized string similar to Unknown or badly defined routing sector.. Looks up a localized string similar to Unsupported layout type.. Looks up a localized string similar to This is work in progress.. Implements A* algorithm for finding the cheapest path between two points. Initializes a new instance of the class. The related diagram. Gets or sets the wall optimization. The wall optimization. Gets or sets the avoid shapes property. This property determines if the routing will go around shapes or go through them. The avoid shapes. Gets or sets the penalty value for a connection which crosses a diagram shapes other than its start or end shape. Note: This property has effect only when is True. Default value is 1. Gets or sets the penalty value for a connection which crosses its start or end shape. Default value is 3. Gets or sets a value which indicates whether the routing algorithm tries to minimize connection overlaps. Default value is False. Gets or sets the penalty value for a connection which overlaps another connection. Note: This property has effect only when is True. Default value is 0.75. Gets or sets the distance around a segment in which an overlap is detected. Note: This property has effect only when is True. Default value is 3. Calculates the sibling nodes. The node. The end wall. The end position. The preferred direction. Size of the grid. Calculates the bend alteration. The node. The previous node. The end wall. The end point. The current direction. The penalty base value. Calculates the wall penalty. The node. The penalty base value. Calculates whether to cut the algorithm if no path is found in reasonable time or with reasonable distance. Using the heuristic function to determine if the searched path is getting AWAY from the target (happens when algorithm keeps missing the target). Not using total path cost, because there is no obvious relation between total path cost and start-end distance (getting through walls and bends). Adding a base value for short paths (start-end distance is small). Calculate a path between start point and end point. The returned path is from start point to a proximity of the end point (i.e. the found path may not reach the end point). The algorithm tries to find the cheapest path (sometimes shortest path) using a cost function. Cost function (F) has two components and is based on several factors: 1)distance between nodes; 2) whether the node is obstacle (wall); 3)whether the path is bending (turning). If no path is found a path of two points (start-end) is returned. Represents an instance of the Node class that is used by the AStarRouter. Initializes a new instance of the class. The point. The is start wall. The is wall. Gets or sets the actual distance from the start to the current point in the search. Gets or sets the heuristic distance to the endpoint or goal. The smaller the value the closer to the goal. Gets or sets the whole path length through this point. This is the sum of G and H. Gets or sets the is open. The is open. Gets or sets the position. The position. Gets or sets whether this node is wall. The is wall. Gets or sets whether this node is a start or end wall. The is start wall. Gets or sets whether this node is over an existing connection segment. A helper class that handles the creation of AStarNodes. Routing based on the A* algorithm. The size of the routing grid. This dictionary acts as a series of linked vectors. The value for a given position is the previous position, thus allowing one to reconstruct the chosen path (see ). The set of available positions in the lattice ordered by increasing distance to the final goal. Meaning that the node with the shortest (Euclidean) distance to the goal is presented first. Initializes static members of the class. Initializes a new instance of the class. The diagram. Initializes a new instance of the class. The diagram. The location delegate. A method which tells the algorithm whether the discovered point is a valid result. The point which has to be validated by the delegate. This is a cutoff for the A*-search and represents the buffer of points. Finds the duplicate in the list of points which leads to loops in the paths. The source. Removes the loops in the point list. The points. Gets the route points. The connection. If set to true the intermediate points will be added to the resulting path. Returns null, if no path is found. Start- and End-Node are included in returned path. This returns the metric or value through which the algorithm decides whether it gets closer to the searched endpoint. A path node. The node to reach. Removes the end point anomalies created by the first and last segment containing the first respectively last intermediate point. The original points. Returns whether the first given point is in the line segment defined by the other two given points. The x. A. The b. Router used for free connections. Gets the route points. The source. The target. The points of the route. Gets the route points. The connection. Whether the last line segment should be shown. Defines API for objects with priority. Gets or sets the priority. The priority. Dictionary of Points needed in GridRouter. Initializes a new instance of the class. The location delegate. If set to true [auto create]. Gets or sets the bounds. The bounds. Gets or sets the start point. The start point. Gets or sets the end point. The end point. Gets or sets the with the specified point. Router used for the TreeDown, TreeLeft, TreeRight, TreeUp and TipOverTree LayoutTypes. Initializes a new instance of the OrgTreeRouter class for routing connections in tree-layout diagrams. Gets or sets the type of the tree layout. The type of the tree layout. Gets or sets the connection outer spacing. The connection outer spacing. Creates a TreeLayoutType -specific router and gets the route points. The connection. Whether the last line segment should be shown. This router routes the connections when the shape layout is TreeDown, TreeUp, TreeLeft or TreeRight. Initializes a new instance of the class. The settings. Sets the source and target connectors. Gets the route points. Gets the router specific rectangle horizontal points. If set to false returns the reversed list. The rectangle. Gets the router specific rectangle vertical points. If set to false returns the reversed list. The rectangle. This router routes the connections when the shape layout is TipOverTree. Initializes a new instance of the TipOverTreeRouter class with TreeDown Directional Router for the first 2 levels. Initializes a new instance of the TipOverTreeRouter class. Sets the source and target connectors. Gets the route points. Gets the router specific rectangle horizontal points. If set to false returns the reversed list. The rectangle. Gets the router specific rectangle vertical points. If set to false returns the reversed list. The rectangle. Base class for the Connection Routers. Gets or sets the connection spacing. Gets or sets the connection. Gets the source inflated rectangle. Gets the target inflated rectangle. Gets the route. The connection. The connection spacing. Sets the source and target connectors. Gets the route points. Gets the router specific rectangle horizontal points. If set to false returns the reversed list. The rectangle. Gets the router specific rectangle vertical points. If set to false returns the reversed list. The rectangle. Sets the connectors when shapes overlap. Gets the points between source and target point lying on a given rectangle. Gets the route points when shapes overlap. The rectangle. The start point. The end point. Gets the first near point from the inflated rectangle (closest ortogonal projection). The inflated rectangle. The connector. Returns true if the both points are on same rectangle side. The rectangle. A. The b. Gets the shortest distanced points, first from source point list, second from target point list. The source list. The target list. Settings for Directional Router. Initializes a new instance of the class. Gets or sets the name of the source connector. Gets or sets the name of the target connector. Gets or sets the horizontal indicator. Gets or sets the direction parameter. Runtime data bucket for the A* algorithm. The , and property names have been kept in accordance with the literature even though more appropriate names would help. Initializes a new instance of the class. Initializes a new instance of the class. Gets the actual lattice distance from the start to the current point in the search. Gets the so-called heuristic distance which is usually the Euclidean distance to the endpoint or goal. The smaller the value the closer to the goal. Gets the current path length which is an estimate since the remains of the path to the target is a estimated to be a straight line. Gets or sets whether this node is part of the open set of not estimated nodes in the search. True if this instance is open; otherwise, false. Gets or sets whether this node is accessible as part of the path searching. true if this instance is wall; otherwise, false. Gets or sets the priority. The priority. Gets or sets the position in the lattice. The position. Compares the given nodes by comparing their estimated path length, i.e. the values. A node on the lattice. Another node on the lattice. Represents a connection router for reflexive connections. Initializes a new instance of the class. Gets the route points. The connection. Whether the last line segment should be shown. Base class for routing algorithms. Initializes a new instance of the class. The graph. Gets the route points. The connection. If set to true [show last line]. Given a point on the edge of a shape, this returns the middle point of the edge adjacent to it in the clockwise direction. The point on the edge of the shape. The shape holding the point. This method is called when the routing algorithm is unable to find a route from the given starting point and an alternative starting point at the edge of the shape is necessary. Finds the crossings. The connection. The source. The target. Given the connection, the most probable start and end points are returned together with some additional points if necessary. The connection which is being routed. A tuple containing the source point; this is the start point given by the connection the intermediate start point: the point which is not necessarily on the grid but which forms the corner between the endpoint of the connection and the nearest grid point. It's defined by the place where the endpoint is located on the shape. If the endpoint is free (because the connection is free at that point) the intermediate endpoint is NaN. the actual start point for the routing procedure the end point of the routing procedure the intermediate end point: analog as the intermediate start point. the target point; this is the end or target point given by the connection. Gets the sector. Returns whether the given point is in the neighborhood of a shape. The point. Returns whether the given point resides in one of the shapes in the diagram. The point. Gets the nearest point on the routing grid for the given point. The point falls either inside a square of the grid or sits on a grid point. In both case, calculating the four distances to the four corners of a grid wherein the point sits and taking the minimum distance will result in the nearest grid point. The point for which the nearest grid point has to be returned. The nearest point on the grid. Gets the nearest grid point on the routing grid. The point for which the nearest grid point has to be found. The name of the connector. The center of the shape. The intermediate point. Gets the sector in which the given point/vector sits. The splitting is not in the usual quadrants but rather the sector defined by the diagonals x=y and x=-y. Any given point or vector. Routing sectors. The top-left position. The left position. The bottom-left position. The top position. The center position. The bottom position. The top-right position. The right position. The bottom-right position. Stores a collection of PointCollection, each PointCollection holding the crossing points detected for correspondent link segment. Initializes a new instance of the CrossingsData class. Gets or sets the segment crossings. Represents a diagram logical segment. The type. Initializes a new instance of the class. The position. Gets the items. Gets the count. Gets the position. Adds the item. The item. Removes the item. The item. Represents position of a DiagramSegment. Initializes a new instance of the struct. The x. The y. Initializes a new instance of the struct. The x. The y. Gets or sets the X. The X. Gets or sets the Y. The Y. Represents a Diagrams logical Shape segment. Initializes a new instance of the class. The position. Represents the service responsible for logical segmentation of Diagram. Initializes a new instance of the class. The graph. Gets or sets the segment step. x Gets a value indicating whether this instance is segmentation enabled. Maps the shapes. The shapes. Maps the shape. The shape. Maps the shape. The shape. The bounds. Un-maps the shape. The shape. Gets the shapes. The point. The delta. Gets the shapes. The rectangle. Manages the adorner helping the manipulation of items. Initializes a new instance of the class. The graph. Gets the adorner angle. Gets the selection bounds. Gets the inflated selection bounds. Return the resize handles activation radius. Return the rotate handle activation radius. Returns the rotation point. Returns the top left point of the adorner. Returns the top right resizing point. Returns the bottom left resizing point. Returns the bottom right resizing point. Centers this instance. Updates the selected items. Updates the adorner bounds. Updates the bounds positions. The delta position. The delta width. The delta height. Updates the adorner angle. This class is accountable for calculating alignment related transformations for position and size. Calculates the most left/top/right/bottom position for every bounds in list. Position is calculated relative to the edge defined by the union of all bounds in the list. List of bounds to align. Determines whether alignment should be calculated towards left/top/right/bottom edge. List of positions of the aligned bounds. Represents the Container service responsible for DiagramContainers in Diagram. Called when items are dropped in container. The container shape. The dropped items. The current command. Gets the container's children recursively. The shape. Gets the container's children recursively. The container shape. Detaches the items from container. The container. The items. The current command. Gets the floating children of a container - shapes and floating connections. The container. Gets the enclosing bounds of the floating children of a container - shapes and floating connections. The container. Updates the container layout. The container. Called when [children bounds change]. The selected items. Called when [child bounds change]. The parent container. The new children bounds. Completes the manipulation. The composite command. Gets only the root items from the given items. The items. Represents the Dragging service responsible for dragging operations in Diagram. Initializes a new instance of the class. The graph. Creates the async drag command which has to be completed at a later time. This method is used both by the Nudge keyboard handler and by the dragging tool. The undo-redo service. The items which are affected. The undoable async command. Drags the connection for the specified offset. The connection. The offset the shift the connection. Represents drawing service. Initializes a new instance of the class. The graph. Occurs when drawing. Gets the active shape. Gets the anchor points. Gets the control points. Gets a value indicating whether this instance is drawing. Initializes draw action. The active shape. The name of the current tool. Starts the draw. Draws the points. The anchor point. The control point. The is undoable. Completes the draw. Sets the state. The shape. The anchor points. The control points. Removes the last control point. Removes the last anchor point. Creates Geometry for a shape from a given DrawingToolSegments. Creates the DrawCommand that sets the new state of the Shape or reverts the old state. Clears the anchor and control points. Raises the Drawing event. Represents a service for manipulation of manipulation points. Initializes a new instance of the class. The graph. Gets the graph. Represents a group service. Initializes a new instance of the class. Occurs when groups have changed. Gets the selected groups. Gets the groups. Gets the root groups. Gets the siblings of the item. The item. The add to selection. Groups the specified items. The group name. The items. Groups the specified items in the provided group. The group. The items. Ungroups the specified groups. The groups. Ungroups the specified group. The group. Clears the empty groups on DiagramItemsChanged. The instance containing the event data. Called when item parent group changes. The sender. The instance containing the event data. Changes the group of an item. The item. The old group. The new group. The is internal changing. Service handling the hit-testing of diagram elements. Initializes a new instance of the class. The graph. Gets the shape under mouse. Gets the item under the mouse. Gets the shapes under point. The point. Gets the shapes near point within some delta distance. The point. The delta. Gets the items near point. The point. The delta. Gets the topmost item under point. The point. The delta. Gets the shapes under rectangle. The rectangle. Gets the connections intersecting the specific rectangle. Gets the items under rectangle. The rectangle. The service supporting the adorning of diagram elements. Note that this service can be customized and plugged into the . Gets the adorner angle. Gets the selection bounds. Gets the inflated selection bounds. Return the resize handles activation radius. Return the rotate handle activation radius. Returns the top left point of the adorner. Returns the top right point of the adorner. Returns the bottom left point of the adorner. Returns the bottom right point of the adorner. Centers this instance. Returns the rotation point. Updates the selected items. Updates the adorner bounds. Updates the bounds positions. The delta position. The delta width. The delta height. Updates the adorner angle. Defines the service managing the data transfer for copy/paste and dragdrop. Handles the transfer of data when there is a dragdrop action. This can be both an internal dragdrop (from one control to another within the same application) as well as an external dragdrop (from one application to another or from the file system to an application). The data object being transferred. The file drop action which will handle the result of the external data transfer. The element drop action which will handle the result of the internal data transfer. Handles the transfer of data when a copy-paste or cut-paste was performed. The data object being transferred. The action which will handle the result of the clipboard data transfer. The transformation of image stream data to an image. The image stream. Attempts to fetch the from the string which supposedly contains a serialized diagram as XML. The diagram XML. The serialization info. Returns a wrapping shape from a given image. The image to wrap. The service supporting the translation of diagram items. Note that this service can be customized and plugged into the . Occurs on drag start. Occurs on drag complete. Occurs when dragging. Occurs on drag enter. Occurs on drag leave. Occurs on drop. Gets the currently drag over shape. The drag over shape. Gets the currently dragging models if any. The dragging models. Determines whether there's a dragging operation in progress. Initializes the drag. The drag start point. Starts the drag. The models. The current point. Drags to the specified new point. The new point. Completes the drag. Determines whether you can drag to the new point. The new point. Creates the async drag command. The undo redo service. The items affected. The service handling the drawing of geometry on the surface. Note that this service can be customized and plugged into the . Occurs when drawing. Gets the active shape. Gets the anchor points. Gets the control points. Gets a value indicating whether this instance is drawing. Initializes draw action. The active shape. The name of the current tool. Starts the draw. Draws the points. The anchor point. The control point. The is undoable. Sets the state. The shape. The anchor points. The control points. Create geometry for the Path Handles in Path Tool. Creates Geometry for a shape from a given DrawingToolSegments. Creates the DrawCommand that sets the new state of the Shape or reverts the old state. Removes the last control point. Removes the last anchor point. Completes the draw. Clears the points. Defines the grouping service. Note that this service can be customized and plugged into the . Occurs when groups have changed. Gets the selected groups. Gets the groups. Gets the root groups. Gets the siblings of the item. The item. The add to selection. Groups the specified items. The group name. The items. Groups the specified items in the provided group. The group hosting the new items. The items. Ungroups the specified groups. The groups. Ungroups the specified group. The group. Clears the empty groups on DiagramItemsChanged. The instance containing the event data. Called when item parent group changes. The sender. The instance containing the event data. Changes the group of an item. The item. The old group. The new group. The is internal changing. The service supporting the hit-testing when selecting diagram items through a selection rectangle or a click-select action. Note that this service can be customized and plugged into the . Gets the shape under mouse. Gets the item under the mouse. Gets the shapes under point. The point. Gets the shapes near point within some delta distance. The point. The delta. Gets the items near point. The point. The delta. Gets the topmost item under point. The point. The delta. Gets the shapes under rectangle. The rectangle. Gets the connections intersecting the specific rectangle. Gets the items under rectangle. The rectangle. The service supporting the actions of the and the . Occurs when manipulation is completed. Occurs when manipulation is started. Occurs when manipulating. Gets a value indicating whether this instance is being manipulated. true if this instance is manipulating; otherwise, false. Manipulates the active manipulation point to the specified position. The current point. Completes the manipulation. The current point. Updates the manipulation. The new point. Cleans / reverts the manipulation. Raises the event. The instance containing the event data. Raises the event. The edit point. The connector. The current position. Initializes the manipulation action. The manipulation point. The service supporting the scaling of diagram items and groups. Note that this service can be customized and plugged into the . Occurs on resizing start. Occurs when resizing. Occurs on resizing completed. Gets a value indicating whether this instance is resizing. True if this instance is resizing; otherwise, false. Initializes the resize action. The selected items. The adorner angle. The adorner bounds. The resizing direction. The start point. Starts the resize. The current point. Resizes to the new point. The new point. Completes the resize. The final bounds. The final mouse position. The service supporting the rotation of diagram items. Note that this service can be customized and plugged into the . Occurs on start rotating. Occurs when rotating. Occurs on complete rotating. Gets a value indicating whether this instance is rotating. True if this instance is rotating; otherwise, false. Initializes the rotate action. The selected items. The adorner angle. The adorner bounds. Starts the rotation. The current point. Rotates the items to the specified mouse position. The mouse position. Completes the rotation. The mouse point. API for the Diagram Routing Service. Gets or sets the connection router. Gets or sets the floating connection router. Gets or sets the reflexive router. The reflexive router. Gets or sets the auto update property. Builds the route. The connection. Builds the route with the start and end connectors. The connection. Automatically updates the connections. The shape which bound's have changed. API for Diagram Segmentation Service. Gets a value indicating whether this instance is segmentation enabled. Maps the shapes. The shapes. Maps the shape. The shape. Maps the shape. The shape. The bounds. Un-maps the shape. The shape. Gets the shapes. The point. The delta. Gets the shapes. The rectangle. The service supporting the selection process of diagram items. The type of Selection service. Note that this service can be customized and plugged into the . Occurs when [selection ended]. Occurs when [selection starts]. Gets the selected items. Gets the currently selected diagram shapes. Gets the selected connections. The selected connections. Gets the selected items count. Determines whether [is single selected] [the specified item]. The item. true if [is single selected] [the specified item]; otherwise, false. Syncs the selected items. The model. True if item is added or removed from selectedItems, otherwise false. Selects the item. The item. If set to true [add to existing selection]. Selects the items. The items. The add to existing selection flag. Deselects the item. The item. Deselects the items. The items. Recalculates the selection bounding box. Selects the next item in an ordered collection based on the current selected items. Clears the selection. The service supporting the (de)serialization of diagrams and diagram items. Note that this service can be customized and plugged into the . Loads the specified serialization info. The serialization info. Serializes the diagram. Deserializes the items. The serialization info. If set to true [make unique]. Serializes the given items. The items to serialize. A instance. Serializes the groups. The items. The serialized groups. The groups element. Serializes the shapes. The shapes. Serializes the connections. The connections. Gets the metadata id. The serialization info. The service handling the snapping of diagram items. Note that this service can be customized and plugged into the . Occurs when snapping lines have been calculated. Initializes the snap action. The static items - the items that you don't drag at the moment. The main item - the item that drag started from. The is snap to items enabled. The is snap to grid enabled. The initial position. Snaps point. The point to snap. The snapped point. Snaps the new dragging position. The selected items. The new position. Clears after the snap action. Changes the snapping engine. Describes the members of the tool service. This service collects tools like the selection tool or the drawing tool. Gets or sets a value indicating whether the control key is pressed. Gets or sets whether the alt-key is pressed. Gets or sets a value indicating whether the mouse left button is pressed. Gets the active tool. Gets or sets the primary tool. The primary tool. Gets the graph internal. Activates the primary tool. Finds a tool with the specified name. The name. Activates the tool. Layer of the tool. Returns the activated tool. Deactivates the tool. The tool. The service handling the undo-redo stack. Note that this service can be customized and plugged into the . Gets the undo stack. Gets the redo stack. Gets or sets the size of the redo buffer. The size of the redo buffer. Gets or sets the size of the undo buffer. The size of the undo buffer. Gets the is active property. Determines whether the undoRedo service is executing undo or redo action at the moment. Determines whether this instance can redo. true if this instance can redo; otherwise, false. Determines whether this instance can undo. true if this instance can undo; otherwise, false. Executes the command. The command. The state. Redoes this instance. Undoes this instance. Clears the undo and redo stacks. Removes the command. The command. Adds the given command without executing it. The command to add. The service supporting the virtualization of diagram items which are not visible in the viewport anymore. Note that this service can be customized and plugged into the . When set to True, no virtualization or realization is done. When set to False, virtualization or serialization is processed normally. Forces the realization of all items. When implementing a layout algorithm you need to call this method in order to take all the bounds into account. Realizes the items contained in provided bounds and virtualizes the others. Items inside will be realized. Virtualizes this instance. Virtualizes the specified items. The items. Notifies items change. The instance containing the event data. Determines whether the item is in the viewport. The item. Represents a service for manipulation of manipulation points. Initializes a new instance of the class. The graph. Occurs when manipulation is completed. Occurs when manipulation is started. Occurs when manipulating. Gets the manipulation point. Gets or sets the index of the point being manipulated. The index of the point. Gets or sets the initial points. The initial points. Gets or sets the connection. Gets a value indicating whether this instance is being manipulated. true if this instance is manipulating; otherwise, false. Initializes the manipulation action. The manipulation point. Manipulates the active manipulation point to the specified position. The current point. Completes the manipulation. The current point. Updates the manipulation of intermediate connection points. The new point. Cleans / reverts the manipulation. Raises the event. The instance containing the event data. Raises the event. The edit point. The connector. The current position. Represents manipulation service. Initializes a new instance of the class. The graph. Occurs on resizing start. Occurs when resizing. Occurs on resizing completed. Gets a value indicating whether this instance is resizing. True if this instance is resizing; otherwise, false. Initializes the resize action. The selected items. The adorner angle. The adorner bounds. The resizing direction. The start point. Starts the resize. The current point. Completes the resize. The final bounds. The final mouse position. Resizes to the new point. The new point. Calculates the new resize delta. The new point. Updates the parent containers of the selected items containers. Represents a rotation service. Initializes a new instance of the class. Occurs on start rotating. Occurs when rotating. Occurs on complete rotating. Gets a value indicating whether this instance is rotating. True if this instance is rotating; otherwise, false. Gets or sets the rotation origin for the rotation operation. The rotation origin. Initializes the rotate action. The selected items. The adorner angle. The adorner bounds. Starts the rotation. The current point. Completes the rotation. The mouse point. Rotates the items to the specified mouse position. The mouse position. Calculates the rotation angle from the new point. The new point. Updates the parent containers of the selected items containers. Rotates the connection. The connection. The new angle. The selection bounds center. The old angle. Service handling the routing of the connections. Initializes a new instance of the class. The graph. Gets or sets the connection router. Gets or sets the floating connection router. Gets or sets the reflexive router. The reflexive router. Gets or sets the auto update property. Automatically updates the connections. The shape which bound's have changed. Creates the connection route. The connection which should be routed. The routing works only for the and types. A list of intermediate points defining the route. Creates the connection route. The connection which should be routed. The routing works only for the and types. A list of intermediate points defining the route and the start and end connectors. Manages the selection of diagram entities. Initializes a new instance of the class. Occurs when [selection ended]. Occurs when [selection starts]. Gets the currently selected diagram entities. Gets the currently selected diagram shapes. Gets the selected connections. The selected connections. Gets the selected items count. Determines whether [is single selected] [the specified item]. The item. true if [is single selected] [the specified item]; otherwise, false. Syncs the selected items. The model. True if item is added or removed from selectedItems, otherwise false. Deselects the item. The item. Deselects the items. The items. Selects the given item. The item. If set to true the current selection will be expanded with the given items. Selects the given items. The items to select. If set to true the current selection will be expanded with the given items. Clears the selection. Recalculates the selection bounding box. Selects the next item in an ordered collection based on the current selected items. Gets the parent group hierarchy of the given item. The groupable item. The hierarchy of parent groups. Manages the (de)serialization of diagrams and diagram elements. Initializes a new instance of the class. The graph. Occurs on item serializing. Occurs on item deserializing. Gets the default Intermediate, not associated with any Graph. Loads the specified serialization info. The serialization info. Serializes the diagram. Deserializes the items. The serialization info. If set to true [make unique]. Serializes the given items. The items to serialize. A instance. Serializes the groups. The items. The serialized groups. The groups element. Serializes the shapes. The shapes to serialize. Serializes the connections. The connections. Gets the metadata id. The serialization info. Represents a class that can return and register services. Initializes a new instance of the class. Occurs when a service is registered. Registers the default services. Registers new service. The service. Gets a service. This class is accountable for calculating snapping related transformations for position and size. Initializes a new instance of the class. The graph. Occurs when snapping lines have been calculated. Initializes the snap action. The static items - the items that you don't drag at the moment. The main item - the item that drag started from. The is snap to items enabled. The is snap to grid enabled. The initial position. Snaps point. The point to snap. The snapped point. Snaps the new dragging position. The selected items. The new position. Clears after the snap action. Changes the snapping engine. The toolbox, this tells the application which tools are available. Initializes a new instance of the class. The graph. The service locator. Gets the active tool. Gets the graph. Gets or sets the primary tool. The primary tool. Gets the tools collection. Gets or sets whether the control-key is pressed. Gets or sets whether the alt-key is pressed. Activates the primary tool. Returns the tool with the specified name, if it exists. Handles the mouse double click event. The instance containing the event data. Handles the mouse-down event. The instance containing the event data. Handles the mouse-move event. The instance containing the event data. Handles the mouse-up event. The instance containing the event data. Handles the key down event. Handles the key up event. Deactivates the given tool. A registered ITool. Activates the tool. Label of the tool. Activates the given tool. The tool to activate. true if the activation was successful, otherwise false. Adds the default set of tools. Service managing the undo redo actions. Initializes a new instance of the class. Occurs when either a do or an undo command is executed. Gets the undo stack. Gets the redo stack. Gets or sets the size of the redo buffer. Must be non-negative integer. The size of the redo buffer. Gets or sets the size of the undo buffer. Must be non-negative integer. The size of the undo buffer. Determines whether this instance can redo. true if this instance can redo; otherwise, false. Determines whether this instance can undo. true if this instance can undo; otherwise, false. Executes the command. The command. The state. Redoes this instance. Undoes this instance. Clears the undo and redo stacks. Adds the given command without executing it. The command to add. Removes the command. The command. Raises the event. The instance containing the event data. Simple data virtualization. Assuming containers are generated. Just hiding the items out of the viewport. Initializes a new instance of the class. The graph. When set to True, no virtualization or realization is done. When set to False, virtualization or serialization is processed normally. Forces the realization of all items. When implementing a layout algorithm you need to call this method in order to take all the bounds into account. Realizes the items contained in provided bounds and virtualizes the others. Items inside will be realized. Virtualizes the specified items. The items. Virtualizes this instance. Notifies items change. The instance containing the event data. Determines whether the item is in the viewport. The item. The tool handling the changes of a connection; translating the intermediate connection points adding and removing intermediate connection points connecting or detaching endpoints to/from a shape's connector. The name of the connection manipulation tool. Initializes a new instance of the class. Gets or sets the active manipulation point. The active manipulation point. Handles the mouse-down event. The instance containing the event data. Handles the mouse double click event. The instance containing the event data. Handles the mouse-move event. The instance containing the event data. Handles the mouse-up event. The instance containing the event data. Handles the key down event. Handles the key up event. Initializes the specified service locator. The service locator. Removes an intermediate point from the connection. The connection. The position at which a point is removed. This should be a global coordinate. Adds an intermediate point to the connection. The connection. The position at which a new point is inserted. This should be a global coordinate with respect to the diagramming canvas. The tool used to create a new connection. The name of the connection tool. Initializes a new instance of the class. The connection being manipulated (created). Gets the manipulation service handling the changes in a connection. Gets the undo redo service. Gets the container generation service. Handles the mouse-down event. The instance containing the event data. Gets an undoable command for the given manipulation. The instance containing the event data. The current graph. This class represents a helper which allows for the creation of custom cursors. Creates a cursor from a cursor file. Creates a cursor from a stream. Class listing the mouse cursors that are used in Diagram. Gets the pointer. Gets the connection. Gets the panning. Gets the dragging. Gets the rectangle selection cursor. Gets the size NESW. Gets the size NWSE. Gets the rotation. Gets the beam. Gets the pen cursor. Gets the Path cursor. Tool handling the translation of items. The name of the dragging tool. Initializes a new instance of the class. Initializes the specified service locator. The service locator. Handles the mouse-down event. The instance containing the event data. Handles the mouse double click event. The instance containing the event data. Handles the mouse-move event. The instance containing the event data. Handles the mouse-up event. The instance containing the event data. Abstract base class for tools which draw something on the canvas. Initializes a new instance of the class. Gets the service. Gets the service. Gets the service. Gets or sets the for adding a shape to the diagram. Handles the mouse-down event. The instance containing the event data. Handles the key down event. Completes the action of this tool. Undoes what this tool has performed. Creates a shape. Called when tool is is changed to false. Activated when Path drawing action is going to be executed. The name of the path tool. Initializes a new instance of the class. Undoes what this tool has performed. Called when tool is activated. Called when tool is deactivated. Activated when pen drawing action is going to be executed. The name of the pencil tool. Initializes a new instance of the class. Gets or sets the drawing omission step. This property defines the number of mouse or touch events that are skipped after a successful draw. You can increase the omission step for better performance on tablets. The drawing omission step. Undoes what this tool has performed. Describes the two fundamental methods of a keyboard handler object. Handles the key down event. Handles the key up event. Describes the four fundamental methods of a mouse handler object. Handles the mouse-down event. The instance containing the event data. Handles the mouse double click event. The instance containing the event data. Handles the mouse-move event. The instance containing the event data. Handles the mouse-up event. The instance containing the event data. The base interface for all Diagram tools. Gets or sets a value indicating whether this is enabled. True if enabled; otherwise, false. Gets or sets a value indicating whether this tool is active. If true the tool is actually performing work via the various mouse or keyboard event handlers. If is false the tool can never be active. True if this instance is active; otherwise, false. Gets the name of the tool. The name. Gets or sets the diagramming surface. The surface. Gets or sets the tool manager (see ). The tool manager. Activates the tool. Deactivates the tool. Initializes the specified service locator. The service locator. Tool handling the resizing and rotation of items. Initializes a new instance of the class. Handles the mouse-down event. The instance containing the event data. Handles the mouse double click event. The instance containing the event data. Handles the mouse-move event. The instance containing the event data. Handles the mouse-up event. The instance containing the event data. Initializes the specified service locator. The service locator. Enumerates the default mouse tools. The standard tool which allows you to select items. A tool which allows you to create or change connections. A tool which pans the diagram. A tool which allows Path like drawing. A tool which allows pen like drawing. A tool which allows you to position and add text to your diagram. Activated when pan action is going to be executed. The name of the panning tool. Initializes a new instance of the class. The default diagram pointer tool. The name of the Pointer tool. Initializes a new instance of the class. Handles the mouse double click event. The instance containing the event data. Handles the mouse-move event. The instance containing the event data. Handles the mouse-up event. The instance containing the event data. Handles the key down event. An abstract base tool for mouse tools. Initializes a new instance of the class. The name. Handles the mouse-move event. The instance containing the event data. Handles the mouse-up event. The instance containing the event data. Activates a secondary tools. An abstract base tool for mouse tools. Initializes a new instance of the class. The name. Gets the hit item. Gets or sets the active connector. Handles the key down event. Handles the key up event. Handles the mouse-down event. The instance containing the event data. Handles the mouse double click event. The instance containing the event data. Handles the mouse-move event. The instance containing the event data. Handles the mouse-up event. The instance containing the event data. This base implementation of a tool serves for shape creation on the basis of a drawn rubber band on the canvas. Not every shape is created in this way, certain shape have a fixed size or are polygonal. The name of the rectangle selection tool. Initializes a new instance of the class. Initializes the specified service locator. The service locator. Handles the MouseDown event. The instance containing the event data. Handles the mouse double click event. The instance containing the event data. Handles the MouseMove event. The instance containing the event data. Handles the MouseUp event. The instance containing the event data. A tool which allows you to position and add text to your diagram. The name of the Text tool. Initializes a new instance of the class. Handles the mouse-down event. The instance containing the event data. Handles the mouse-move event. The instance containing the event data. Handles the mouse-up event. The instance containing the event data. Handles the key down event. Base class for Diagram tools. Initializes a new instance of the class. The name. Gets or sets the tool service (see ). The tool service. Gets or sets the graph view (aka surface). The surface. Gets or sets the IsEnabled. Gets or sets a value indicating whether this tool is active. True if this instance is active; otherwise, false. Gets or sets the layer. Gets the initial point of the interaction. The initial point on the surface. Gets or sets the cursor. The cursor. Deactivates the tool. Activates the tool. Initializes this tool. The locator or controller. Called when tool is is changed to true. Called when tool is is changed to false. Restores the cursor. The status of the container generator. The generator has not tried to generate content. The generator is generating containers. The generator has finished generating containers. The generator has finished generating containers, but encountered one or more errors. The generic container generator. The type being generated for a given item. Initializes a new instance of the class. The host. The StatusChanged event is raised by a view generator to inform controls that its status has changed. The generation status of the GenericContainerGenerator. Returns the item for a specific container. The container. Returns the container for the given item. The item for which the container should be returned. The container or null if the container hasn't been generated. Use the method to generate a container for the item. Removes the container. The container. Removes the item. The item. Generates the containers. The items. Generates the container for the given item. If the item is an IShape or an IConnection then the item is its own container. If the item implements the ILink interface an IConnection will be returned. A generic object (like a string or a control) will have an IShape as container and the item will be put in the Content. The item. Generates the connection container. The source. The target. Generates a geometry shape container. Maps the item to container. The item. The container. Maps the item to a recycled container. The item. The recycled container. Clears the recycled containers cache. Removes the container. The container. Generates the containers. The items for which to generate a container. Generates a container for the given item. The item for which to generate a container. Generates the connection container. The source of the connection. The target of the connection. Generates the geometry shape container. Generates a shape container. Generates a text shape container. Returns the container, if any, from given item. The item which corresponds to a container. Maps the item to a container, if any. The item. The container. Returns the item from the given container. The container. Maps the item to a recycled container. The item. The recycled container. Clears the recycled containers cache. Raises the status changed event. Generates a container from the given item. The item. If set to true the of this container generator will be set as part of the generation logic. Removes the item and its container from the cache. The item. The container. Represents a generic container generator. Returns the container from item. The item. Returns the item from container. The container. Defines the members of the container generator. Occurs when the status changes. Gets the status. Returns the container from item. The item. Returns the item from container. The container. Generic variation of IContainerGeneratorInternal interface. Type. Removes the container. The container. Generates the containers. The items. Generates the container. The item. Generates the connection container. The source. The target. Maps the item to container. The item. The container. Maps the item to a recycled container. The item. The recycled container. Clears the recycled containers cache. The internal, extended version of the interface which is not pluggable in the . Removes the container. The container to remove. Removes the item. The item for which to generate a container. Generates the containers. The items for which to generate a container. Generates the container. The item. Generates the connection container. The source of the connection. The target of the connection. Generates the geometry shape container. Generates a shape container. Generates a shape container. Maps the item to container. The item. The container. Maps the item to a recycled container. The item. The recycled container. Clears the recycled containers cache. Provides view generator functionality. The type of the view. Cleans the container for item override. The container. The item. Prepares the connection container for item override. The container. The item. Prepares the shape container for item override. The container. The item. Determines whether [is item its own shape container override] [the specified item]. The item. true if [is item its own shape container override] [the specified item]; otherwise, false. Gets the shape container for item override. The item. Gets a text shape container for item override. The item. Gets the shape container for item override. The item. Gets the connection container for item override. The item. Determines whether [is item its own connection container override] [the specified item]. The item. true if [is item its own connection container override] [the specified item]; otherwise, false. Updates the dataContext of the container. The container. The item.