VTK  9.0.20210304
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 -------------------------------------------------------------------------*/
210 #ifndef vtkGraph_h
211 #define vtkGraph_h
212 
213 #include "vtkCommonDataModelModule.h" // For export macro
214 #include "vtkDataObject.h"
215 
217 class vtkCellArray;
218 class vtkEdgeListIterator;
220 class vtkDirectedGraph;
221 class vtkGraphEdge;
222 class vtkGraphEdgePoints;
224 class vtkGraphInternals;
225 class vtkIdTypeArray;
226 class vtkInEdgeIterator;
227 class vtkOutEdgeIterator;
228 class vtkPoints;
229 class vtkUndirectedGraph;
231 class vtkVariant;
232 class vtkVariantArray;
233 
234 // Forward declare some boost stuff even if boost wrappers
235 // are turned off.
236 namespace boost
237 {
238 class vtk_edge_iterator;
239 class vtk_out_edge_pointer_iterator;
240 class vtk_in_edge_pointer_iterator;
241 }
242 
243 // Edge structures.
245 {
246  vtkEdgeBase() = default;
248  : Id(id)
249  {
250  }
252 };
253 
255 {
256  vtkOutEdgeType() = default;
258  : vtkEdgeBase(id)
259  , Target(t)
260  {
261  }
263 };
264 
266 {
267  vtkInEdgeType() = default;
269  : vtkEdgeBase(id)
270  , Source(s)
271  {
272  }
274 };
275 
277 {
278  vtkEdgeType() = default;
280  : vtkEdgeBase(id)
281  , Source(s)
282  , Target(t)
283  {
284  }
287 };
288 
289 class VTKCOMMONDATAMODEL_EXPORT vtkGraph : public vtkDataObject
290 {
291 public:
292  vtkTypeMacro(vtkGraph, vtkDataObject);
293  void PrintSelf(ostream& os, vtkIndent indent) override;
294 
296 
299  vtkGetObjectMacro(VertexData, vtkDataSetAttributes);
300  vtkGetObjectMacro(EdgeData, vtkDataSetAttributes);
302 
306  int GetDataObjectType() override { return VTK_GRAPH; }
307 
311  void Initialize() override;
312 
314 
320  double* GetPoint(vtkIdType ptId);
321  void GetPoint(vtkIdType ptId, double x[3]);
323 
325 
333  virtual void SetPoints(vtkPoints* points);
335 
341 
343 
348  double* GetBounds();
349  void GetBounds(double bounds[6]);
351 
355  vtkMTimeType GetMTime() override;
356 
364 
372 
379 
384 
392 
399  virtual void GetInEdges(vtkIdType v, vtkInEdgeIterator* it);
400 
407 
412 
420 
428 
435  virtual void GetEdges(vtkEdgeListIterator* it);
436 
442 
449 
455 
462 
467 
476  vtkIdType FindVertex(const vtkVariant& pedigreeID);
477 
482  void ShallowCopy(vtkDataObject* obj) override;
483 
488  void DeepCopy(vtkDataObject* obj) override;
489 
494  virtual void CopyStructure(vtkGraph* g);
495 
501  virtual bool CheckedShallowCopy(vtkGraph* g);
502 
508  virtual bool CheckedDeepCopy(vtkGraph* g);
509 
513  virtual void Squeeze();
514 
522  unsigned long GetActualMemorySize() override;
523 
525 
529  static vtkGraph* GetData(vtkInformationVector* v, int i = 0);
531 
540 
545  bool IsSameStructure(vtkGraph* other);
546 
548 
560 
562 
567  void SetEdgePoints(vtkIdType e, vtkIdType npts, const double pts[]) VTK_SIZEHINT(pts, 3 * npts);
568  void GetEdgePoints(vtkIdType e, vtkIdType& npts, double*& pts) VTK_SIZEHINT(pts, 3 * npts);
570 
575 
580 
585 
591  void SetEdgePoint(vtkIdType e, vtkIdType i, const double x[3]);
592  void SetEdgePoint(vtkIdType e, vtkIdType i, double x, double y, double z)
593  {
594  double p[3] = { x, y, z };
595  this->SetEdgePoint(e, i, p);
596  }
597 
601  void AddEdgePoint(vtkIdType e, const double x[3]);
602  void AddEdgePoint(vtkIdType e, double x, double y, double z)
603  {
604  double p[3] = { x, y, z };
605  this->AddEdgePoint(e, p);
606  }
607 
609 
616 
623 
629 
637 
642 
646  void Dump();
647 
657 
662 
667 
668 protected:
670  ~vtkGraph() override;
671 
679  void AddVertexInternal(vtkVariantArray* propertyArr = nullptr, vtkIdType* vertex = nullptr);
680 
687  void AddVertexInternal(const vtkVariant& pedigree, vtkIdType* vertex);
688 
690 
697  vtkIdType u, vtkIdType v, bool directed, vtkVariantArray* propertyArr, vtkEdgeType* edge);
698  void AddEdgeInternal(const vtkVariant& uPedigree, vtkIdType v, bool directed,
699  vtkVariantArray* propertyArr, vtkEdgeType* edge);
700  void AddEdgeInternal(vtkIdType u, const vtkVariant& vPedigree, bool directed,
701  vtkVariantArray* propertyArr, vtkEdgeType* edge);
702  void AddEdgeInternal(const vtkVariant& uPedigree, const vtkVariant& vPedigree, bool directed,
703  vtkVariantArray* propertyArr, vtkEdgeType* edge);
705 
710  void RemoveVertexInternal(vtkIdType v, bool directed);
711 
716  void RemoveEdgeInternal(vtkIdType e, bool directed);
717 
721  void RemoveVerticesInternal(vtkIdTypeArray* arr, bool directed);
722 
726  void RemoveEdgesInternal(vtkIdTypeArray* arr, bool directed);
727 
732  virtual bool IsStructureValid(vtkGraph* g) = 0;
733 
737  virtual void CopyInternal(vtkGraph* g, bool deep);
738 
743 
748 
752  void SetInternals(vtkGraphInternals* internals);
753 
757  vtkGraphEdgePoints* EdgePoints;
758 
762  void SetEdgePoints(vtkGraphEdgePoints* edgePoints);
763 
769 
771 
774  virtual void GetOutEdges(vtkIdType v, const vtkOutEdgeType*& edges, vtkIdType& nedges);
775  virtual void GetInEdges(vtkIdType v, const vtkInEdgeType*& edges, vtkIdType& nedges);
777 
782 
784 
788  friend class vtkEdgeListIterator;
789  friend class vtkInEdgeIterator;
790  friend class vtkOutEdgeIterator;
795 
797 
803 
807  double Bounds[6];
808 
813 
815 
819  static double DefaultPoint[3];
821 
823 
826  vtkGetObjectMacro(EdgeList, vtkIdTypeArray);
827  virtual void SetEdgeList(vtkIdTypeArray* list);
830 
831 private:
832  vtkGraph(const vtkGraph&) = delete;
833  void operator=(const vtkGraph&) = delete;
834 };
835 
836 bool VTKCOMMONDATAMODEL_EXPORT operator==(vtkEdgeBase e1, vtkEdgeBase e2);
837 bool VTKCOMMONDATAMODEL_EXPORT operator!=(vtkEdgeBase e1, vtkEdgeBase e2);
838 VTKCOMMONDATAMODEL_EXPORT ostream& operator<<(ostream& out, vtkEdgeBase e);
839 
840 #endif
vtkPoints
represent and manipulate 3D points
Definition: vtkPoints.h:34
vtkInEdgeType::vtkInEdgeType
vtkInEdgeType(vtkIdType s, vtkIdType id)
Definition: vtkGraph.h:268
vtkGraph::AddEdgePoint
void AddEdgePoint(vtkIdType e, double x, double y, double z)
Definition: vtkGraph.h:602
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:251
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:306
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:818
vtkUndirectedGraph
An undirected graph.
Definition: vtkUndirectedGraph.h:49
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:522
vtkIdType
int vtkIdType
Definition: vtkType.h:338
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:742
vtkGraph::ComputeTime
vtkTimeStamp ComputeTime
Time at which bounds were computed.
Definition: vtkGraph.h:812
vtkDataSetAttributes
represent and manipulate attribute data in a dataset
Definition: vtkDataSetAttributes.h:61
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:36
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:33
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.
vtkOutEdgeType::vtkOutEdgeType
vtkOutEdgeType()=default
vtkEdgeBase::vtkEdgeBase
vtkEdgeBase(vtkIdType id)
Definition: vtkGraph.h:247
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:45
boost
Forward declaration required for Boost serialization.
Definition: vtkVariantArray.h:42
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:46
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:50
vtkInEdgeType
Definition: vtkGraph.h:266
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:327
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:262
vtkEdgeType::Source
vtkIdType Source
Definition: vtkGraph.h:285
vtkEdgeBase::vtkEdgeBase
vtkEdgeBase()=default
vtkFieldData
represent and manipulate fields of data
Definition: vtkFieldData.h:54
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:800
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:452
vtkGraph::EdgeList
vtkIdTypeArray * EdgeList
Definition: vtkGraph.h:828
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:45
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:257
vtkGraphEdge
Representation of a single graph edge.
Definition: vtkGraphEdge.h:40
vtkEdgeType::Target
vtkIdType Target
Definition: vtkGraph.h:286
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:34
vtkCellArray
object to represent cell connectivity
Definition: vtkCellArray.h:181
vtkGraph::SetEdgeList
virtual void SetEdgeList(vtkIdTypeArray *list)
vtkVariant
A atomic type representing the union of many types.
Definition: vtkVariant.h:66
vtkEdgeListIterator
Iterates through all edges in a graph.
Definition: vtkEdgeListIterator.h:51
vtkOutEdgeIterator
Iterates through all outgoing edges from a vertex.
Definition: vtkOutEdgeIterator.h:46
boost::vtk_in_edge_pointer_iterator
Definition: vtkBoostGraphAdapter.h:384
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:757
vtkAdjacentVertexIterator
Iterates through adjacent vertices in a graph.
Definition: vtkAdjacentVertexIterator.h:45
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:74
vtkGraph::EdgeData
vtkDataSetAttributes * EdgeData
Definition: vtkGraph.h:801
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:245
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:36
vtkOutEdgeType
Definition: vtkGraph.h:255
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:592
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:988
vtkGraph::DistributedHelper
vtkDistributedGraphHelper * DistributedHelper
The distributed graph helper.
Definition: vtkGraph.h:747
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:973
boost::vtk_edge_iterator
Definition: vtkBoostGraphAdapter.h:178
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:290
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:60
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)
vtkGraph::Squeeze
virtual void Squeeze()
Reclaim unused memory.
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:293
vtkGraph::GetData
static vtkGraph * GetData(vtkInformationVector *v, int i=0)