218 #include "vtkCommonDataModelModule.h"
219 #include "vtkDataObject.h"
221 class vtkAdjacentVertexIterator;
224 class vtkDataSetAttributes;
227 class vtkGraphEdgePoints;
234 class vtkUndirectedGraph;
235 class vtkVertexListIterator;
244 class vtk_edge_iterator;
245 class vtk_out_edge_pointer_iterator;
246 class vtk_in_edge_pointer_iterator;
292 void PrintSelf(ostream& os,
vtkIndent indent);
296 vtkGetObjectMacro(VertexData, vtkDataSetAttributes);
297 vtkGetObjectMacro(EdgeData, vtkDataSetAttributes);
304 virtual void Initialize();
311 void GetPoint(
vtkIdType ptId,
double x[3]);
320 virtual void SetPoints(
vtkPoints *points);
325 void ComputeBounds();
332 void GetBounds(
double bounds[6]);
336 unsigned long int GetMTime();
393 virtual void GetAdjacentVertices(
vtkIdType v, vtkAdjacentVertexIterator *it);
407 virtual void GetVertices(vtkVertexListIterator *it);
443 virtual void CopyStructure(
vtkGraph *g);
447 virtual bool CheckedShallowCopy(
vtkGraph *g);
451 virtual bool CheckedDeepCopy(
vtkGraph *g);
454 virtual void Squeeze();
472 bool IsSameStructure(
vtkGraph *other);
509 {
double p[3] = {x, y, z}; this->SetEdgePoint(e, i, p); }
515 void AddEdgePoint(
vtkIdType e,
double x[3]);
517 {
double p[3] = {x, y, z}; this->AddEdgePoint(e, p); }
523 void ShallowCopyEdgePoints(
vtkGraph* g);
524 void DeepCopyEdgePoints(
vtkGraph* g);
540 virtual vtkFieldData* GetAttributesAsFieldData(
int type);
544 virtual vtkIdType GetNumberOfElements(
int type);
561 bool ToUndirectedGraph(vtkUndirectedGraph* g);
602 void RemoveVertexInternal(
vtkIdType v,
bool directed);
606 void RemoveEdgeInternal(
vtkIdType e,
bool directed);
620 virtual bool IsStructureValid(
vtkGraph *g) = 0;
623 virtual void CopyInternal(
vtkGraph *g,
bool deep);
638 void SetEdgePoints(vtkGraphEdgePoints* edgePoints);
642 void ForceOwnership();
651 void BuildEdgeList();
656 friend class vtkAdjacentVertexIterator;
681 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
vtksys_stl::pair< boost::graph_traits< vtkGraph * >::vertex_iterator, boost::graph_traits< vtkGraph * >::vertex_iterator > vertices(vtkGraph *g)
vtksys_stl::pair< boost::graph_traits< vtkGraph * >::edge_iterator, boost::graph_traits< vtkGraph * >::edge_iterator > edges(vtkGraph *g)
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)
dynamic, self-adjusting array of vtkIdType
vtkDistributedGraphHelper * DistributedHelper
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
void SetEdgePoint(vtkIdType e, vtkIdType i, double x, double y, double z)
Iterates through all incoming edges to a vertex.
Internal representation of vtkGraph.
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)
vtkEdgeType(vtkIdType s, vtkIdType t, vtkIdType id)
represent and manipulate 3D points
void AddEdgePoint(vtkIdType e, double x, double y, double z)
represent and manipulate fields of data