VTK: vtkMutableDirectedGraph Class Reference

| VTK 9.3.1

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkMutableDirectedGraph Class Reference

An editable directed graph. More...

`#include <vtkMutableDirectedGraph.h>`

Inheritance diagram for vtkMutableDirectedGraph:
[legend]
Collaboration diagram for vtkMutableDirectedGraph:
[legend]

## Public Types
typedef vtkDirectedGraph | Superclass
Public Types inherited from vtkDirectedGraph
typedef vtkGraph | Superclass
Public Types inherited from vtkGraph
typedef vtkDataObject | Superclass
Public Types inherited from vtkDataObject
enum | FieldAssociations { FIELD_ASSOCIATION_POINTS , FIELD_ASSOCIATION_CELLS , FIELD_ASSOCIATION_NONE , FIELD_ASSOCIATION_POINTS_THEN_CELLS , FIELD_ASSOCIATION_VERTICES , FIELD_ASSOCIATION_EDGES , FIELD_ASSOCIATION_ROWS , NUMBER_OF_ASSOCIATIONS }
| Possible values for the FIELD_ASSOCIATION information entry. More...
enum | AttributeTypes { POINT , CELL , FIELD , POINT_THEN_CELL , VERTEX , EDGE , ROW , NUMBER_OF_ATTRIBUTE_TYPES }
| Possible attribute types. More...
enum | FieldOperations { FIELD_OPERATION_PRESERVED , FIELD_OPERATION_REINTERPOLATED , FIELD_OPERATION_MODIFIED , FIELD_OPERATION_REMOVED }
| Possible values for the FIELD_OPERATION information entry. More...
typedef vtkObject | Superclass

