Open Search
    graph.h File Reference

    Classes

    struct  Wires
     
    class  GraphModelInterface
     
    class  GraphTransaction
     
    class  GraphNodeBase
     
    class  GraphNodeFunctions< BASE >
     
    class  GraphNode
     
    struct  IsZeroInitialized< GraphNode >
     
    class  GraphNodeResultBase< SUPER >
     
    class  GraphLib
     

    Namespaces

     maxon
     

    Macros

    #define PRIVATE_MAXON_GRAPHFN_PROLOGUE
     

    Typedefs

    using TimeStamp = UInt64
     
    using GraphConnection = Tuple< GraphNode, Wires >
     
    using IoNodePath = Tuple< NodePath, InternedId >
     
    using IoNodeConnection = Tuple< IoNodePath, IoNodePath >
     
    using IoGraphNode = Tuple< GraphNode, InternedId >
     

    Enumerations

    enum class  WIRE_MODE : UChar {
      NONE ,
      MIN ,
      NORMAL ,
      PROPAGATION ,
      AUTO_PROPAGATION ,
      MAX ,
      REMOVE ,
      ALL ,
      FLAG0 ,
      FLAG1 ,
      IMPLICIT ,
      ALL_INCLUDING_IMPLICIT ,
      INHERIT ,
      FLAGS_MASK ,
      FULL_MASK ,
      CONNECT_DEFAULT ,
      GETCONNECTIONS_DEFAULT
    }
     
    enum class  CONNECTION_POSITION {
      SOURCE ,
      CENTER ,
      TARGET
    }
     

    Functions

    enum maxon::WIRE_MODE UChar MAXON_ENUM_ORDERED_FLAGS (WIRE_MODE)
     
     MAXON_DATATYPE (Wires, "net.maxon.graph.wires")
     
    enum maxon::CONNECTION_POSITION MAXON_ENUM_ORDERED_LIST (CONNECTION_POSITION)
     
    CONNECTION_POSITION Reverse (CONNECTION_POSITION pos)
     
     MAXON_DATATYPE (GraphTransaction, "net.maxon.graph.graphtransaction")
     
     MAXON_DATATYPE (GraphNode, "net.maxon.graph.graphnode")
     
    PORT_DIR GetConnectionDirection (const GraphNode &port)
     

    Variables

     NONE
     
     MIN
     
     NORMAL
     
     PROPAGATION
     
     AUTO_PROPAGATION
     
     MAX
     
     REMOVE
     
     ALL
     
     FLAG0
     
     FLAG1
     
     IMPLICIT
     
     ALL_INCLUDING_IMPLICIT
     
     INHERIT
     
     FLAGS_MASK
     
     FULL_MASK
     
     CONNECT_DEFAULT
     
     GETCONNECTIONS_DEFAULT
     
     SOURCE
     
     CENTER
     
     TARGET
     
     CONNECTIONS
     
     INDUCED_DEPENDENCIES
     
     DERIVATION_FILTER
     
     EXTERNAL_CONNECTIONS
     
     WITHOUT_INHIBITED
     
     INCLUDE_HIDDEN
     
     INTERNAL_CONNECTIONS
     
     SKIP_REROUTER
     
     COMPLETE
     
     DIRECT_ATTRIBUTE
     
     DIRECT_META_ATTRIBUTE
     
     INHERITED_ATTRIBUTE
     
     SYNTHESIZED_ATTRIBUTE
     
     USER_STATE_ATTRIBUTE
     
     NODE_ADDED
     
     CHILD_REMOVED
     
     INPUT_CONNECTION
     
     OUTPUT_CONNECTION
     
     SPECIAL0
     
     SPECIAL1
     
     SPECIAL_NAME
     
     ALL_MASK
     
     DERIVED_ATTRIBUTE_MASK
     
     DIRECT_ATTRIBUTE_MASK
     
     DATA_ATTRIBUTE_MASK
     
     ATTRIBUTE_MASK
     
     CONNECTION_MASK
     
     NODE_MASK
     
     STRUCTURE_MASK
     

    Macro Definition Documentation

    ◆ PRIVATE_MAXON_GRAPHFN_PROLOGUE

    #define PRIVATE_MAXON_GRAPHFN_PROLOGUE

    Variable Documentation

    ◆ NONE

    NONE

    No wire.

    No flag.

    No flags.

    ◆ MIN

    MIN

    A wire with minimum priority.

    ◆ NORMAL

    NORMAL

    A wire with normal priority.

    ◆ PROPAGATION

    PROPAGATION

    A wire with propagation priority.

    ◆ AUTO_PROPAGATION

    AUTO_PROPAGATION

    A wire with auto-propagation priority.

    ◆ MAX

    MAX

    A wire with maximum priority.

    ◆ REMOVE

    REMOVE

    Only used for MutablePort::Connect to tell that the an existing wire shall be removed.

    ◆ ALL

    ALL

    A mask for all explicit modes.

    ◆ FLAG0

    FLAG0

    A wire flag which can be used for wires which don't interpret the wire mode as priority, but as a bit set. Different from NORMAL and any other flag in WIRE_MODE.

    ◆ FLAG1

    FLAG1

    A wire flag which can be used for wires which don't interpret the wire mode as priority, but as a bit set. Different from NORMAL and any other flag in WIRE_MODE.

    ◆ IMPLICIT

    IMPLICIT

    Used as mask for implicit wires in MutablePort::GetConnections.

    ◆ ALL_INCLUDING_IMPLICIT

    ALL_INCLUDING_IMPLICIT

    A mask for all modes.

    ◆ INHERIT

    INHERIT

    Used for MutablePort::Connect to tell that the wire mode shall be inherited. (Also used internally.)

    ◆ FLAGS_MASK

    FLAGS_MASK

    Mask for FLAG0 | FLAG1.

    ◆ FULL_MASK

    FULL_MASK

    Complete mask for all bits of WIRE_MODE.

    ◆ CONNECT_DEFAULT

    CONNECT_DEFAULT

    Default mode for Connect methods.

    ◆ GETCONNECTIONS_DEFAULT

    GETCONNECTIONS_DEFAULT

    Default mode for GetConnections methods.

    ◆ SOURCE

    SOURCE

    The source position of a connection.

    ◆ CENTER

    CENTER

    The center position of a connection.

    ◆ TARGET

    TARGET

    < The target position of a connection.

    ◆ CONNECTIONS

    CONNECTIONS

    Report normal connections, the default.

    ◆ INDUCED_DEPENDENCIES

    INDUCED_DEPENDENCIES

    Report induced dependencies (due to loop dependencies or sequencing).

    ◆ DERIVATION_FILTER

    DERIVATION_FILTER

    Apply the derivation filter.

    ◆ EXTERNAL_CONNECTIONS

    EXTERNAL_CONNECTIONS

    Only report connections which leave the node to which the port belongs (so they are external to the node).

    ◆ WITHOUT_INHIBITED

    WITHOUT_INHIBITED

    Don't report inhibited connections (those where Wires::inhibit is present).

    ◆ INCLUDE_HIDDEN

    INCLUDE_HIDDEN

    Report connections where the hidden flag is set or which go to hidden ports.

    ◆ INTERNAL_CONNECTIONS

    INTERNAL_CONNECTIONS

    Only report connections which don't leave the node to which the port belongs (so they are internal to the node).

    ◆ SKIP_REROUTER

    SKIP_REROUTER

    Hop over rerouter nodes.

    ◆ COMPLETE

    COMPLETE

    The graph has changed completely. This is only reported for the root node.

    ◆ DIRECT_ATTRIBUTE

    DIRECT_ATTRIBUTE

    Direct non-meta attributes of the node have changed.

    ◆ DIRECT_META_ATTRIBUTE

    DIRECT_META_ATTRIBUTE

    Direct meta attributes of the node have changed (see GraphAttributeInterface::FLAGS::META).

    ◆ INHERITED_ATTRIBUTE

    INHERITED_ATTRIBUTE

    Inherited attributes (derived from left to right) of the node have changed.

    ◆ SYNTHESIZED_ATTRIBUTE

    SYNTHESIZED_ATTRIBUTE

    Synthesized attributes (derived from right to left) of the node have changed.

    ◆ USER_STATE_ATTRIBUTE

    USER_STATE_ATTRIBUTE

    User state attributes of the node have changed (see GraphAttributeInterface::FLAGS::USER_STATE).

    ◆ NODE_ADDED

    NODE_ADDED

    The node has been added.

    ◆ CHILD_REMOVED

    CHILD_REMOVED

    Children of the node have been removed.

    ◆ INPUT_CONNECTION

    INPUT_CONNECTION

    Input connections of the port have changed.

    ◆ OUTPUT_CONNECTION

    OUTPUT_CONNECTION

    Output connections of the port have changed.

    ◆ SPECIAL0

    SPECIAL0

    This is set to indicate a special change, the exact meaning is graph-specific.

    ◆ SPECIAL1

    SPECIAL1

    This is set to indicate a special change, the exact meaning is graph-specific.

    ◆ SPECIAL_NAME

    SPECIAL_NAME

    This is set to indicate a change which affects names of nodes or ports.

    ◆ ALL_MASK

    ALL_MASK

    A mask containing all possible MODIFIED bits.

    ◆ DERIVED_ATTRIBUTE_MASK

    DERIVED_ATTRIBUTE_MASK

    Derived attributes of the node have changed.

    ◆ DIRECT_ATTRIBUTE_MASK

    DIRECT_ATTRIBUTE_MASK

    Mask to test for changes to direct attributes (whether meta or non-meta).

    ◆ DATA_ATTRIBUTE_MASK

    DATA_ATTRIBUTE_MASK

    Mask to test for changes to attributes belonging to the data model of the graph (non-meta, non-user-state attributes).

    ◆ ATTRIBUTE_MASK

    ATTRIBUTE_MASK

    Mask to test for attribute changes.

    ◆ CONNECTION_MASK

    CONNECTION_MASK

    Mask to test for connection changes of ports.

    ◆ NODE_MASK

    NODE_MASK

    Mask to test for added or removed nodes.

    ◆ STRUCTURE_MASK

    STRUCTURE_MASK

    Mask to test for any structural change (changed connections, added or removed nodes).