XII Release 0.1.0
Loading...
Searching...
No Matches
xiiDGMLGraph Class Reference

This class encapsulates building a DGML compatible graph. More...

#include <DGMLWriter.h>

Classes

struct  NodeDesc
struct  Connection
struct  PropertyType
struct  PropertyValue
struct  Node

Public Types

enum class  Direction : xiiUInt8 { TopToBottom , BottomToTop , LeftToRight , RightToLeft }
enum class  Layout : xiiUInt8 { Free , Tree , DependencyMatrix }
enum class  NodeShape : xiiUInt8 { None , Rectangle , RoundedRectangle , Button }
enum class  GroupType : xiiUInt8 { None , Expanded , Collapsed }
using NodeId = xiiUInt32
using PropertyId = xiiUInt32
using ConnectionId = xiiUInt32

Public Member Functions

 xiiDGMLGraph (Direction graphDirection=Direction::LeftToRight, Layout graphLayout=Layout::Tree)
 Constructor for the graph.
NodeId AddNode (xiiStringView sTitle, const NodeDesc *pDesc=nullptr)
NodeId AddGroup (xiiStringView sTitle, GroupType type, const NodeDesc *pDesc=nullptr)
 Adds a DGML node that can act as a group for other nodes.
void AddNodeToGroup (NodeId node, NodeId group)
 Inserts a node into an existing group node.
ConnectionId AddConnection (NodeId source, NodeId target, xiiStringView sLabel={})
 Adds a directed connection to the graph (an arrow pointing from source to target node).
PropertyId AddPropertyType (xiiStringView sName)
 Adds a property type. All properties currently use the data type 'string'.
void AddNodeProperty (NodeId node, PropertyId property, const xiiFormatString &fmt)
 Adds a property of the specified type with the given value to a node.

Protected Attributes

xiiHybridArray< Node, 16 > m_Nodes
xiiHybridArray< Connection, 32 > m_Connections
xiiHybridArray< PropertyType, 16 > m_PropertyTypes
Direction m_Direction
Layout m_Layout

Friends

class xiiDGMLGraphWriter

Detailed Description

This class encapsulates building a DGML compatible graph.

Constructor & Destructor Documentation

◆ xiiDGMLGraph()

xiiDGMLGraph::xiiDGMLGraph ( xiiDGMLGraph::Direction graphDirection = Direction::LeftToRight,
xiiDGMLGraph::Layout graphLayout = Layout::Tree )

Constructor for the graph.

Copyright (c) Theophilus Eriata. All Rights Reserved.

Member Function Documentation

◆ AddNode()

xiiDGMLGraph::NodeId xiiDGMLGraph::AddNode ( xiiStringView sTitle,
const NodeDesc * pDesc = nullptr )

Adds a node to the graph. Adds a node to the graph and returns the node id which can be used to reference the node later to add connections etc.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Engine/Foundation/Utilities/DGMLWriter.h
  • /home/runner/work/XII/XII/Source/Engine/Foundation/Utilities/Implementation/DGMLWriter.cpp