## Public Member Functions
virtual vtkTypeBool | IsA (const char *type)
| Return 1 if this class is the same type of (or a subclass of) the named class. More...
vtkMutableDirectedGraph * | NewInstance () const
void | PrintSelf (ostream &os, vtkIndent indent) override
| Methods invoked by print to print information about the object including superclasses. More...
virtual vtkIdType | SetNumberOfVertices (vtkIdType numVerts)
| Allocates space for the specified number of vertices in the graph's internal data structures. More...
vtkIdType | AddVertex ()
| Adds a vertex to the graph and returns the index of the new vertex. More...
vtkIdType | AddVertex (vtkVariantArray *propertyArr)
| Adds a vertex to the graph with associated properties defined in `propertyArr` and returns the index of the new vertex. More...
vtkIdType | AddVertex (const vtkVariant &pedigreeId)
| Adds a vertex with the given `pedigreeID` to the graph and returns the index of the new vertex. More...
vtkEdgeType | AddEdge (vtkIdType u, vtkIdType v)
| Adds a directed edge from `u` to `v`, where `u` and `v` are vertex indices, and returns a `vtkEdgeType` structure describing that edge. More...
vtkEdgeType | AddEdge (vtkIdType u, vtkIdType v, vtkVariantArray *propertyArr)
| Adds a directed edge from `u` to `v`, where `u` and `v` are vertex indices, with associated properties defined in `propertyArr` and returns a `vtkEdgeType` structure describing that edge. More...
vtkEdgeType | AddEdge (const vtkVariant &u, vtkIdType v, vtkVariantArray *propertyArr=nullptr)
| Adds a directed edge from `u` to `v`, where `u` is a vertex pedigree ID and `v` is a vertex index, and returns a `vtkEdgeType` structure describing that edge. More...
vtkEdgeType | AddEdge (vtkIdType u, const vtkVariant &v, vtkVariantArray *propertyArr=nullptr)
| Adds a directed edge from `u` to `v`, where `u` is a vertex index and `v` is a vertex pedigree ID, and returns a `vtkEdgeType` structure describing that edge. More...
vtkEdgeType | AddEdge (const vtkVariant &u, const vtkVariant &v, vtkVariantArray *propertyArr=nullptr)
| Adds a directed edge from `u` to `v`, where `u` and `v` are vertex pedigree IDs, and returns a `vtkEdgeType` structure describing that edge. More...
void | LazyAddVertex ()
| Adds a vertex to the graph. More...
void | LazyAddVertex (vtkVariantArray *propertyArr)
| Adds a vertex to the graph with associated properties defined in `propertyArr`. More...
void | LazyAddVertex (const vtkVariant &pedigreeId)
| Adds a vertex with the given `pedigreeID` to the graph. More...
void | LazyAddEdge (vtkIdType u, vtkIdType v, vtkVariantArray *propertyArr=nullptr)
| Adds a directed edge from `u` to `v`, where `u` and `v` are vertex indices. More...
void | LazyAddEdge (const vtkVariant &u, vtkIdType v, vtkVariantArray *propertyArr=nullptr)
| Adds a directed edge from `u` to `v`, where `u` is a vertex pedigree ID and `v` is a vertex index. More...
void | LazyAddEdge (vtkIdType u, const vtkVariant &v, vtkVariantArray *propertyArr=nullptr)
| Adds a directed edge from `u` to `v`, where `u` is a vertex index and `v` is a vertex pedigree ID. More...
void | LazyAddEdge (const vtkVariant &u, const vtkVariant &v, vtkVariantArray *propertyArr=nullptr)
| Adds a directed edge from `u` to `v`, where `u` and `v` are vertex pedigree IDs. More...
vtkGraphEdge * | AddGraphEdge (vtkIdType u, vtkIdType v)
| Variant of AddEdge() that returns a heavyweight `vtkGraphEdge` object. More...
vtkIdType | AddChild (vtkIdType parent, vtkVariantArray *propertyArr)
| Convenience method for creating trees. More...
vtkIdType | AddChild (vtkIdType parent)
void | RemoveVertex (vtkIdType v)
| Removes the vertex from the graph along with any connected edges. More...
void | RemoveEdge (vtkIdType e)
| Removes the edge from the graph. More...
void | RemoveVertices (vtkIdTypeArray *arr)
| Removes a collection of vertices from the graph along with any connected edges. More...
void | RemoveEdges (vtkIdTypeArray *arr)
| Removes a collection of edges from the graph. More...
Public Member Functions inherited from vtkDirectedGraph
vtkDirectedGraph * | NewInstance () const
int | GetDataObjectType () override
| Return what type of dataset this is. More...
bool | IsStructureValid (vtkGraph *g) override
| Check the storage, and accept it if it is a valid undirected graph. More...
Public Member Functions inherited from vtkGraph
vtkGraph * | NewInstance () const
int | GetDataObjectType () override
| Return what type of dataset this is. More...
void | Initialize () override
| Initialize to an empty graph. More...
void | ComputeBounds ()
| Compute the bounds of the graph. More...
vtkMTimeType | GetMTime () override
| The modified time of the graph. More...
virtual void | GetOutEdges (vtkIdType v, vtkOutEdgeIterator *it)
| Initializes the out edge iterator to iterate over all outgoing edges of vertex v. More...
virtual vtkIdType | GetDegree (vtkIdType v)
| The total of all incoming and outgoing vertices for vertex v. More...
virtual vtkIdType | GetOutDegree (vtkIdType v)
| The number of outgoing edges from vertex v. More...
virtual vtkOutEdgeType | GetOutEdge (vtkIdType v, vtkIdType index)
| Random-access method for retrieving outgoing edges from vertex v. More...
virtual void | GetOutEdge (vtkIdType v, vtkIdType index, vtkGraphEdge *e)
| Random-access method for retrieving outgoing edges from vertex v. More...
virtual void | GetInEdges (vtkIdType v, vtkInEdgeIterator *it)
| Initializes the in edge iterator to iterate over all incoming edges to vertex v. More...
virtual vtkIdType | GetInDegree (vtkIdType v)
| The number of incoming edges to vertex v. More...
virtual vtkInEdgeType | GetInEdge (vtkIdType v, vtkIdType index)
| Random-access method for retrieving incoming edges to vertex v. More...
virtual void | GetInEdge (vtkIdType v, vtkIdType index, vtkGraphEdge *e)
| Random-access method for retrieving incoming edges to vertex v. More...
virtual void | GetAdjacentVertices (vtkIdType v, vtkAdjacentVertexIterator *it)
| Initializes the adjacent vertex iterator to iterate over all outgoing vertices from vertex v. More...
virtual void | GetEdges (vtkEdgeListIterator *it)
| Initializes the edge list iterator to iterate over all edges in the graph. More...
virtual vtkIdType | GetNumberOfEdges ()
| The number of edges in the graph. More...
virtual void | GetVertices (vtkVertexListIterator *it)
| Initializes the vertex list iterator to iterate over all vertices in the graph. More...
virtual vtkIdType | GetNumberOfVertices ()
| The number of vertices in the graph. More...
void | SetDistributedGraphHelper (vtkDistributedGraphHelper *helper)
| Sets the distributed graph helper of this graph, turning it into a distributed graph. More...
vtkDistributedGraphHelper * | GetDistributedGraphHelper ()
| Retrieves the distributed graph helper for this graph. More...
vtkIdType | FindVertex (const vtkVariant &pedigreeID)
| Retrieve the vertex with the given pedigree ID. More...
void | ShallowCopy (vtkDataObject *obj) override
| Shallow copies the data object into this graph. More...
void | DeepCopy (vtkDataObject *obj) override
| Deep copies the data object into this graph. More...
virtual void | CopyStructure (vtkGraph *g)
| Does a shallow copy of the topological information, but not the associated attributes. More...
virtual bool | CheckedShallowCopy (vtkGraph *g)
| Performs the same operation as ShallowCopy(), but instead of reporting an error for an incompatible graph, returns false. More...
virtual bool | CheckedDeepCopy (vtkGraph *g)
| Performs the same operation as DeepCopy(), but instead of reporting an error for an incompatible graph, returns false. More...
virtual void | Squeeze ()
| Reclaim unused memory. More...
unsigned long | GetActualMemorySize () override
| Return the actual size of the data in kibibytes (1024 bytes). More...
void | ReorderOutVertices (vtkIdType v, vtkIdTypeArray *vertices)
| Reorder the outgoing vertices of a vertex. More...
bool | IsSameStructure (vtkGraph *other)
| Returns true if both graphs point to the same adjacency structure. More...
vtkIdType | GetNumberOfEdgePoints (vtkIdType e)
| Get the number of edge points associated with an edge. More...
double * | GetEdgePoint (vtkIdType e, vtkIdType i)
| Get the x,y,z location of a point along edge e. More...
void | ClearEdgePoints (vtkIdType e)
| Clear all points associated with an edge. More...
void | SetEdgePoint (vtkIdType e, vtkIdType i, const double x[3])
| Set an x,y,z location of a point along an edge. More...
void | SetEdgePoint (vtkIdType e, vtkIdType i, double x, double y, double z)
void | AddEdgePoint (vtkIdType e, const double x[3])
| Adds a point to the end of the list of edge points for a certain edge. More...
void | AddEdgePoint (vtkIdType e, double x, double y, double z)
vtkGraphInternals * | GetGraphInternals (bool modifying)
| Returns the internal representation of the graph. More...
void | GetInducedEdges (vtkIdTypeArray *verts, vtkIdTypeArray *edges)
| Fills a list of edge indices with the edges contained in the induced subgraph formed by the vertices in the vertex list. More...
vtkFieldData * | GetAttributesAsFieldData (int type) override
| Returns the attributes of the data object as a vtkFieldData. More...
vtkIdType | GetNumberOfElements (int type) override
| Get the number of elements for a specific attribute type (VERTEX, EDGE, etc.). More...
void | Dump ()
| Dump the contents of the graph to standard output. More...
vtkIdType | GetEdgeId (vtkIdType a, vtkIdType b)
| Returns the Id of the edge between vertex a and vertex b. More...
bool | ToDirectedGraph (vtkDirectedGraph *g)
| Convert the graph to a directed graph. More...
bool | ToUndirectedGraph (vtkUndirectedGraph *g)
| Convert the graph to an undirected graph. More...
virtual vtkDataSetAttributes * | GetVertexData ()
| Get the vertex or edge data. More...
virtual vtkDataSetAttributes * | GetEdgeData ()
| Get the vertex or edge data. More...
double * | GetPoint (vtkIdType ptId)
| These methods return the point (0,0,0) until the points structure is created, when it returns the actual point position. More...
void | GetPoint (vtkIdType ptId, double x[3])
| These methods return the point (0,0,0) until the points structure is created, when it returns the actual point position. More...
vtkPoints * | GetPoints ()
| Returns the points array for this graph. More...
virtual void | SetPoints (vtkPoints *points)
| Returns the points array for this graph. More...
double * | GetBounds ()
| Return a pointer to the geometry bounding box in the form (xmin,xmax, ymin,ymax, zmin,zmax). More...
void | GetBounds (double bounds[6])
| Return a pointer to the geometry bounding box in the form (xmin,xmax, ymin,ymax, zmin,zmax). More...
vtkIdType | GetSourceVertex (vtkIdType e)
| Retrieve the source and target vertices for an edge id. More...
vtkIdType | GetTargetVertex (vtkIdType e)
| Retrieve the source and target vertices for an edge id. More...
void | SetEdgePoints (vtkIdType e, vtkIdType npts, const double pts[])
| Get/Set the internal edge control points associated with each edge. More...
void | GetEdgePoints (vtkIdType e, vtkIdType &npts, double *&pts)
| Get/Set the internal edge control points associated with each edge. More...
void | ShallowCopyEdgePoints (vtkGraph *g)
| Copy the internal edge point data from another graph into this graph. More...
void | DeepCopyEdgePoints (vtkGraph *g)
| Copy the internal edge point data from another graph into this graph. More...
Public Member Functions inherited from vtkDataObject
vtkDataObject * | NewInstance () const
void | ReleaseData ()
| Release data back to system to conserve memory resource. More...
vtkMTimeType | GetUpdateTime ()
| Used by Threaded ports to determine if they should initiate an asynchronous update (still in development). More...
virtual void | CopyInformationFromPipeline (vtkInformation *vtkNotUsed(info))
| Copy from the pipeline information to the data object's own information. More...
virtual void | CopyInformationToPipeline (vtkInformation *vtkNotUsed(info))
| Copy information from this data object to the pipeline information. More...
void | DataHasBeenGenerated ()
| This method is called by the source when it executes to generate data. More...
virtual void | PrepareForNewData ()
| make the output data ready for new data to be inserted. More...
virtual int | GetExtentType ()
| The ExtentType will be left as VTK_PIECES_EXTENT for data objects such as vtkPolyData and vtkUnstructuredGrid. More...
virtual void | Crop (const int *updateExtent)
| This method crops the data object (if necessary) so that the extent matches the update extent. More...
virtual vtkDataSetAttributes * | GetAttributes (int type)
| Returns the attributes of the data object of the specified attribute type. More...
virtual vtkUnsignedCharArray * | GetGhostArray (int type)
| Returns the ghost arrays of the data object of the specified attribute type. More...
virtual int | GetAttributeTypeForArray (vtkAbstractArray *arr)
| Retrieves the attribute type that an array came from. More...
virtual vtkInformation * | GetInformation ()
| Set/Get the information object associated with this data object. More...
virtual void | SetInformation (vtkInformation *)
| Set/Get the information object associated with this data object. More...
virtual vtkTypeBool | GetDataReleased ()
| Get the flag indicating the data has been released. More...
virtual void | SetFieldData (vtkFieldData *)
| Assign or retrieve a general field data to this data object. More...
virtual vtkFieldData * | GetFieldData ()
| Assign or retrieve a general field data to this data object. More...
void | GlobalReleaseDataFlagOn ()
| Turn on/off flag to control whether every object releases its data after being used by a filter. More...
void | GlobalReleaseDataFlagOff ()
| Turn on/off flag to control whether every object releases its data after being used by a filter. More...
Public Member Functions inherited from vtkObject
| vtkBaseTypeMacro (vtkObject, vtkObjectBase)
virtual void | DebugOn ()
| Turn debugging output on. More...
virtual void | DebugOff ()
| Turn debugging output off. More...
bool | GetDebug ()
| Get the value of the debug flag. More...
void | SetDebug (bool debugFlag)
| Set the value of the debug flag. More...
virtual void | Modified ()
| Update the modification time for this object. More...
void | RemoveObserver (unsigned long tag)
void | RemoveObservers (unsigned long event)
void | RemoveObservers (const char *event)
void | RemoveAllObservers ()
vtkTypeBool | HasObserver (unsigned long event)
vtkTypeBool | HasObserver (const char *event)
vtkTypeBool | InvokeEvent (unsigned long event)
vtkTypeBool | InvokeEvent (const char *event)
std::string | GetObjectDescription () const override
| The object description printed in messages and PrintSelf output. More...
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
vtkCommand * | GetCommand (unsigned long tag)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
void | RemoveObserver (vtkCommand *)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
void | RemoveObservers (unsigned long event, vtkCommand *)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
void | RemoveObservers (const char *event, vtkCommand *)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
vtkTypeBool | HasObserver (const char *event, vtkCommand *)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
template<class U , class T >
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
template<class U , class T >
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
template<class U , class T >
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
| Allow user to set the AbortFlagOn() with the return value of the callback method. More...
vtkTypeBool | InvokeEvent (unsigned long event, void *callData)
| This method invokes an event and return whether the event was aborted or not. More...
vtkTypeBool | InvokeEvent (const char *event, void *callData)
| This method invokes an event and return whether the event was aborted or not. More...
virtual void | SetObjectName (const std::string &objectName)
| Set/get the name of this object for reporting purposes. More...
virtual std::string | GetObjectName () const
| Set/get the name of this object for reporting purposes. More...
Public Member Functions inherited from vtkObjectBase
const char * | GetClassName () const
| Return the class name as a string. More...
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name)
| Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
virtual void | Delete ()
| Delete a VTK object. More...
virtual void | FastDelete ()
| Delete a reference to this object. More...
void | InitializeObjectBase ()
void | Print (ostream &os)
| Print an object to an ostream. More...
virtual void | Register (vtkObjectBase *o)
| Increase the reference count (mark as used by another object). More...
virtual void | UnRegister (vtkObjectBase *o)
| Decrease the reference count (release by another object). More...
int | GetReferenceCount ()
| Return the current reference count of this object. More...
void | SetReferenceCount (int)
| Sets the reference count. More...
bool | GetIsInMemkind () const
| A local state flag that remembers whether this object lives in the normal or extended memory space. More...
virtual void | PrintHeader (ostream &os, vtkIndent indent)
| Methods invoked by print to print information about the object including superclasses. More...
virtual void | PrintTrailer (ostream &os, vtkIndent indent)
| Methods invoked by print to print information about the object including superclasses. More...
virtual bool | UsesGarbageCollector () const
| Indicate whether the class uses `vtkGarbageCollector` or not. More...

