218 #include "vtkDataObject.h"
220 class vtkAdjacentVertexIterator;
222 class vtkEdgeListIterator;
226 class vtkGraphEdgePoints;
228 class vtkGraphInternals;
230 class vtkInEdgeIterator;
231 class vtkOutEdgeIterator;
233 class vtkUndirectedGraph;
234 class vtkVertexListIterator;
243 class vtk_edge_iterator;
244 class vtk_out_edge_pointer_iterator;
245 class vtk_in_edge_pointer_iterator;
291 void PrintSelf(ostream& os,
vtkIndent indent);
303 virtual void Initialize();
310 void GetPoint(
vtkIdType ptId,
double x[3]);
319 virtual void SetPoints(
vtkPoints *points);
324 void ComputeBounds();
331 void GetBounds(
double bounds[6]);
335 unsigned long int GetMTime();
340 virtual void GetOutEdges(
vtkIdType v, vtkOutEdgeIterator *it);
368 virtual void GetInEdges(
vtkIdType v, vtkInEdgeIterator *it);
392 virtual void GetAdjacentVertices(
vtkIdType v, vtkAdjacentVertexIterator *it);
397 virtual void GetEdges(vtkEdgeListIterator *it);
406 virtual void GetVertices(vtkVertexListIterator *it);
442 virtual void CopyStructure(
vtkGraph *g);
446 virtual bool CheckedShallowCopy(
vtkGraph *g);
450 virtual bool CheckedDeepCopy(
vtkGraph *g);
453 virtual void Squeeze();
471 bool IsSameStructure(
vtkGraph *other);
508 {
double p[3] = {x, y, z}; this->SetEdgePoint(e, i, p); }
514 void AddEdgePoint(
vtkIdType e,
double x[3]);
516 {
double p[3] = {x, y, z}; this->AddEdgePoint(e, p); }
522 void ShallowCopyEdgePoints(
vtkGraph* g);
523 void DeepCopyEdgePoints(
vtkGraph* g);
529 vtkGraphInternals *GetGraphInternals(
bool modifying);
539 virtual vtkFieldData* GetAttributesAsFieldData(
int type);
543 virtual vtkIdType GetNumberOfElements(
int type);
560 bool ToUndirectedGraph(vtkUndirectedGraph* g);
601 void RemoveVertexInternal(
vtkIdType v,
bool directed);
605 void RemoveEdgeInternal(
vtkIdType e,
bool directed);
619 virtual bool IsStructureValid(
vtkGraph *g) = 0;
622 virtual void CopyInternal(
vtkGraph *g,
bool deep);
631 void SetInternals(vtkGraphInternals* internals);
637 void SetEdgePoints(vtkGraphEdgePoints* edgePoints);
641 void ForceOwnership();
650 void BuildEdgeList();
655 friend class vtkAdjacentVertexIterator;
656 friend class vtkEdgeListIterator;
657 friend class vtkInEdgeIterator;
658 friend class vtkOutEdgeIterator;
659 friend class boost::vtk_edge_iterator;
660 friend class boost::vtk_in_edge_pointer_iterator;
661 friend class boost::vtk_out_edge_pointer_iterator;
680 static double DefaultPoint[3];
virtual int GetDataObjectType()
helper for the vtkGraph class that allows the graph to be distributed across multiple memory spaces...
vtkDataSetAttributes * VertexData
vtkDataSetAttributes * EdgeData
An array holding vtkVariants.
vtkIdTypeArray * EdgeList
record modification and/or execution time
vtkEdgeBase(vtkIdType id)
dynamic, self-adjusting array of vtkIdType
vtkDistributedGraphHelper * DistributedHelper
A atomic type representing the union of many types.
Base class for graph data types.
VTK_COMMON_EXPORT bool operator==(const vtkUnicodeString &lhs, const vtkUnicodeString &rhs)
a simple class to control print indentation
vtkGraphEdgePoints * EdgePoints
void SetEdgePoint(vtkIdType e, vtkIdType i, double x, double y, double z)
represent and manipulate attribute data in a dataset
vtkOutEdgeType(vtkIdType t, vtkIdType id)
VTK_COMMON_EXPORT bool operator!=(const vtkUnicodeString &lhs, const vtkUnicodeString &rhs)
vtkGraphInternals * Internals
helper class to get VTK data object types as string and instantiate them
vtkInEdgeType(vtkIdType s, vtkIdType id)
vtkEdgeType(vtkIdType s, vtkIdType t, vtkIdType id)
represent and manipulate 3D points
void AddEdgePoint(vtkIdType e, double x, double y, double z)
VTK_COMMON_EXPORT ostream & operator<<(ostream &os, const vtkIndent &o)