203 #include "vtkCommonDataModelModule.h"
212 class vtk_edge_iterator;
213 class vtk_out_edge_pointer_iterator;
214 class vtk_in_edge_pointer_iterator;
217 VTK_ABI_NAMESPACE_BEGIN
224 class vtkGraphEdgePoints;
333 void ComputeBounds();
487 virtual void CopyStructure(
vtkGraph* g);
494 virtual bool CheckedShallowCopy(
vtkGraph* g);
501 virtual bool CheckedDeepCopy(
vtkGraph* g);
506 virtual void Squeeze();
538 bool IsSameStructure(
vtkGraph* other);
587 double p[3] = { x, y, z };
588 this->SetEdgePoint(e, i, p);
594 void AddEdgePoint(
vtkIdType e,
const double x[3]);
597 double p[3] = { x, y, z };
598 this->AddEdgePoint(e, p);
606 void ShallowCopyEdgePoints(
vtkGraph* g);
607 void DeepCopyEdgePoints(
vtkGraph* g);
689 void AddEdgeInternal(
703 void RemoveVertexInternal(
vtkIdType v,
bool directed);
709 void RemoveEdgeInternal(
vtkIdType e,
bool directed);
725 virtual bool IsStructureValid(
vtkGraph* g) = 0;
730 virtual void CopyInternal(
vtkGraph* g,
bool deep);
755 void SetEdgePoints(vtkGraphEdgePoints* edgePoints);
761 void ForceOwnership();
774 void BuildEdgeList();
812 static double DefaultPoint[3];
826 void operator=(
const vtkGraph&) =
delete;
833 VTK_ABI_NAMESPACE_END
helper for the vtkGraph class that allows the graph to be distributed across multiple memory spaces...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkDataObject * GetData(vtkInformation *info)
Retrieve an instance of this class from an information object.
void GetBounds(T a, double bds[6])
virtual vtkFieldData * GetAttributesAsFieldData(int type)
Returns the attributes of the data object as a vtkFieldData.
Forward declaration required for Boost serialization.
An array holding vtkVariants.
vtkIdTypeArray * EdgeList
The optional mapping from edge id to source/target ids.
vtkTypeUInt32 vtkMTimeType
Iterates through adjacent vertices in a graph.
int GetDataObjectType() VTK_FUTURE_CONST override
Return what type of dataset this is.
bool VTKCOMMONDATAMODEL_EXPORT operator!=(vtkEdgeBase e1, vtkEdgeBase e2)
record modification and/or execution time
Iterates through all edges in a graph.
Representation of a single graph edge.
vtkNew< vtkDataSetAttributes > EdgeData
The vertex and edge data.
vtkEdgeBase(vtkIdType id)
virtual void Initialize()
Restore data object to initial state,.
dynamic, self-adjusting array of vtkIdType
std::pair< boost::graph_traits< vtkGraph * >::vertex_iterator, boost::graph_traits< vtkGraph * >::vertex_iterator > vertices(vtkGraph *g)
vtkDistributedGraphHelper * DistributedHelper
The distributed graph helper.
vtkTimeStamp ComputeTime
Time at which bounds were computed.
A type representing the union of many types.
Base class for graph data types.
#define VTK_MARSHALMANUAL
bool VTKCOMMONDATAMODEL_EXPORT operator==(vtkEdgeBase e1, vtkEdgeBase e2)
a simple class to control print indentation
VTKCOMMONDATAMODEL_EXPORT ostream & operator<<(ostream &out, vtkEdgeBase e)
vtkGraphEdgePoints * EdgePoints
The structure for holding the edge points.
void SetEdgePoint(vtkIdType e, vtkIdType i, double x, double y, double z)
vtkNew< vtkDataSetAttributes > VertexData
The vertex and edge data.
Iterates through all incoming edges to a vertex.
Internal representation of vtkGraph.
represent and manipulate attribute data in a dataset
#define VTK_SIZEHINT(...)
virtual unsigned long GetActualMemorySize()
Return the actual size of the data in kibibytes (1024 bytes).
virtual vtkIdType GetNumberOfElements(int type)
Get the number of elements for a specific attribute type (POINT, CELL, etc.).
vtkPoints * Points
The vertex locations.
object to represent cell connectivity
void GetPoint(int i, int j, int k, double pnt[3])
Iterates all vertices in a graph.
vtkOutEdgeType(vtkIdType t, vtkIdType id)
vtkGraphInternals * Internals
The adjacency list internals of this graph.
Iterates through all outgoing edges from a vertex.
vtkMTimeType GetMTime() override
Data objects are composite objects and need to check each part for MTime.
general representation of visualization data
vtkInEdgeType(vtkIdType s, vtkIdType id)
virtual void DeepCopy(vtkDataObject *src)
The goal of the method is to copy the complete data from src into this object.
vtkEdgeType(vtkIdType s, vtkIdType t, vtkIdType id)
represent and manipulate 3D points
void AddEdgePoint(vtkIdType e, double x, double y, double z)
virtual void ShallowCopy(vtkDataObject *src)
The goal of the method is to copy the data up to the array pointers only.
Represents and manipulates a collection of data arrays.
std::pair< boost::graph_traits< vtkGraph * >::edge_iterator, boost::graph_traits< vtkGraph * >::edge_iterator > edges(vtkGraph *g)