228 class vtkGraphEdgePoints;
244 class vtk_edge_iterator;
245 class vtk_out_edge_pointer_iterator;
246 class vtk_in_edge_pointer_iterator;
319 void GetPoint(vtkIdType ptId,
double x[3]);
338 void ComputeBounds();
347 void GetBounds(
double bounds[6]);
369 virtual vtkIdType GetDegree(vtkIdType v);
376 virtual vtkIdType GetOutDegree(vtkIdType v);
404 virtual vtkIdType GetInDegree(vtkIdType v);
439 virtual vtkIdType GetNumberOfEdges();
452 virtual vtkIdType GetNumberOfVertices();
474 vtkIdType FindVertex(
const vtkVariant& pedigreeID);
492 virtual void CopyStructure(
vtkGraph *g);
499 virtual bool CheckedShallowCopy(
vtkGraph *g);
506 virtual bool CheckedDeepCopy(
vtkGraph *g);
511 virtual void Squeeze();
534 bool IsSameStructure(
vtkGraph *other);
546 vtkIdType GetSourceVertex(vtkIdType e);
547 vtkIdType GetTargetVertex(vtkIdType e);
556 void SetEdgePoints(vtkIdType e, vtkIdType npts,
double* pts);
557 void GetEdgePoints(vtkIdType e, vtkIdType& npts,
double*& pts);
563 vtkIdType GetNumberOfEdgePoints(vtkIdType e);
568 double* GetEdgePoint(vtkIdType e, vtkIdType i);
573 void ClearEdgePoints(vtkIdType e);
580 void SetEdgePoint(vtkIdType e, vtkIdType i,
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); }
587 void AddEdgePoint(vtkIdType e,
double x[3]);
589 {
double p[3] = {x, y, z}; this->AddEdgePoint(e, p); }
596 void ShallowCopyEdgePoints(
vtkGraph* g);
597 void DeepCopyEdgePoints(
vtkGraph* g);
639 vtkIdType GetEdgeId(vtkIdType a, vtkIdType b);
664 vtkIdType *vertex =
nullptr);
672 void AddVertexInternal(
const vtkVariant& pedigree, vtkIdType *vertex);
681 void AddEdgeInternal(vtkIdType u, vtkIdType v,
bool directed,
683 void AddEdgeInternal(
const vtkVariant& uPedigree, vtkIdType v,
bool directed,
685 void AddEdgeInternal(vtkIdType u,
const vtkVariant& vPedigree,
bool directed,
696 void RemoveVertexInternal(vtkIdType v,
bool directed);
702 void RemoveEdgeInternal(vtkIdType e,
bool directed);
718 virtual bool IsStructureValid(
vtkGraph *g) = 0;
723 virtual void CopyInternal(
vtkGraph *g,
bool deep);
748 void SetEdgePoints(vtkGraphEdgePoints* edgePoints);
754 void ForceOwnership();
761 virtual void GetInEdges(vtkIdType v,
const vtkInEdgeType *&
edges, vtkIdType & nedges);
767 void BuildEdgeList();
805 static double DefaultPoint[3];
819 void operator=(
const vtkGraph&) =
delete;
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.
vtkDataSetAttributes * VertexData
The vertex and edge data.
vtkDataSetAttributes * EdgeData
The vertex and edge data.
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.
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.
vtkEdgeBase(vtkIdType id)
virtual void Initialize()
Restore data object to initial state,.
dynamic, self-adjusting array of vtkIdType
vtkDistributedGraphHelper * DistributedHelper
The distributed graph helper.
vtkTimeStamp ComputeTime
Time at which bounds were computed.
void GetPoint(const int i, const int j, const int k, double pnt[3])
A atomic type representing the union of many types.
Base class for graph data types.
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)
std::pair< boost::graph_traits< vtkGraph * >::vertex_iterator, boost::graph_traits< vtkGraph * >::vertex_iterator > vertices(vtkGraph *g)
Iterates through all incoming edges to a vertex.
Internal representation of vtkGraph.
represent and manipulate attribute data in a dataset
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
Iterates all vertices in a graph.
vtkOutEdgeType(vtkIdType t, vtkIdType id)
int GetDataObjectType() override
Return what type of dataset this is.
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)
Shallow and Deep copy.
vtkEdgeType(vtkIdType s, vtkIdType t, vtkIdType id)
#define VTKCOMMONDATAMODEL_EXPORT
represent and manipulate 3D points
void AddEdgePoint(vtkIdType e, double x, double y, double z)
std::pair< boost::graph_traits< vtkGraph * >::edge_iterator, boost::graph_traits< vtkGraph * >::edge_iterator > edges(vtkGraph *g)
virtual void ShallowCopy(vtkDataObject *src)
Shallow and Deep copy.
represent and manipulate fields of data