VTK  9.0.20210926
vtkGraph.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkGraph.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
259 #ifndef vtkGraph_h
260 #define vtkGraph_h
261 
262 #include "vtkCommonDataModelModule.h" // For export macro
263 #include "vtkDataObject.h"
264 
266 class vtkCellArray;
267 class vtkEdgeListIterator;
269 class vtkDirectedGraph;
270 class vtkGraphEdge;
271 class vtkGraphEdgePoints;
273 class vtkGraphInternals;
274 class vtkIdTypeArray;
275 class vtkInEdgeIterator;
276 class vtkOutEdgeIterator;
277 class vtkPoints;
278 class vtkUndirectedGraph;
280 class vtkVariant;
281 class vtkVariantArray;
282 
283 // Forward declare some boost stuff even if boost wrappers
284 // are turned off.
285 namespace boost
286 {
287 class vtk_edge_iterator;
288 class vtk_out_edge_pointer_iterator;
289 class vtk_in_edge_pointer_iterator;
290 }
291 
292 // Edge structures.
294 {
295  vtkEdgeBase() = default;
297  : Id(id)
298  {
299  }
301 };
302 
304 {
305  vtkOutEdgeType() = default;
307  : vtkEdgeBase(id)
308  , Target(t)
309  {
310  }
312 };
313 
315 {
316  vtkInEdgeType() = default;
318  : vtkEdgeBase(id)
319  , Source(s)
320  {
321  }
323 };
324 
326 {
327  vtkEdgeType() = default;
329  : vtkEdgeBase(id)
330  , Source(s)
331  , Target(t)
332  {
333  }
336 };
337 
338 class VTKCOMMONDATAMODEL_EXPORT vtkGraph : public vtkDataObject
339 {
340 public:
341  vtkTypeMacro(vtkGraph, vtkDataObject);
342  void PrintSelf(ostream& os, vtkIndent indent) override;
343 
345 
348  vtkGetObjectMacro(VertexData, vtkDataSetAttributes);
349  vtkGetObjectMacro(EdgeData, vtkDataSetAttributes);
351 
355  int GetDataObjectType() override { return VTK_GRAPH; }
356 
360  void Initialize() override;
361 
363 
369  double* GetPoint(vtkIdType ptId);
370  void GetPoint(vtkIdType ptId, double x[3]);
372 
374 
382  virtual void SetPoints(vtkPoints* points);
384 
390 
392 
397  double* GetBounds();
398  void GetBounds(double bounds[6]);
400 
404  vtkMTimeType GetMTime() override;
405 
413 
421 
428 
433 
441 
448  virtual void GetInEdges(vtkIdType v, vtkInEdgeIterator* it);
449 
456 
461 
469 
477 
484  virtual void GetEdges(vtkEdgeListIterator* it);
485 
491 
498 
504 
511 
516 
525  vtkIdType FindVertex(const vtkVariant& pedigreeID);
526 
531  void ShallowCopy(vtkDataObject* obj) override;
532 
537  void DeepCopy(vtkDataObject* obj) override;
538 
543  virtual void CopyStructure(vtkGraph* g);
544 
550  virtual bool CheckedShallowCopy(vtkGraph* g);
551 
557  virtual bool CheckedDeepCopy(vtkGraph* g);
558 
562  virtual void Squeeze();
563 
571  unsigned long GetActualMemorySize() override;
572 
574 
578  static vtkGraph* GetData(vtkInformationVector* v, int i = 0);
580 
589 
594  bool IsSameStructure(vtkGraph* other);
595 
597 
609 
611 
616  void SetEdgePoints(vtkIdType e, vtkIdType npts, const double pts[]) VTK_SIZEHINT(pts, 3 * npts);
617  void GetEdgePoints(vtkIdType e, vtkIdType& npts, double*& pts) VTK_SIZEHINT(pts, 3 * npts);
619 
624 
629 
634 
640  void SetEdgePoint(vtkIdType e, vtkIdType i, const double x[3]);
641  void SetEdgePoint(vtkIdType e, vtkIdType i, double x, double y, double z)
642  {
643  double p[3] = { x, y, z };
644  this->SetEdgePoint(e, i, p);
645  }
646 
650  void AddEdgePoint(vtkIdType e, const double x[3]);
651  void AddEdgePoint(vtkIdType e, double x, double y, double z)
652  {
653  double p[3] = { x, y, z };
654  this->AddEdgePoint(e, p);
655  }
656 
658 
665 
672 
678 
686 
691 
695  void Dump();
696 
706 
711 
716 
717 protected:
719  ~vtkGraph() override;
720 
728  void AddVertexInternal(vtkVariantArray* propertyArr = nullptr, vtkIdType* vertex = nullptr);
729 
736  void AddVertexInternal(const vtkVariant& pedigree, vtkIdType* vertex);
737 
739 
746  vtkIdType u, vtkIdType v, bool directed, vtkVariantArray* propertyArr, vtkEdgeType* edge);
747  void AddEdgeInternal(const vtkVariant& uPedigree, vtkIdType v, bool directed,
748  vtkVariantArray* propertyArr, vtkEdgeType* edge);
749  void AddEdgeInternal(vtkIdType u, const vtkVariant& vPedigree, bool directed,
750  vtkVariantArray* propertyArr, vtkEdgeType* edge);
751  void AddEdgeInternal(const vtkVariant& uPedigree, const vtkVariant& vPedigree, bool directed,
752  vtkVariantArray* propertyArr, vtkEdgeType* edge);
754 
759  void RemoveVertexInternal(vtkIdType v, bool directed);
760 
765  void RemoveEdgeInternal(vtkIdType e, bool directed);
766 
770  void RemoveVerticesInternal(vtkIdTypeArray* arr, bool directed);
771 
775  void RemoveEdgesInternal(vtkIdTypeArray* arr, bool directed);
776 
781  virtual bool IsStructureValid(vtkGraph* g) = 0;
782 
786  virtual void CopyInternal(vtkGraph* g, bool deep);
787 
792 
797 
801  void SetInternals(vtkGraphInternals* internals);
802 
806  vtkGraphEdgePoints* EdgePoints;
807 
811  void SetEdgePoints(vtkGraphEdgePoints* edgePoints);
812 
818 
820 
823  virtual void GetOutEdges(vtkIdType v, const vtkOutEdgeType*& edges, vtkIdType& nedges);
824  virtual void GetInEdges(vtkIdType v, const vtkInEdgeType*& edges, vtkIdType& nedges);
826 
831 
833 
837  friend class vtkEdgeListIterator;
838  friend class vtkInEdgeIterator;
839  friend class vtkOutEdgeIterator;
844 
846 
852 
856  double Bounds[6];
857 
862 
864 
868  static double DefaultPoint[3];
870 
872 
875  vtkGetObjectMacro(EdgeList, vtkIdTypeArray);
876  virtual void SetEdgeList(vtkIdTypeArray* list);
879 
880 private:
881  vtkGraph(const vtkGraph&) = delete;
882  void operator=(const vtkGraph&) = delete;
883 };
884 
885 bool VTKCOMMONDATAMODEL_EXPORT operator==(vtkEdgeBase e1, vtkEdgeBase e2);
886 bool VTKCOMMONDATAMODEL_EXPORT operator!=(vtkEdgeBase e1, vtkEdgeBase e2);
887 VTKCOMMONDATAMODEL_EXPORT ostream& operator<<(ostream& out, vtkEdgeBase e);
888 
889 #endif
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:143
vtkInEdgeType::vtkInEdgeType
vtkInEdgeType(vtkIdType s, vtkIdType id)
Definition: vtkGraph.h:317
vtkGraph::AddEdgePoint
void AddEdgePoint(vtkIdType e, double x, double y, double z)
Definition: vtkGraph.h:651
vtkGraph::GetOutEdge
virtual void GetOutEdge(vtkIdType v, vtkIdType index, vtkGraphEdge *e)
Random-access method for retrieving outgoing edges from vertex v.
vtkEdgeBase::Id
vtkIdType Id
Definition: vtkGraph.h:300
operator<<
VTKCOMMONDATAMODEL_EXPORT ostream & operator<<(ostream &out, vtkEdgeBase e)
vtkGraph::GetInEdges
virtual void GetInEdges(vtkIdType v, const vtkInEdgeType *&edges, vtkIdType &nedges)
Fast access functions for iterators.
vtkGraph::GetDataObjectType
int GetDataObjectType() override
Return what type of dataset this is.
Definition: vtkGraph.h:355
vtkDistributedGraphHelper
helper for the vtkGraph class that allows the graph to be distributed across multiple memory spaces.
Definition: vtkDistributedGraphHelper.h:77
vtkGraph::GetDistributedGraphHelper
vtkDistributedGraphHelper * GetDistributedGraphHelper()
Retrieves the distributed graph helper for this graph.
vtkGraph::Points
vtkPoints * Points
The vertex locations.
Definition: vtkGraph.h:867
vtkUndirectedGraph
An undirected graph.
Definition: vtkUndirectedGraph.h:88
vtkGraphInternals
Internal representation of vtkGraph.
Definition: vtkGraphInternals.h:53
vtkGraph::GetEdgePoints
void GetEdgePoints(vtkIdType e, vtkIdType &npts, double *&pts)
Get/Set the internal edge control points associated with each edge.
vtkGraph::GetEdgePoint
double * GetEdgePoint(vtkIdType e, vtkIdType i)
Get the x,y,z location of a point along edge e.
vtkX3D::type
@ type
Definition: vtkX3D.h:522
vtkIdType
int vtkIdType
Definition: vtkType.h:332
vtkGraph::Initialize
void Initialize() override
Initialize to an empty graph.
vtkGraph::GetNumberOfEdgePoints
vtkIdType GetNumberOfEdgePoints(vtkIdType e)
Get the number of edge points associated with an edge.
VTK_GRAPH
#define VTK_GRAPH
Definition: vtkType.h:97
vtkGraph::Internals
vtkGraphInternals * Internals
The adjacency list internals of this graph.
Definition: vtkGraph.h:791
vtkGraph::ComputeTime
vtkTimeStamp ComputeTime
Time at which bounds were computed.
Definition: vtkGraph.h:861
vtkDataSetAttributes
represent and manipulate attribute data in a dataset
Definition: vtkDataSetAttributes.h:170
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:145
vtkGraph::GetNumberOfVertices
virtual vtkIdType GetNumberOfVertices()
The number of vertices in the graph.
vtkGraph::SetDistributedGraphHelper
void SetDistributedGraphHelper(vtkDistributedGraphHelper *helper)
Sets the distributed graph helper of this graph, turning it into a distributed graph.
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:52
vtkGraph::RemoveVertexInternal
void RemoveVertexInternal(vtkIdType v, bool directed)
Removes a vertex from the graph, along with any adjacent edges.
vtkGraph::GetData
static vtkGraph * GetData(vtkInformation *info)
Retrieve a graph from an information vector.
vtkGraph::SetPoints
virtual void SetPoints(vtkPoints *points)
Returns the points array for this graph.
vtkGraph::ComputeBounds
void ComputeBounds()
Compute the bounds of the graph.
vtkGraph::AddEdgeInternal
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.
vtkGraph::AddEdgeInternal
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.
vtkGraph::AddVertexInternal
void AddVertexInternal(const vtkVariant &pedigree, vtkIdType *vertex)
Adds a vertex with the given pedigree ID to the graph.
vtkOutEdgeType::vtkOutEdgeType
vtkOutEdgeType()=default
vtkEdgeBase::vtkEdgeBase
vtkEdgeBase(vtkIdType id)
Definition: vtkGraph.h:296
vtkGraph::GetGraphInternals
vtkGraphInternals * GetGraphInternals(bool modifying)
Returns the internal representation of the graph.
vtkGraph::DeepCopy
void DeepCopy(vtkDataObject *obj) override
Deep copies the data object into this graph.
vtkGraph::AddEdgePoint
void AddEdgePoint(vtkIdType e, const double x[3])
Adds a point to the end of the list of edge points for a certain edge.
vtkDirectedGraph
A directed graph.
Definition: vtkDirectedGraph.h:84
boost
Forward declaration required for Boost serialization.
Definition: vtkVariantArray.h:111
vtkGraph::GetNumberOfEdges
virtual vtkIdType GetNumberOfEdges()
The number of edges in the graph.
vtkGraph::GetBounds
void GetBounds(double bounds[6])
Return a pointer to the geometry bounding box in the form (xmin,xmax, ymin,ymax, zmin,...
vtkInEdgeIterator
Iterates through all incoming edges to a vertex.
Definition: vtkInEdgeIterator.h:65
vtkGraph::GetOutEdge
virtual vtkOutEdgeType GetOutEdge(vtkIdType v, vtkIdType index)
Random-access method for retrieving outgoing edges from vertex v.
vtkVariantArray
An array holding vtkVariants.
Definition: vtkVariantArray.h:119
vtkInEdgeType
Definition: vtkGraph.h:315
vtkGraph::BuildEdgeList
void BuildEdgeList()
Builds a mapping from edge id to source/target vertex id.
vtkGraph::GetPoint
double * GetPoint(vtkIdType ptId)
These methods return the point (0,0,0) until the points structure is created, when it returns the act...
vtkGraph::Dump
void Dump()
Dump the contents of the graph to standard output.
boost::vtk_out_edge_pointer_iterator
Definition: vtkBoostGraphAdapter.h:366
vtkGraph::CopyInternal
virtual void CopyInternal(vtkGraph *g, bool deep)
Copy internal data structure.
vtkGraph::SetEdgePoint
void SetEdgePoint(vtkIdType e, vtkIdType i, const double x[3])
Set an x,y,z location of a point along an edge.
vtkGraph::ForceOwnership
void ForceOwnership()
If this instance does not own its internals, it makes a copy of the internals.
vtkGraph::GetAttributesAsFieldData
vtkFieldData * GetAttributesAsFieldData(int type) override
Returns the attributes of the data object as a vtkFieldData.
vtkOutEdgeType::Target
vtkIdType Target
Definition: vtkGraph.h:311
vtkEdgeType::Source
vtkIdType Source
Definition: vtkGraph.h:334
vtkEdgeBase::vtkEdgeBase
vtkEdgeBase()=default
vtkFieldData
represent and manipulate fields of data
Definition: vtkFieldData.h:164
vtkGraph::GetInducedEdges
void GetInducedEdges(vtkIdTypeArray *verts, vtkIdTypeArray *edges)
Fills a list of edge indices with the edges contained in the induced subgraph formed by the vertices ...
vtkGraph::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkGraph::SetEdgePoints
void SetEdgePoints(vtkGraphEdgePoints *edgePoints)
Private method for setting edge points.
vtkGraph::VertexData
vtkDataSetAttributes * VertexData
The vertex and edge data.
Definition: vtkGraph.h:849
vtkGraph::AddEdgeInternal
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.
vtkEdgeType
Definition: vtkGraph.h:326
vtkGraph::IsStructureValid
virtual bool IsStructureValid(vtkGraph *g)=0
Subclasses override this method to accept the structure based on their requirements.
operator!=
bool VTKCOMMONDATAMODEL_EXPORT operator!=(vtkEdgeBase e1, vtkEdgeBase e2)
operator==
bool VTKCOMMONDATAMODEL_EXPORT operator==(vtkEdgeBase e1, vtkEdgeBase e2)
vtkX3D::points
@ points
Definition: vtkX3D.h:452
vtkGraph::EdgeList
vtkIdTypeArray * EdgeList
The optional mapping from edge id to source/target ids.
Definition: vtkGraph.h:877
vtkGraph::CheckedDeepCopy
virtual bool CheckedDeepCopy(vtkGraph *g)
Performs the same operation as DeepCopy(), but instead of reporting an error for an incompatible grap...
vtkGraph::GetInEdge
virtual void GetInEdge(vtkIdType v, vtkIdType index, vtkGraphEdge *e)
Random-access method for retrieving incoming edges to vertex v.
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:48
vtkGraph::RemoveVerticesInternal
void RemoveVerticesInternal(vtkIdTypeArray *arr, bool directed)
Removes a collection of vertices from the graph, along with any adjacent edges.
vtkGraph::DeepCopyEdgePoints
void DeepCopyEdgePoints(vtkGraph *g)
Copy the internal edge point data from another graph into this graph.
vtkGraph::GetOutDegree
virtual vtkIdType GetOutDegree(vtkIdType v)
The number of outgoing edges from vertex v.
vtkGraph::ClearEdgePoints
void ClearEdgePoints(vtkIdType e)
Clear all points associated with an edge.
vtkGraph::CheckedShallowCopy
virtual bool CheckedShallowCopy(vtkGraph *g)
Performs the same operation as ShallowCopy(), but instead of reporting an error for an incompatible g...
vtkGraph::RemoveEdgeInternal
void RemoveEdgeInternal(vtkIdType e, bool directed)
Removes an edge from the graph.
vtkGraph::GetInDegree
virtual vtkIdType GetInDegree(vtkIdType v)
The number of incoming edges to vertex v.
vtkOutEdgeType::vtkOutEdgeType
vtkOutEdgeType(vtkIdType t, vtkIdType id)
Definition: vtkGraph.h:306
vtkGraphEdge
Representation of a single graph edge.
Definition: vtkGraphEdge.h:40
vtkEdgeType::Target
vtkIdType Target
Definition: vtkGraph.h:335
vtkGraph::GetDegree
virtual vtkIdType GetDegree(vtkIdType v)
The total of all incoming and outgoing vertices for vertex v.
vtkGraph::ToUndirectedGraph
bool ToUndirectedGraph(vtkUndirectedGraph *g)
Convert the graph to an undirected graph.
vtkGraph::GetEdgeId
vtkIdType GetEdgeId(vtkIdType a, vtkIdType b)
Returns the Id of the edge between vertex a and vertex b.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:113
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:290
vtkGraph::SetEdgeList
virtual void SetEdgeList(vtkIdTypeArray *list)
The optional mapping from edge id to source/target ids.
vtkVariant
A atomic type representing the union of many types.
Definition: vtkVariant.h:155
vtkEdgeListIterator
Iterates through all edges in a graph.
Definition: vtkEdgeListIterator.h:70
vtkOutEdgeIterator
Iterates through all outgoing edges from a vertex.
Definition: vtkOutEdgeIterator.h:65
boost::vtk_in_edge_pointer_iterator
Definition: vtkBoostGraphAdapter.h:423
vtkGraph::GetNumberOfElements
vtkIdType GetNumberOfElements(int type) override
Get the number of elements for a specific attribute type (VERTEX, EDGE, etc.).
vtkGraph::GetTargetVertex
vtkIdType GetTargetVertex(vtkIdType e)
Retrieve the source and target vertices for an edge id.
vtkInEdgeType::Source
vtkIdType Source
Definition: vtkGraph.h:322
vtkGraph::GetPoint
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 act...
vtkGraph::GetAdjacentVertices
virtual void GetAdjacentVertices(vtkIdType v, vtkAdjacentVertexIterator *it)
Initializes the adjacent vertex iterator to iterate over all outgoing vertices from vertex v.
vtkGraph::EdgePoints
vtkGraphEdgePoints * EdgePoints
The structure for holding the edge points.
Definition: vtkGraph.h:806
vtkAdjacentVertexIterator
Iterates through adjacent vertices in a graph.
Definition: vtkAdjacentVertexIterator.h:64
vtkEdgeType::vtkEdgeType
vtkEdgeType(vtkIdType s, vtkIdType t, vtkIdType id)
Definition: vtkGraph.h:328
vtkGraph::GetVertices
virtual void GetVertices(vtkVertexListIterator *it)
Initializes the vertex list iterator to iterate over all vertices in the graph.
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:183
vtkGraph::EdgeData
vtkDataSetAttributes * EdgeData
The vertex and edge data.
Definition: vtkGraph.h:850
vtkGraph::GetOutEdges
virtual void GetOutEdges(vtkIdType v, vtkOutEdgeIterator *it)
Initializes the out edge iterator to iterate over all outgoing edges of vertex v.
vtkGraph::ToDirectedGraph
bool ToDirectedGraph(vtkDirectedGraph *g)
Convert the graph to a directed graph.
vtkEdgeBase
Definition: vtkGraph.h:294
vtkX3D::info
@ info
Definition: vtkX3D.h:382
vtkGraph::ShallowCopy
void ShallowCopy(vtkDataObject *obj) override
Shallow copies the data object into this graph.
vtkEdgeType::vtkEdgeType
vtkEdgeType()=default
vtkGraph::vtkGraph
vtkGraph()
vtkGraph::SetEdgePoints
void SetEdgePoints(vtkIdType e, vtkIdType npts, const double pts[])
Get/Set the internal edge control points associated with each edge.
vtkGraph::GetEdges
virtual void GetEdges(vtkEdgeListIterator *it)
Initializes the edge list iterator to iterate over all edges in the graph.
vtkIdTypeArray
dynamic, self-adjusting array of vtkIdType
Definition: vtkIdTypeArray.h:145
vtkOutEdgeType
Definition: vtkGraph.h:304
vtkGraph::GetInEdges
virtual void GetInEdges(vtkIdType v, vtkInEdgeIterator *it)
Initializes the in edge iterator to iterate over all incoming edges to vertex v.
vtkDataObject.h
vtkInEdgeType::vtkInEdgeType
vtkInEdgeType()=default
vtkGraph::ShallowCopyEdgePoints
void ShallowCopyEdgePoints(vtkGraph *g)
Copy the internal edge point data from another graph into this graph.
vtkGraph::IsSameStructure
bool IsSameStructure(vtkGraph *other)
Returns true if both graphs point to the same adjacency structure.
vtkGraph::ReorderOutVertices
void ReorderOutVertices(vtkIdType v, vtkIdTypeArray *vertices)
Reorder the outgoing vertices of a vertex.
vtkGraph::SetEdgePoint
void SetEdgePoint(vtkIdType e, vtkIdType i, double x, double y, double z)
Definition: vtkGraph.h:641
vtkGraph::SetInternals
void SetInternals(vtkGraphInternals *internals)
Private method for setting internals.
edges
std::pair< boost::graph_traits< vtkGraph * >::edge_iterator, boost::graph_traits< vtkGraph * >::edge_iterator > edges(vtkGraph *g)
Definition: vtkBoostGraphAdapter.h:1027
vtkGraph::DistributedHelper
vtkDistributedGraphHelper * DistributedHelper
The distributed graph helper.
Definition: vtkGraph.h:796
vtkGraph::GetBounds
double * GetBounds()
Return a pointer to the geometry bounding box in the form (xmin,xmax, ymin,ymax, zmin,...
vtkGraph::FindVertex
vtkIdType FindVertex(const vtkVariant &pedigreeID)
Retrieve the vertex with the given pedigree ID.
vtkVertexListIterator
Iterates all vertices in a graph.
Definition: vtkVertexListIterator.h:45
vertices
std::pair< boost::graph_traits< vtkGraph * >::vertex_iterator, boost::graph_traits< vtkGraph * >::vertex_iterator > vertices(vtkGraph *g)
Definition: vtkBoostGraphAdapter.h:1012
boost::vtk_edge_iterator
Definition: vtkBoostGraphAdapter.h:217
vtkGraph::AddVertexInternal
void AddVertexInternal(vtkVariantArray *propertyArr=nullptr, vtkIdType *vertex=nullptr)
Protected method for adding vertices, optionally with properties, used by mutable subclasses.
vtkGraph
Base class for graph data types.
Definition: vtkGraph.h:339
vtkGraph::GetOutEdges
virtual void GetOutEdges(vtkIdType v, const vtkOutEdgeType *&edges, vtkIdType &nedges)
Fast access functions for iterators.
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:169
vtkGraph::CopyStructure
virtual void CopyStructure(vtkGraph *g)
Does a shallow copy of the topological information, but not the associated attributes.
vtkGraph::GetInEdge
virtual vtkInEdgeType GetInEdge(vtkIdType v, vtkIdType index)
Random-access method for retrieving incoming edges to vertex v.
vtkGraph::~vtkGraph
~vtkGraph() override
vtkX3D::index
@ index
Definition: vtkX3D.h:252
vtkGraph::RemoveEdgesInternal
void RemoveEdgesInternal(vtkIdTypeArray *arr, bool directed)
Removes a collection of edges from the graph.
vtkGraph::GetSourceVertex
vtkIdType GetSourceVertex(vtkIdType e)
Retrieve the source and target vertices for an edge id.
vtkGraph::GetMTime
vtkMTimeType GetMTime() override
The modified time of the graph.
vtkGraph::GetPoints
vtkPoints * GetPoints()
Returns the points array for this graph.
vtkGraph::GetActualMemorySize
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
vtkGraph::AddEdgeInternal
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.
vtkGraph::Squeeze
virtual void Squeeze()
Reclaim unused memory.
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:287
vtkGraph::GetData
static vtkGraph * GetData(vtkInformationVector *v, int i=0)
Retrieve a graph from an information vector.