VTK
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 -------------------------------------------------------------------------*/
216 #ifndef vtkGraph_h
217 #define vtkGraph_h
218 
219 #include "vtkCommonDataModelModule.h" // For export macro
220 #include "vtkDataObject.h"
221 
223 class vtkCellArray;
224 class vtkEdgeListIterator;
226 class vtkDirectedGraph;
227 class vtkGraphEdge;
228 class vtkGraphEdgePoints;
230 class vtkGraphInternals;
231 class vtkIdTypeArray;
232 class vtkInEdgeIterator;
233 class vtkOutEdgeIterator;
234 class vtkPoints;
235 class vtkUndirectedGraph;
237 class vtkVariant;
238 class vtkVariantArray;
239 
240 // Forward declare some boost stuff even if boost wrappers
241 // are turned off.
242 namespace boost
243 {
244  class vtk_edge_iterator;
245  class vtk_out_edge_pointer_iterator;
246  class vtk_in_edge_pointer_iterator;
247 }
248 
249 // Edge structures.
251 {
254  Id(id) { }
256 };
257 
259 {
262  vtkEdgeBase(id),
263  Target(t) { }
265 };
266 
268 {
271  vtkEdgeBase(id),
272  Source(s) { }
274 };
275 
277 {
280  vtkEdgeBase(id),
281  Source(s),
282  Target(t) { }
285 };
286 
287 class VTKCOMMONDATAMODEL_EXPORT vtkGraph : public vtkDataObject
288 {
289 public:
290  vtkTypeMacro(vtkGraph, vtkDataObject);
291  void PrintSelf(ostream& os, vtkIndent indent) override;
292 
294 
297  vtkGetObjectMacro(VertexData, vtkDataSetAttributes);
298  vtkGetObjectMacro(EdgeData, vtkDataSetAttributes);
300 
304  int GetDataObjectType() override {return VTK_GRAPH;}
305 
309  void Initialize() override;
310 
312 
318  double *GetPoint(vtkIdType ptId);
319  void GetPoint(vtkIdType ptId, double x[3]);
321 
323 
331  virtual void SetPoints(vtkPoints *points);
333 
339 
341 
346  double *GetBounds();
347  void GetBounds(double bounds[6]);
349 
353  vtkMTimeType GetMTime() override;
354 
362 
370 
377 
382 
390 
397  virtual void GetInEdges(vtkIdType v, vtkInEdgeIterator *it);
398 
405 
410 
418 
426 
433  virtual void GetEdges(vtkEdgeListIterator *it);
434 
440 
447 
453 
460 
465 
474  vtkIdType FindVertex(const vtkVariant& pedigreeID);
475 
480  void ShallowCopy(vtkDataObject *obj) override;
481 
486  void DeepCopy(vtkDataObject *obj) override;
487 
492  virtual void CopyStructure(vtkGraph *g);
493 
499  virtual bool CheckedShallowCopy(vtkGraph *g);
500 
506  virtual bool CheckedDeepCopy(vtkGraph *g);
507 
511  virtual void Squeeze();
512 
514 
518  static vtkGraph *GetData(vtkInformationVector *v, int i=0);
520 
529 
534  bool IsSameStructure(vtkGraph *other);
535 
537 
549 
551 
556  void SetEdgePoints(vtkIdType e, vtkIdType npts, const double pts[]) VTK_SIZEHINT(pts, 3 * npts);
557  void GetEdgePoints(vtkIdType e, vtkIdType& npts, double*& pts) VTK_SIZEHINT(pts, 3 * npts);
559 
564 
569 
574 
580  void SetEdgePoint(vtkIdType e, vtkIdType i, const double x[3]);
581  void SetEdgePoint(vtkIdType e, vtkIdType i, double x, double y, double z)
582  { double p[3] = {x, y, z}; this->SetEdgePoint(e, i, p); }
583 
587  void AddEdgePoint(vtkIdType e, const double x[3]);
588  void AddEdgePoint(vtkIdType e, double x, double y, double z)
589  { double p[3] = {x, y, z}; this->AddEdgePoint(e, p); }
590 
592 
599 
606 
612 
620 
625 
629  void Dump();
630 
640 
645 
650 
651 protected:
652 
654  ~vtkGraph() override;
655 
663  void AddVertexInternal(vtkVariantArray *propertyArr = nullptr,
664  vtkIdType *vertex = nullptr);
665 
672  void AddVertexInternal(const vtkVariant& pedigree, vtkIdType *vertex);
673 
675 
681  void AddEdgeInternal(vtkIdType u, vtkIdType v, bool directed,
682  vtkVariantArray *propertyArr, vtkEdgeType *edge);
683  void AddEdgeInternal(const vtkVariant& uPedigree, vtkIdType v, bool directed,
684  vtkVariantArray *propertyArr, vtkEdgeType *edge);
685  void AddEdgeInternal(vtkIdType u, const vtkVariant& vPedigree, bool directed,
686  vtkVariantArray *propertyArr, vtkEdgeType *edge);
687  void AddEdgeInternal(const vtkVariant& uPedigree, const vtkVariant& vPedigree,
688  bool directed, vtkVariantArray *propertyArr,
689  vtkEdgeType *edge);
691 
696  void RemoveVertexInternal(vtkIdType v, bool directed);
697 
702  void RemoveEdgeInternal(vtkIdType e, bool directed);
703 
707  void RemoveVerticesInternal(vtkIdTypeArray* arr, bool directed);
708 
712  void RemoveEdgesInternal(vtkIdTypeArray* arr, bool directed);
713 
718  virtual bool IsStructureValid(vtkGraph *g) = 0;
719 
723  virtual void CopyInternal(vtkGraph *g, bool deep);
724 
729 
734 
738  void SetInternals(vtkGraphInternals* internals);
739 
743  vtkGraphEdgePoints *EdgePoints;
744 
748  void SetEdgePoints(vtkGraphEdgePoints* edgePoints);
749 
755 
757 
760  virtual void GetOutEdges(vtkIdType v, const vtkOutEdgeType *& edges, vtkIdType & nedges);
761  virtual void GetInEdges(vtkIdType v, const vtkInEdgeType *& edges, vtkIdType & nedges);
763 
768 
770 
774  friend class vtkEdgeListIterator;
775  friend class vtkInEdgeIterator;
776  friend class vtkOutEdgeIterator;
781 
783 
789 
793  double Bounds[6];
794 
799 
801 
805  static double DefaultPoint[3];
807 
809 
812  vtkGetObjectMacro(EdgeList, vtkIdTypeArray);
813  virtual void SetEdgeList(vtkIdTypeArray* list);
816 
817 private:
818  vtkGraph(const vtkGraph&) = delete;
819  void operator=(const vtkGraph&) = delete;
820 };
821 
822 bool VTKCOMMONDATAMODEL_EXPORT operator==(vtkEdgeBase e1, vtkEdgeBase e2);
823 bool VTKCOMMONDATAMODEL_EXPORT operator!=(vtkEdgeBase e1, vtkEdgeBase e2);
824 VTKCOMMONDATAMODEL_EXPORT ostream& operator<<(ostream& out, vtkEdgeBase e);
825 
826 #endif
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:40
vtkInEdgeType::vtkInEdgeType
vtkInEdgeType(vtkIdType s, vtkIdType id)
Definition: vtkGraph.h:270
vtkGraph::AddEdgePoint
void AddEdgePoint(vtkIdType e, double x, double y, double z)
Definition: vtkGraph.h:588
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:255
operator<<
VTKCOMMONDATAMODEL_EXPORT ostream & operator<<(ostream &out, vtkEdgeBase e)
vtkGraph::GetInEdges
virtual void GetInEdges(vtkIdType v, const vtkInEdgeType *&edges, vtkIdType &nedges)
vtkGraph::GetDataObjectType
int GetDataObjectType() override
Return what type of dataset this is.
Definition: vtkGraph.h:304
edges
std::pair< boost::graph_traits< vtkGraph * >::edge_iterator, boost::graph_traits< vtkGraph * >::edge_iterator > edges(vtkGraph *g)
Definition: vtkBoostGraphAdapter.h:859
vtkDistributedGraphHelper
helper for the vtkGraph class that allows the graph to be distributed across multiple memory spaces.
Definition: vtkDistributedGraphHelper.h:78
vtkGraph::GetDistributedGraphHelper
vtkDistributedGraphHelper * GetDistributedGraphHelper()
Retrieves the distributed graph helper for this graph.
vtkGraph::Points
vtkPoints * Points
The vertex locations.
Definition: vtkGraph.h:804
vtkUndirectedGraph
An undirected graph.
Definition: vtkUndirectedGraph.h:55
vtkGraphInternals
Internal representation of vtkGraph.
Definition: vtkGraphInternals.h:52
vtkGraph::GetEdgePoints
void GetEdgePoints(vtkIdType e, vtkIdType &npts, double *&pts)
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:516
vtkIdType
int vtkIdType
Definition: vtkType.h:347
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:111
vtkGraph::Internals
vtkGraphInternals * Internals
The adjacency list internals of this graph.
Definition: vtkGraph.h:728
vtkGraph::ComputeTime
vtkTimeStamp ComputeTime
Time at which bounds were computed.
Definition: vtkGraph.h:798
vtkDataSetAttributes
represent and manipulate attribute data in a dataset
Definition: vtkDataSetAttributes.h:60
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:42
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:36
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)
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)
vtkGraph::AddEdgeInternal
void AddEdgeInternal(const vtkVariant &uPedigree, const vtkVariant &vPedigree, bool directed, vtkVariantArray *propertyArr, vtkEdgeType *edge)
vtkGraph::AddVertexInternal
void AddVertexInternal(const vtkVariant &pedigree, vtkIdType *vertex)
Adds a vertex with the given pedigree ID to the graph.
vtkEdgeBase::vtkEdgeBase
vtkEdgeBase(vtkIdType id)
Definition: vtkGraph.h:253
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:48
boost
Forward declaration required for Boost serialization.
Definition: vtkVariantArray.h:44
vtkGraph::GetNumberOfEdges
virtual vtkIdType GetNumberOfEdges()
The number of edges in the graph.
vtkGraph::GetBounds
void GetBounds(double bounds[6])
vtkInEdgeIterator
Iterates through all incoming edges to a vertex.
Definition: vtkInEdgeIterator.h:49
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:47
vtkInEdgeType
Definition: vtkGraph.h:268
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:324
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:264
vtkEdgeType::Source
vtkIdType Source
Definition: vtkGraph.h:283
vtkFieldData
represent and manipulate fields of data
Definition: vtkFieldData.h:57
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:786
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:277
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:446
vtkGraph::EdgeList
vtkIdTypeArray * EdgeList
Definition: vtkGraph.h:814
vtkOutEdgeType::vtkOutEdgeType
vtkOutEdgeType()
Definition: vtkGraph.h:260
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:42
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)
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:261
vtkGraphEdge
Representation of a single graph edge.
Definition: vtkGraphEdge.h:40
vertices
std::pair< boost::graph_traits< vtkGraph * >::vertex_iterator, boost::graph_traits< vtkGraph * >::vertex_iterator > vertices(vtkGraph *g)
Definition: vtkBoostGraphAdapter.h:841
vtkEdgeType::Target
vtkIdType Target
Definition: vtkGraph.h:284
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:40
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:51
vtkGraph::SetEdgeList
virtual void SetEdgeList(vtkIdTypeArray *list)
vtkVariant
A atomic type representing the union of many types.
Definition: vtkVariant.h:72
vtkEdgeListIterator
Iterates through all edges in a graph.
Definition: vtkEdgeListIterator.h:57
vtkOutEdgeIterator
Iterates through all outgoing edges from a vertex.
Definition: vtkOutEdgeIterator.h:52
boost::vtk_in_edge_pointer_iterator
Definition: vtkBoostGraphAdapter.h:361
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)
vtkInEdgeType::Source
vtkIdType Source
Definition: vtkGraph.h:273
vtkGraph::GetPoint
void GetPoint(vtkIdType ptId, double x[3])
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:743
vtkAdjacentVertexIterator
Iterates through adjacent vertices in a graph.
Definition: vtkAdjacentVertexIterator.h:48
vtkEdgeType::vtkEdgeType
vtkEdgeType(vtkIdType s, vtkIdType t, vtkIdType id)
Definition: vtkGraph.h:279
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:87
vtkGraph::EdgeData
vtkDataSetAttributes * EdgeData
Definition: vtkGraph.h:787
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:251
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkGraph::ShallowCopy
void ShallowCopy(vtkDataObject *obj) override
Shallow copies the data object into this graph.
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:42
vtkOutEdgeType
Definition: vtkGraph.h:259
vtkGraph::GetInEdges
virtual void GetInEdges(vtkIdType v, vtkInEdgeIterator *it)
Initializes the in edge iterator to iterate over all incoming edges to vertex v.
vtkEdgeBase::vtkEdgeBase
vtkEdgeBase()
Definition: vtkGraph.h:252
vtkDataObject.h
vtkEdgeType::vtkEdgeType
vtkEdgeType()
Definition: vtkGraph.h:278
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:581
vtkInEdgeType::vtkInEdgeType
vtkInEdgeType()
Definition: vtkGraph.h:269
vtkGraph::SetInternals
void SetInternals(vtkGraphInternals *internals)
Private method for setting internals.
vtkGraph::DistributedHelper
vtkDistributedGraphHelper * DistributedHelper
The distributed graph helper.
Definition: vtkGraph.h:733
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:48
boost::vtk_edge_iterator
Definition: vtkBoostGraphAdapter.h:188
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:288
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:65
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:246
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::AddEdgeInternal
void AddEdgeInternal(const vtkVariant &uPedigree, vtkIdType v, bool directed, vtkVariantArray *propertyArr, vtkEdgeType *edge)
vtkGraph::Squeeze
virtual void Squeeze()
Reclaim unused memory.
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:302
vtkGraph::GetData
static vtkGraph * GetData(vtkInformationVector *v, int i=0)