## Static Public Member Functions
static vtkMutableDirectedGraph * | New ()
static vtkTypeBool | IsTypeOf (const char *type)
static vtkMutableDirectedGraph * | SafeDownCast (vtkObjectBase *o)
Static Public Member Functions inherited from vtkDirectedGraph
static vtkDirectedGraph * | New ()
static vtkTypeBool | IsTypeOf (const char *type)
static vtkDirectedGraph * | SafeDownCast (vtkObjectBase *o)
static vtkDirectedGraph * | GetData (vtkInformation *info)
| Retrieve a graph from an information vector. More...
static vtkDirectedGraph * | GetData (vtkInformationVector *v, int i=0)
| Retrieve a graph from an information vector. More...
Static Public Member Functions inherited from vtkGraph
static vtkTypeBool | IsTypeOf (const char *type)
static vtkGraph * | SafeDownCast (vtkObjectBase *o)
static vtkGraph * | GetData (vtkInformation *info)
| Retrieve a graph from an information vector. More...
static vtkGraph * | GetData (vtkInformationVector *v, int i=0)
| Retrieve a graph from an information vector. More...
Static Public Member Functions inherited from vtkDataObject
static vtkDataObject * | New ()
static vtkTypeBool | IsTypeOf (const char *type)
static vtkDataObject * | SafeDownCast (vtkObjectBase *o)
static vtkInformation * | GetActiveFieldInformation (vtkInformation *info, int fieldAssociation, int attributeType)
| Return the information object within the input information object's field data corresponding to the specified association (FIELD_ASSOCIATION_POINTS or FIELD_ASSOCIATION_CELLS) and attribute (SCALARS, VECTORS, NORMALS, TCOORDS, or TENSORS) More...
static vtkInformation * | GetNamedFieldInformation (vtkInformation *info, int fieldAssociation, const char *name)
| Return the information object within the input information object's field data corresponding to the specified association (FIELD_ASSOCIATION_POINTS or FIELD_ASSOCIATION_CELLS) and name. More...
static void | RemoveNamedFieldInformation (vtkInformation *info, int fieldAssociation, const char *name)
| Remove the info associated with an array. More...
static vtkInformation * | SetActiveAttribute (vtkInformation *info, int fieldAssociation, const char *attributeName, int attributeType)
| Set the named array to be the active field for the specified type (SCALARS, VECTORS, NORMALS, TCOORDS, or TENSORS) and association (FIELD_ASSOCIATION_POINTS or FIELD_ASSOCIATION_CELLS). More...
static void | SetActiveAttributeInfo (vtkInformation *info, int fieldAssociation, int attributeType, const char *name, int arrayType, int numComponents, int numTuples)
| Set the name, array type, number of components, and number of tuples within the passed information object for the active attribute of type attributeType (in specified association, FIELD_ASSOCIATION_POINTS or FIELD_ASSOCIATION_CELLS). More...
static void | SetPointDataActiveScalarInfo (vtkInformation *info, int arrayType, int numComponents)
| Convenience version of previous method for use (primarily) by the Imaging filters. More...
static const char * | GetAssociationTypeAsString (int associationType)
| Given an integer association type, this static method returns a string type for the attribute (i.e. More...
static int | GetAssociationTypeFromString (const char *associationName)
| Given a string association name, this static method returns an integer association type for the attribute (i.e. More...
static vtkInformationStringKey * | DATA_TYPE_NAME ()
static vtkInformationDataObjectKey * | DATA_OBJECT ()
static vtkInformationIntegerKey * | DATA_EXTENT_TYPE ()
static vtkInformationIntegerPointerKey * | DATA_EXTENT ()
static vtkInformationIntegerVectorKey * | ALL_PIECES_EXTENT ()
static vtkInformationIntegerKey * | DATA_PIECE_NUMBER ()
static vtkInformationIntegerKey * | DATA_NUMBER_OF_PIECES ()
static vtkInformationIntegerKey * | DATA_NUMBER_OF_GHOST_LEVELS ()
static vtkInformationDoubleKey * | DATA_TIME_STEP ()
static vtkInformationInformationVectorKey * | POINT_DATA_VECTOR ()
static vtkInformationInformationVectorKey * | CELL_DATA_VECTOR ()
static vtkInformationInformationVectorKey * | VERTEX_DATA_VECTOR ()
static vtkInformationInformationVectorKey * | EDGE_DATA_VECTOR ()
static vtkInformationIntegerKey * | FIELD_ARRAY_TYPE ()
static vtkInformationIntegerKey * | FIELD_ASSOCIATION ()
static vtkInformationIntegerKey * | FIELD_ATTRIBUTE_TYPE ()
static vtkInformationIntegerKey * | FIELD_ACTIVE_ATTRIBUTE ()
static vtkInformationIntegerKey * | FIELD_NUMBER_OF_COMPONENTS ()
static vtkInformationIntegerKey * | FIELD_NUMBER_OF_TUPLES ()
static vtkInformationIntegerKey * | FIELD_OPERATION ()
static vtkInformationDoubleVectorKey * | FIELD_RANGE ()
static vtkInformationIntegerVectorKey * | PIECE_EXTENT ()
static vtkInformationStringKey * | FIELD_NAME ()
static vtkInformationDoubleVectorKey * | ORIGIN ()
static vtkInformationDoubleVectorKey * | SPACING ()
static vtkInformationDoubleVectorKey * | DIRECTION ()
static vtkInformationDoubleVectorKey * | BOUNDING_BOX ()
static vtkInformationDataObjectKey * | SIL ()
static vtkDataObject * | GetData (vtkInformation *info)
| Retrieve an instance of this class from an information object. More...
static vtkDataObject * | GetData (vtkInformationVector *v, int i=0)
| Retrieve an instance of this class from an information object. More...
static void | SetGlobalReleaseDataFlag (vtkTypeBool val)
| Turn on/off flag to control whether every object releases its data after being used by a filter. More...
static vtkTypeBool | GetGlobalReleaseDataFlag ()
| Turn on/off flag to control whether every object releases its data after being used by a filter. More...
Static Public Member Functions inherited from vtkObject
static vtkObject * | New ()
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
static void | BreakOnError ()
| This method is called when vtkErrorMacro executes. More...
static void | SetGlobalWarningDisplay (vtkTypeBool val)
| This is a global flag that controls whether any debug, warning or error messages are displayed. More...
static void | GlobalWarningDisplayOn ()
| This is a global flag that controls whether any debug, warning or error messages are displayed. More...
static void | GlobalWarningDisplayOff ()
| This is a global flag that controls whether any debug, warning or error messages are displayed. More...
static vtkTypeBool | GetGlobalWarningDisplay ()
| This is a global flag that controls whether any debug, warning or error messages are displayed. More...
Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool | IsTypeOf (const char *name)
| Return 1 if this class type is the same type of (or a subclass of) the named class. More...
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name)
| Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
static vtkObjectBase * | New ()
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
static void | SetMemkindDirectory (const char *directoryname)
| The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. More...
static bool | GetUsingMemkind ()
| A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. More...

## Protected Member Functions
virtual vtkObjectBase * | NewInstanceInternal () const
| vtkMutableDirectedGraph ()
| ~vtkMutableDirectedGraph () override
Protected Member Functions inherited from vtkDirectedGraph
| vtkDirectedGraph ()
| ~vtkDirectedGraph () override
Protected Member Functions inherited from vtkGraph
| vtkGraph ()
| ~vtkGraph () override
void | AddVertexInternal (vtkVariantArray *propertyArr=nullptr, vtkIdType *vertex=nullptr)
| Protected method for adding vertices, optionally with properties, used by mutable subclasses. More...
void | AddVertexInternal (const vtkVariant &pedigree, vtkIdType *vertex)
| Adds a vertex with the given pedigree ID to the graph. More...
void | RemoveVertexInternal (vtkIdType v, bool directed)
| Removes a vertex from the graph, along with any adjacent edges. More...
void | RemoveEdgeInternal (vtkIdType e, bool directed)
| Removes an edge from the graph. More...
void | RemoveVerticesInternal (vtkIdTypeArray *arr, bool directed)
| Removes a collection of vertices from the graph, along with any adjacent edges. More...
void | RemoveEdgesInternal (vtkIdTypeArray *arr, bool directed)
| Removes a collection of edges from the graph. More...
virtual void | CopyInternal (vtkGraph *g, bool deep)
| Copy internal data structure. More...
void | SetInternals (vtkGraphInternals *internals)
| Private method for setting internals. More...
void | SetEdgePoints (vtkGraphEdgePoints *edgePoints)
| Private method for setting edge points. More...
void | ForceOwnership ()
| If this instance does not own its internals, it makes a copy of the internals. More...
void | BuildEdgeList ()
| Builds a mapping from edge id to source/target vertex id. More...
void | AddEdgeInternal (vtkIdType u, vtkIdType v, bool directed, vtkVariantArray *propertyArr, vtkEdgeType *edge)
| Protected method for adding edges of a certain directedness used by mutable subclasses. More...
void | AddEdgeInternal (const vtkVariant &uPedigree, vtkIdType v, bool directed, vtkVariantArray *propertyArr, vtkEdgeType *edge)
| Protected method for adding edges of a certain directedness used by mutable subclasses. More...
void | AddEdgeInternal (vtkIdType u, const vtkVariant &vPedigree, bool directed, vtkVariantArray *propertyArr, vtkEdgeType *edge)
| Protected method for adding edges of a certain directedness used by mutable subclasses. More...
void | AddEdgeInternal (const vtkVariant &uPedigree, const vtkVariant &vPedigree, bool directed, vtkVariantArray *propertyArr, vtkEdgeType *edge)
| Protected method for adding edges of a certain directedness used by mutable subclasses. More...
virtual void | GetOutEdges (vtkIdType v, const vtkOutEdgeType *&edges, vtkIdType &nedges)
| Fast access functions for iterators. More...
virtual void | GetInEdges (vtkIdType v, const vtkInEdgeType *&edges, vtkIdType &nedges)
| Fast access functions for iterators. More...
virtual vtkIdTypeArray * | GetEdgeList ()
| The optional mapping from edge id to source/target ids. More...
virtual void | SetEdgeList (vtkIdTypeArray *list)
| The optional mapping from edge id to source/target ids. More...
Protected Member Functions inherited from vtkDataObject
| vtkDataObject ()
| ~vtkDataObject () override
Protected Member Functions inherited from vtkObject
| vtkObject ()
| ~vtkObject () override
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
| These methods allow a command to exclusively grab all events. More...
void | InternalReleaseFocus ()
| These methods allow a command to exclusively grab all events. More...
Protected Member Functions inherited from vtkObjectBase
| vtkObjectBase ()
virtual | ~vtkObjectBase ()
virtual void | ReportReferences (vtkGarbageCollector *)
| vtkObjectBase (const vtkObjectBase &)
void | operator= (const vtkObjectBase &)

## Protected Attributes
vtkGraphEdge * | GraphEdge
| Graph edge that is reused of `AddGraphEdge` calls. More...
Protected Attributes inherited from vtkGraph
vtkGraphInternals * | Internals
| The adjacency list internals of this graph. More...
vtkDistributedGraphHelper * | DistributedHelper
| The distributed graph helper. More...
vtkGraphEdgePoints * | EdgePoints
| The structure for holding the edge points. More...
double | Bounds [6]
| (xmin,xmax, ymin,ymax, zmin,zmax) geometric bounds. More...
vtkTimeStamp | ComputeTime
| Time at which bounds were computed. More...
vtkDataSetAttributes * | VertexData
| The vertex and edge data. More...
vtkDataSetAttributes * | EdgeData
| The vertex and edge data. More...
vtkPoints * | Points
| The vertex locations. More...
vtkIdTypeArray * | EdgeList
| The optional mapping from edge id to source/target ids. More...
Protected Attributes inherited from vtkDataObject
vtkFieldData * | FieldData
vtkTypeBool | DataReleased
vtkTimeStamp | UpdateTime
vtkInformation * | Information
Protected Attributes inherited from vtkObject
bool | Debug
vtkTimeStamp | MTime
vtkSubjectHelper * | SubjectHelper
std::string | ObjectName
Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > | ReferenceCount
vtkWeakPointerBase ** | WeakPointers

## Additional Inherited Members
Static Protected Member Functions inherited from vtkObjectBase
static vtkMallocingFunction | GetCurrentMallocFunction ()
static vtkReallocingFunction | GetCurrentReallocFunction ()
static vtkFreeingFunction | GetCurrentFreeFunction ()
static vtkFreeingFunction | GetAlternateFreeFunction ()
Static Protected Attributes inherited from vtkGraph
static double | DefaultPoint [3]
| The vertex locations. More...

## Detailed Description

An editable directed graph.

vtkMutableDirectedGraph is a directed graph which has additional methods for adding edges and vertices. AddChild() is a convenience method for constructing trees. ShallowCopy(), DeepCopy(), CheckedShallowCopy() and CheckedDeepCopy() will succeed for instances of vtkDirectedGraph, vtkMutableDirectedGraph and vtkTree.

See also
  vtkDirectedGraph vtkGraph vtkTree

Examples:
  vtkMutableDirectedGraph (Examples)

Online Examples:

Tests:
  vtkMutableDirectedGraph (Tests)

Definition at line 45 of file vtkMutableDirectedGraph.h.

## Member Typedef Documentation

## ◆ Superclass

typedef vtkDirectedGraph vtkMutableDirectedGraph::Superclass

Definition at line 49 of file vtkMutableDirectedGraph.h.

## Constructor & Destructor Documentation

## ◆ vtkMutableDirectedGraph()

vtkMutableDirectedGraph::vtkMutableDirectedGraph | ( |  | ) |
| protected

## ◆ ~vtkMutableDirectedGraph()

vtkMutableDirectedGraph::~vtkMutableDirectedGraph | ( |  | ) |
| overrideprotected

## Member Function Documentation

## ◆ New()

static vtkMutableDirectedGraph* vtkMutableDirectedGraph::New | ( |  | ) |
| static

## ◆ IsTypeOf()

static vtkTypeBool vtkMutableDirectedGraph::IsTypeOf | ( | const char * | type | ) |
| static

## ◆ IsA()

virtual vtkTypeBool vtkMutableDirectedGraph::IsA | ( | const char * | name | ) |
| virtual

Return 1 if this class is the same type of (or a subclass of) the named class.

Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkDirectedGraph.

Reimplemented in vtkReebGraph.

## ◆ SafeDownCast()

static vtkMutableDirectedGraph* vtkMutableDirectedGraph::SafeDownCast | ( | vtkObjectBase * | o | ) |
| static

## ◆ NewInstanceInternal()

virtual vtkObjectBase* vtkMutableDirectedGraph::NewInstanceInternal | ( |  | ) | const
| protectedvirtual

Reimplemented from vtkDirectedGraph.

Reimplemented in vtkReebGraph.

## ◆ NewInstance()

vtkMutableDirectedGraph* vtkMutableDirectedGraph::NewInstance | ( |  | ) | const

## ◆ PrintSelf()

void vtkMutableDirectedGraph::PrintSelf | ( | ostream & | os,
|  | vtkIndent | indent
| ) |  |
| overridevirtual

Methods invoked by print to print information about the object including superclasses.

Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkDirectedGraph.

Reimplemented in vtkReebGraph.

## ◆ SetNumberOfVertices()

virtual vtkIdType vtkMutableDirectedGraph::SetNumberOfVertices | ( | vtkIdType | numVerts | ) |
| virtual

Allocates space for the specified number of vertices in the graph's internal data structures.

This has no effect on the number of vertex coordinate tuples or vertex attribute tuples allocated; you are responsible for guaranteeing these match. Also, this call is not implemented for distributed-memory graphs since the semantics are unclear; calling this function on a graph with a non-nullptr DistributedGraphHelper will generate an error message and no allocation will be performed.

## ◆ AddVertex() [1/3]

vtkIdType vtkMutableDirectedGraph::AddVertex | ( |  | ) |

Adds a vertex to the graph and returns the index of the new vertex.

Note
  In a distributed graph (i.e. a graph whose DistributedHelper is non-null), this routine cannot be used to add a vertex if the vertices in the graph have pedigree IDs, because this routine will always add the vertex locally, which may conflict with the proper location of the vertex based on the distribution of the pedigree IDs.

## ◆ AddVertex() [2/3]

vtkIdType vtkMutableDirectedGraph::AddVertex | ( | vtkVariantArray * | propertyArr | ) |

Adds a vertex to the graph with associated properties defined in `propertyArr` and returns the index of the new vertex.

The number and order of values in `propertyArr` must match up with the arrays in the vertex data retrieved by GetVertexData().

If a vertex with the given pedigree ID already exists, its properties will be overwritten with the properties in `propertyArr` and the existing vertex index will be returned.

Note
  In a distributed graph (i.e. a graph whose DistributedHelper is non-null) the vertex added or found might not be local. In this case, AddVertex will wait until the vertex can be added or found remotely, so that the proper vertex index can be returned. If you don't actually need to use the vertex index, consider calling LazyAddVertex, which provides better performance by eliminating the delays associated with returning the vertex index.

## ◆ AddVertex() [3/3]

vtkIdType vtkMutableDirectedGraph::AddVertex | ( | const vtkVariant & | pedigreeId | ) |

Adds a vertex with the given `pedigreeID` to the graph and returns the index of the new vertex.

If a vertex with the given pedigree ID already exists, the existing vertex index will be returned.

Note
  In a distributed graph (i.e. a graph whose DistributedHelper is non-null) the vertex added or found might not be local. In this case, AddVertex will wait until the vertex can be added or found remotely, so that the proper vertex index can be returned. If you don't actually need to use the vertex index, consider calling LazyAddVertex, which provides better performance by eliminating the delays associated with returning the vertex index.

## ◆ AddEdge() [1/5]

vtkEdgeType vtkMutableDirectedGraph::AddEdge | ( | vtkIdType | u,
|  | vtkIdType | v
| ) |  |

Adds a directed edge from `u` to `v`, where `u` and `v` are vertex indices, and returns a `vtkEdgeType` structure describing that edge.

`vtkEdgeType` contains fields for `Source` vertex index, `Target` vertex index, and edge index `Id`.

## ◆ AddEdge() [2/5]

vtkEdgeType vtkMutableDirectedGraph::AddEdge | ( | vtkIdType | u,
|  | vtkIdType | v,
|  | vtkVariantArray * | propertyArr
| ) |  |

Adds a directed edge from `u` to `v`, where `u` and `v` are vertex indices, with associated properties defined in `propertyArr` and returns a `vtkEdgeType` structure describing that edge.

The number and order of values in `propertyArr` must match up with the arrays in the edge data retrieved by GetEdgeData().

`vtkEdgeType` contains fields for `Source` vertex index, `Target` vertex index, and edge index `Id`.

## ◆ AddEdge() [3/5]

vtkEdgeType vtkMutableDirectedGraph::AddEdge | ( | const vtkVariant & | u,
|  | vtkIdType | v,
|  | vtkVariantArray * | propertyArr = `nullptr`
| ) |  |

Adds a directed edge from `u` to `v`, where `u` is a vertex pedigree ID and `v` is a vertex index, and returns a `vtkEdgeType` structure describing that edge.

The number and order of values in the optional parameter `propertyArr` must match up with the arrays in the edge data retrieved by GetEdgeData().

`vtkEdgeType` contains fields for `Source` vertex index, `Target` vertex index, and edge index `Id`.

## ◆ AddEdge() [4/5]

vtkEdgeType vtkMutableDirectedGraph::AddEdge | ( | vtkIdType | u,
|  | const vtkVariant & | v,
|  | vtkVariantArray * | propertyArr = `nullptr`
| ) |  |

Adds a directed edge from `u` to `v`, where `u` is a vertex index and `v` is a vertex pedigree ID, and returns a `vtkEdgeType` structure describing that edge.

The number and order of values in the optional parameter `propertyArr` must match up with the arrays in the edge data retrieved by GetEdgeData().

`vtkEdgeType` contains fields for `Source` vertex index, `Target` vertex index, and edge index `Id`.

## ◆ AddEdge() [5/5]

vtkEdgeType vtkMutableDirectedGraph::AddEdge | ( | const vtkVariant & | u,
|  | const vtkVariant & | v,
|  | vtkVariantArray * | propertyArr = `nullptr`
| ) |  |

Adds a directed edge from `u` to `v`, where `u` and `v` are vertex pedigree IDs, and returns a `vtkEdgeType` structure describing that edge.

The number and order of values in the optional parameter `propertyArr` must match up with the arrays in the edge data retrieved by GetEdgeData().

`vtkEdgeType` contains fields for `Source` vertex index, `Target` vertex index, and edge index `Id`.

## ◆ LazyAddVertex() [1/3]

void vtkMutableDirectedGraph::LazyAddVertex | ( |  | ) |

Adds a vertex to the graph.

This method is lazily evaluated for distributed graphs (i.e. graphs whose DistributedHelper is non-null) the next time Synchronize is called on the helper.

## ◆ LazyAddVertex() [2/3]

void vtkMutableDirectedGraph::LazyAddVertex | ( | vtkVariantArray * | propertyArr | ) |

Adds a vertex to the graph with associated properties defined in `propertyArr`.

The number and order of values in `propertyArr` must match up with the arrays in the vertex data retrieved by GetVertexData().

If a vertex with the given pedigree ID already exists, its properties will be overwritten with the properties in `propertyArr`.

This method is lazily evaluated for distributed graphs (i.e. graphs whose DistributedHelper is non-null) the next time Synchronize is called on the helper.

## ◆ LazyAddVertex() [3/3]

void vtkMutableDirectedGraph::LazyAddVertex | ( | const vtkVariant & | pedigreeId | ) |

Adds a vertex with the given `pedigreeID` to the graph.

If a vertex with the given pedigree ID already exists, no operation is performed.

This method is lazily evaluated for distributed graphs (i.e. graphs whose DistributedHelper is non-null) the next time Synchronize is called on the helper.

## ◆ LazyAddEdge() [1/4]

void vtkMutableDirectedGraph::LazyAddEdge | ( | vtkIdType | u,
|  | vtkIdType | v,
|  | vtkVariantArray * | propertyArr = `nullptr`
| ) |  |

Adds a directed edge from `u` to `v`, where `u` and `v` are vertex indices.

The number and order of values in the optional parameter `propertyArr` must match up with the arrays in the edge data retrieved by GetEdgeData().

This method is lazily evaluated for distributed graphs (i.e. graphs whose DistributedHelper is non-null) the next time Synchronize is called on the helper.

## ◆ LazyAddEdge() [2/4]

void vtkMutableDirectedGraph::LazyAddEdge | ( | const vtkVariant & | u,
|  | vtkIdType | v,
|  | vtkVariantArray * | propertyArr = `nullptr`
| ) |  |

Adds a directed edge from `u` to `v`, where `u` is a vertex pedigree ID and `v` is a vertex index.

The number and order of values in the optional parameter `propertyArr` must match up with the arrays in the edge data retrieved by GetEdgeData().

This method is lazily evaluated for distributed graphs (i.e. graphs whose DistributedHelper is non-null) the next time Synchronize is called on the helper.

## ◆ LazyAddEdge() [3/4]

void vtkMutableDirectedGraph::LazyAddEdge | ( | vtkIdType | u,
|  | const vtkVariant & | v,
|  | vtkVariantArray * | propertyArr = `nullptr`
| ) |  |

Adds a directed edge from `u` to `v`, where `u` is a vertex index and `v` is a vertex pedigree ID.

The number and order of values in the optional parameter `propertyArr` must match up with the arrays in the edge data retrieved by GetEdgeData().

This method is lazily evaluated for distributed graphs (i.e. graphs whose DistributedHelper is non-null) the next time Synchronize is called on the helper.

## ◆ LazyAddEdge() [4/4]

void vtkMutableDirectedGraph::LazyAddEdge | ( | const vtkVariant & | u,
|  | const vtkVariant & | v,
|  | vtkVariantArray * | propertyArr = `nullptr`
| ) |  |

Adds a directed edge from `u` to `v`, where `u` and `v` are vertex pedigree IDs.

The number and order of values in the optional parameter `propertyArr` must match up with the arrays in the edge data retrieved by GetEdgeData().

This method is lazily evaluated for distributed graphs (i.e. graphs whose DistributedHelper is non-null) the next time Synchronize is called on the helper.

## ◆ AddGraphEdge()

vtkGraphEdge* vtkMutableDirectedGraph::AddGraphEdge | ( | vtkIdType | u,
|  | vtkIdType | v
| ) |  |

Variant of AddEdge() that returns a heavyweight `vtkGraphEdge` object.

The graph owns the reference of the edge and will replace its contents on the next call to AddGraphEdge().

Note
  This is a less efficient method for use with wrappers. In C++ you should use the faster AddEdge().

## ◆ AddChild() [1/2]

vtkIdType vtkMutableDirectedGraph::AddChild | ( | vtkIdType | parent,
|  | vtkVariantArray * | propertyArr
| ) |  |

Convenience method for creating trees.

Returns the newly created vertex id. Shortcut for

vtkIdType v = g->AddVertex();
g->AddEdge(parent, v);
vtkIdType
int vtkIdType
Definition: vtkType.h:315

If non-null, `propertyArr` provides edge properties for the newly-created edge. The values in `propertyArr` must match up with the arrays in the edge data returned by GetEdgeData().

## ◆ AddChild() [2/2]

vtkIdType vtkMutableDirectedGraph::AddChild | ( | vtkIdType | parent | ) |
| inline

Definition at line 298 of file vtkMutableDirectedGraph.h.

## ◆ RemoveVertex()

void vtkMutableDirectedGraph::RemoveVertex | ( | vtkIdType | v | ) |

Removes the vertex from the graph along with any connected edges.

Note: This invalidates the last vertex index, which is reassigned to v.

## ◆ RemoveEdge()

void vtkMutableDirectedGraph::RemoveEdge | ( | vtkIdType | e | ) |

Removes the edge from the graph.

Note: This invalidates the last edge index, which is reassigned to e.

## ◆ RemoveVertices()

void vtkMutableDirectedGraph::RemoveVertices | ( | vtkIdTypeArray * | arr | ) |

Removes a collection of vertices from the graph along with any connected edges.

## ◆ RemoveEdges()

void vtkMutableDirectedGraph::RemoveEdges | ( | vtkIdTypeArray * | arr | ) |

Removes a collection of edges from the graph.

## Member Data Documentation

## ◆ GraphEdge

vtkGraphEdge* vtkMutableDirectedGraph::GraphEdge
| protected

Graph edge that is reused of `AddGraphEdge` calls.

Definition at line 329 of file vtkMutableDirectedGraph.h.

The documentation for this class was generated from the following file:

- Common/DataModel/vtkMutableDirectedGraph.h