218 #include "vtkDataObject.h"
220 class vtkAdjacentVertexIterator;
222 class vtkEdgeListIterator;
224 class vtkDirectedGraph;
226 class vtkGraphEdgePoints;
227 class vtkDistributedGraphHelper;
228 class vtkGraphInternals;
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();
392 virtual void GetAdjacentVertices(
vtkIdType v, vtkAdjacentVertexIterator *it);
397 virtual void GetEdges(vtkEdgeListIterator *it);
406 virtual void GetVertices(vtkVertexListIterator *it);
416 void SetDistributedGraphHelper(vtkDistributedGraphHelper *helper);
420 vtkDistributedGraphHelper *GetDistributedGraphHelper();
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);
557 bool ToDirectedGraph(vtkDirectedGraph* g);
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;
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()
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.
bool VTK_FILTERING_EXPORT operator==(vtkEdgeBase e1, vtkEdgeBase e2)
a simple class to control print indentation
vtkGraphEdgePoints * EdgePoints
void SetEdgePoint(vtkIdType e, vtkIdType i, double x, double y, double z)
Iterates through all incoming edges to a vertex.
represent and manipulate attribute data in a dataset
object to represent cell connectivity
vtkOutEdgeType(vtkIdType t, vtkIdType id)
vtkGraphInternals * Internals
Iterates through all outgoing edges from a vertex.
helper class to get VTK data object types as string and instantiate them
vtkInEdgeType(vtkIdType s, vtkIdType id)
VTK_FILTERING_EXPORT ostream & operator<<(ostream &out, vtkEdgeBase e)
vtkEdgeType(vtkIdType s, vtkIdType t, vtkIdType id)
represent and manipulate 3D points
void AddEdgePoint(vtkIdType e, double x, double y, double z)
bool VTK_FILTERING_EXPORT operator!=(vtkEdgeBase e1, vtkEdgeBase e2)
represent and manipulate fields of data