GoJS API
/ to search
    Preparing search index...

    Class LayoutVertex

    A vertex represents a Node in a LayoutNetwork, along with its bounds and focus and collections of LayoutEdges that come into and go out of the vertex. The node property may be null for vertexes that represent "dummy" nodes, when the layout wants to work with a network that is not isomorphic with the collection of Nodes and Links being laid out.

    This holds layout-specific data for the node. For each kind of layout that uses a LayoutNetwork there is a subclass of LayoutVertex and a subclass of LayoutEdge:

    Modifying a LayoutNetwork or a LayoutVertex or a LayoutEdge does not invalidate the Layout or raise any changed events.

    Hierarchy (View Summary)

    Index

    Constructors

    Accessors

    • get bounds(): Rect

      Gets or sets the bounds of this vertex, in document coordinates. Setting this property does not directly modify the position of any Node, but it will modify the value of centerX and centerY, as well as the subsidiary convenience properties x, y, width, and height.

      Returns Rect

    • get centerX(): number

      Gets or sets the center Point.x of this vertex, in document coordinates. This property depends on both bounds and focus. Setting this property does not modify the position of any Node, but it will modify the value of bounds.

      Returns number

    • get centerY(): number

      Gets or sets the center Point.y of this vertex, in document coordinates. This property depends on both bounds and focus. Setting this property does not modify the position of any Node, but it will modify the value of bounds.

      Returns number

    • get data(): ObjectData | null

      Gets or sets the data object in the model that should be associated with this vertex, if any. The value will be non-null if this vertex is virtualized, not represented by a real Node in the Diagram. Each data object should have a 'bounds' property that is a Rect or any JavaScript Object with 'x', 'y', 'width', and 'height' properties that are real numbers, and non-negative numbers for the width and the height. Setting this data property will also set the bounds and focus properties.

      Returns ObjectData | null

    • get destinationVertexes(): Iterator<LayoutVertex>

      This read-only property returns an iterator for all of the vertexes that are connected with edges going out of this vertex.

      Note that this is inefficient compared to iterating over the edges (destinationEdges) due to the need to avoid duplicate vertexes if there happen to be multiple edges connecting with the same vertex.

      Returns Iterator<LayoutVertex>

    • get edgesCount(): number

      This read-only property returns the total number of edges that are connected with this vertex in either direction.

      Returns number

    • get focusX(): number

      Gets or sets the relative X position of the "center" point, the focus.

      Returns number

    • get focusY(): number

      Gets or sets the relative Y position of the "center" point, the focus.

      Returns number

    • get height(): number

      Gets or sets the height of this vertex. This is always the vertical distance reserved for the node.

      Returns number

    • get node(): Node | null

      Gets or sets the Node associated with this vertex, if any. The value may be null if this vertex is a "dummy" vertex, not represented by a real Node in the Diagram.

      This property setter also sets the bounds and focus properties according to the value of the Node's actualBounds and its Part.locationObject's center point.

      Returns Node | null

    • get sourceVertexes(): Iterator<LayoutVertex>

      This read-only property returns an iterator for all of the vertexes that are connected with edges coming into this vertex.

      Note that this is inefficient compared to iterating over the edges (sourceEdges) due to the need to avoid duplicate vertexes if there happen to be multiple edges connecting with the same vertex.

      Returns Iterator<LayoutVertex>

    • get vertexes(): Iterator<LayoutVertex>

      This read-only property returns an iterator for all of the vertexes that are connected in either direction with this vertex.

      Note that this is inefficient compared to iterating over the edges (sourceEdges and destinationEdges) due to the need to avoid duplicate vertexes if there happen to be multiple edges connecting with the same vertex.

      Returns Iterator<LayoutVertex>

    • get width(): number

      Gets or sets the width of this vertex. This is always the horizontal distance reserved for the node.

      Returns number

    • get x(): number

      Gets or sets the left point of this vertex.

      Returns number

    • get y(): number

      Gets or sets the top point of this vertex.

      Returns number

    Methods

    • Moves the Node corresponding to this vertex so that its position is at the current bounds point.

      To make the most common cases look right, the Node's Part.locationObject is centered. Thus iconic nodes will have the center of the icon be positioned according to the center of this vertex, ignoring any labels. Please read the Learn page on Extensions for how to override methods and how to call this base method.

      Returns void

    • Deletes a LayoutEdge from the list of successors (the edge was going out from this vertex). Calling this method does not modify the LayoutEdge.fromVertex of the LayoutEdge.

      Parameters

      Returns void

    • Deletes a LayoutEdge from the list of predecessors (the edge was coming into this vertex). Calling this method does not modify the LayoutEdge.toVertex of the LayoutEdge.

      Parameters

      Returns void