26 #ifndef vtkRenderedGraphRepresentation_h
27 #define vtkRenderedGraphRepresentation_h
31 #include "vtkViewsInfovisModule.h"
80 vtkBooleanMacro(VertexLabelVisibility,
bool);
83 vtkSetStringMacro(VertexHoverArrayName);
84 vtkGetStringMacro(VertexHoverArrayName);
89 vtkSetMacro(HideVertexLabelsOnInteraction,
bool);
90 vtkGetMacro(HideVertexLabelsOnInteraction,
bool);
91 vtkBooleanMacro(HideVertexLabelsOnInteraction,
bool);
103 vtkBooleanMacro(EdgeLabelVisibility,
bool);
106 vtkSetStringMacro(EdgeHoverArrayName);
107 vtkGetStringMacro(EdgeHoverArrayName);
112 vtkSetMacro(HideEdgeLabelsOnInteraction,
bool);
113 vtkGetMacro(HideEdgeLabelsOnInteraction,
bool);
114 vtkBooleanMacro(HideEdgeLabelsOnInteraction,
bool);
126 vtkBooleanMacro(VertexIconVisibility,
bool);
131 vtkBooleanMacro(UseVertexIconTypeMap,
bool);
157 this->SetVertexIconSelectionMode(3);
170 vtkBooleanMacro(EdgeIconVisibility,
bool);
175 vtkBooleanMacro(UseEdgeIconTypeMap,
bool);
184 vtkBooleanMacro(ColorVerticesByArray,
bool);
193 vtkBooleanMacro(ColorEdgesByArray,
bool);
202 vtkBooleanMacro(EnableVerticesByArray,
bool);
211 vtkBooleanMacro(EnableEdgesByArray,
bool);
217 vtkBooleanMacro(EdgeVisibility,
bool);
238 vtkGetStringMacro(LayoutStrategyName);
262 const char* xarr,
const char* yarr =
nullptr,
const char* zarr =
nullptr);
275 bool radial,
double angle = 90,
double leafSpacing = 0.9,
double logSpacing = 1.0);
288 bool sizeLeafNodesOnly =
true,
int layoutDepth = 0,
vtkIdType layoutRoot = -1);
314 vtkGetStringMacro(EdgeLayoutStrategyName);
339 vtkBooleanMacro(Scaling,
bool);
444 vtkSetStringMacro(VertexColorArrayNameInternal);
445 vtkGetStringMacro(VertexColorArrayNameInternal);
448 vtkSetStringMacro(EdgeColorArrayNameInternal);
449 vtkGetStringMacro(EdgeColorArrayNameInternal);
452 vtkSetStringMacro(ScalingArrayNameInternal);
453 vtkGetStringMacro(ScalingArrayNameInternal);
456 vtkSetStringMacro(LayoutStrategyName);
458 vtkSetStringMacro(EdgeLayoutStrategyName);
represents an object (geometry & properties) in a rendered scene
apply colors to a data set.
apply icons to a data set.
generate points at center of edges
abstract superclass for all edge layout strategies
abstract superclass for all graph layout strategies
layout a graph in 2 or 3 dimensions
create glyphs for graph vertices
convert a vtkGraph a set of points.
convert a vtkGraph to vtkPolyData
Filter that generates a polydata consisting of quads with texture coordinates referring to a set of i...
a simple class to control print indentation
map scalar values into colors via a lookup table
Perturbs vertices that are coincident.
build a label hierarchy for a graph or point set.
draw vtkPolyData onto the image plane
map vtkPolyData to graphics primitives
concrete dataset represents vertices, lines, polygons, and triangle strips
Removes the rows/edges/vertices of input data flagged by ann.
A view containing a renderer.
bool AddToView(vtkView *view) override
Called by the view to add/remove this representation.
virtual void SetEdgeIconVisibility(bool b)
void SetLayoutStrategyToCosmicTree()
virtual void SetEnabledEdgesArrayName(const char *name)
virtual void SetEdgeLayoutStrategy(vtkEdgeLayoutStrategy *strategy)
Set/get the graph layout strategy.
virtual void SetLayoutStrategyToTree(bool radial, double angle=90, double leafSpacing=0.9, double logSpacing=1.0)
Set the layout strategy to a tree layout.
virtual const char * GetVertexLabelArrayName()
virtual bool GetScaling()
virtual void ClearVertexIconTypes()
vtkSmartPointer< vtkActor > OutlineActor
void PrepareForRendering(vtkRenderView *view) override
The view will call this method before every render.
vtkSmartPointer< vtkApplyColors > ApplyColors
Internal filter classes.
virtual void SetScaling(bool b)
Set whether to scale vertex glyphs.
virtual void SetColorEdgesByArray(bool b)
char * EdgeHoverArrayName
void SetLayoutStrategyToForceDirected()
virtual bool GetColorEdgesByArray()
void SetEdgeSelection(bool b)
virtual const char * GetVertexColorArrayName()
virtual void SetLayoutStrategyToCosmicTree(const char *nodeSizeArrayName, bool sizeLeafNodesOnly=true, int layoutDepth=0, vtkIdType layoutRoot=-1)
Set the layout strategy to a cosmic tree layout.
void SetLayoutStrategyToSimple2D()
void SetLayoutStrategyToTree()
virtual void SetLayoutStrategy(const char *name)
Get/set the layout strategy by name.
virtual void SetEdgeLayoutStrategy(const char *name)
Set the edge layout strategy by name.
virtual int GetVertexSelectedIcon()
vtkSmartPointer< vtkActor > VertexActor
virtual void SetVertexLabelTextProperty(vtkTextProperty *p)
virtual vtkTextProperty * GetEdgeLabelTextProperty()
void ApplyViewTheme(vtkViewTheme *theme) override
Apply a theme to this representation.
void SetLayoutStrategyToCommunity2D()
vtkSmartPointer< vtkTexturedActor2D > VertexIconActor
virtual int GetVertexIconSelectionMode()
vtkSmartPointer< vtkTransformCoordinateSystems > VertexIconTransform
virtual bool GetColorVerticesByArray()
virtual void SetEnableEdgesByArray(bool b)
virtual void SetVertexLabelArrayName(const char *name)
virtual void SetEdgeVisibility(bool b)
vtkSmartPointer< vtkGraphLayout > Layout
virtual const char * GetEdgeIconPriorityArrayName()
virtual bool GetEdgeLabelVisibility()
bool HideVertexLabelsOnInteraction
virtual const char * GetEnabledEdgesArrayName()
vtkSmartPointer< vtkScalarBarWidget > EdgeScalarBar
char * EdgeColorArrayNameInternal
virtual int GetGlyphType()
vtkSmartPointer< vtkGraphToPoints > VertexIconPoints
virtual bool GetEnableEdgesByArray()
vtkUnicodeString GetHoverTextInternal(vtkSelection *sel) override
Subclasses may override this method to generate the hover text.
vtkSmartPointer< vtkPointSetToLabelHierarchy > EdgeLabelHierarchy
virtual bool GetEdgeIconVisibility()
virtual int GetVertexDefaultIcon()
virtual void SetVertexIconSelectionMode(int mode)
Set the mode to one of.
virtual bool GetEnableVerticesByArray()
virtual int GetVertexIconAlignment()
vtkSmartPointer< vtkApplyIcons > ApplyVertexIcons
virtual void SetEnabledVerticesArrayName(const char *name)
void SetLayoutStrategyToFast2D()
virtual void AddEdgeIconType(const char *name, int type)
virtual void SetVertexDefaultIcon(int icon)
virtual vtkTextProperty * GetVertexLabelTextProperty()
vtkRenderedGraphRepresentation()
virtual void AddVertexIconType(const char *name, int type)
vtkSmartPointer< vtkPolyData > EmptyPolyData
vtkSmartPointer< vtkPolyDataMapper2D > VertexIconMapper
virtual const char * GetEdgeIconArrayName()
virtual void ClearEdgeIconTypes()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual const char * GetEnabledVerticesArrayName()
void SetLayoutStrategyToClustering2D()
vtkSmartPointer< vtkEdgeCenters > EdgeCenters
virtual void UpdateLayout()
Performs another iteration on the graph layout.
vtkSmartPointer< vtkPointSetToLabelHierarchy > VertexLabelHierarchy
virtual const char * GetEdgeLabelPriorityArrayName()
virtual vtkScalarBarWidget * GetVertexScalarBar()
Obtain the scalar bar widget used to draw a legend for the vertices/edges.
virtual int GetEdgeIconAlignment()
virtual void SetVertexIconSelectionModeToAnnotationIcon()
virtual void SetEdgeLabelTextProperty(vtkTextProperty *p)
virtual void SetScalingArrayName(const char *name)
Set the glyph scaling array name.
void SetEdgeLayoutStrategyToPassThrough()
virtual void SetVertexScalarBarVisibility(bool b)
Vertex/edge scalar bar visibility.
void SetLayoutStrategyToRandom()
Set predefined layout strategies.
virtual void SetLayoutStrategy(vtkGraphLayoutStrategy *strategy)
Set/get the graph layout strategy.
virtual bool GetEdgeVisibility()
virtual const char * GetVertexIconArrayName()
bool HideEdgeLabelsOnInteraction
virtual void SetVertexIconSelectionModeToIgnoreSelection()
virtual bool IsLayoutComplete()
Whether the current graph layout is complete.
virtual const char * GetScalingArrayName()
virtual void SetEdgeIconAlignment(int align)
virtual void SetVertexIconVisibility(bool b)
virtual void SetVertexSelectedIcon(int icon)
vtkSmartPointer< vtkEdgeLayout > EdgeLayout
bool RemoveFromView(vtkView *view) override
virtual void SetEdgeIconArrayName(const char *name)
virtual const char * GetVertexIconPriorityArrayName()
static vtkRenderedGraphRepresentation * New()
void SetLayoutStrategyToPassThrough()
virtual void SetVertexIconSelectionModeToSelectedOffset()
virtual void SetEdgeColorArrayName(const char *name)
virtual void SetColorVerticesByArray(bool b)
virtual const char * GetVertexLabelPriorityArrayName()
virtual vtkScalarBarWidget * GetEdgeScalarBar()
vtkSmartPointer< vtkRemoveHiddenData > RemoveHiddenGraph
virtual void SetUseVertexIconTypeMap(bool b)
virtual void SetVertexIconAlignment(int align)
virtual bool GetVertexLabelVisibility()
vtkSmartPointer< vtkPolyDataMapper > VertexMapper
char * EdgeLayoutStrategyName
vtkSmartPointer< vtkGraphToGlyphs > VertexGlyph
virtual bool GetUseVertexIconTypeMap()
vtkSmartPointer< vtkPolyDataMapper > EdgeMapper
virtual void SetEdgeLayoutStrategyToGeo(double explodeFactor=0.2)
Set the edge layout strategy to a geospatial arced strategy appropriate for vtkGeoView.
vtkSmartPointer< vtkPerturbCoincidentVertices > Coincident
virtual void SetVertexColorArrayName(const char *name)
virtual void SetEdgeLabelPriorityArrayName(const char *name)
char * VertexHoverArrayName
virtual bool GetUseEdgeIconTypeMap()
virtual void SetEdgeIconPriorityArrayName(const char *name)
virtual void SetVertexIconSelectionModeToSelectedIcon()
virtual void SetVertexLabelVisibility(bool b)
virtual void SetEnableVerticesByArray(bool b)
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
Connect inputs to internal pipeline.
char * ScalingArrayNameInternal
vtkSmartPointer< vtkGraphToPoints > GraphToPoints
void SetLayoutStrategyToCircular()
virtual void SetUseEdgeIconTypeMap(bool b)
vtkSelection * ConvertSelection(vtkView *view, vtkSelection *sel) override
Convert the selection to a type appropriate for sharing with other representations through vtkAnnotat...
char * VertexColorArrayNameInternal
virtual const char * GetEdgeLabelArrayName()
virtual vtkGraphLayoutStrategy * GetLayoutStrategy()
virtual void SetVertexIconPriorityArrayName(const char *name)
virtual const char * GetEdgeColorArrayName()
virtual void SetGlyphType(int type)
Set the graph vertex glyph type.
virtual void SetVertexLabelPriorityArrayName(const char *name)
virtual void SetEdgeLabelArrayName(const char *name)
vtkSmartPointer< vtkActor > EdgeActor
vtkSmartPointer< vtkScalarBarWidget > VertexScalarBar
void SetEdgeLayoutStrategyToArcParallel()
~vtkRenderedGraphRepresentation() override
vtkSmartPointer< vtkGraphToGlyphs > OutlineGlyph
virtual void SetLayoutStrategyToAssignCoordinates(const char *xarr, const char *yarr=nullptr, const char *zarr=nullptr)
Set the layout strategy to use coordinates from arrays.
vtkSmartPointer< vtkPolyDataMapper > OutlineMapper
virtual void SetVertexIconArrayName(const char *name)
vtkSmartPointer< vtkVertexDegree > VertexDegree
void SetLayoutStrategyToCone()
vtkSmartPointer< vtkGraphToPolyData > GraphToPoly
virtual void SetEdgeScalarBarVisibility(bool b)
virtual bool GetEdgeScalarBarVisibility()
char * LayoutStrategyName
vtkSmartPointer< vtkIconGlyphFilter > VertexIconGlyph
void SetLayoutStrategyToSpanTree()
virtual vtkEdgeLayoutStrategy * GetEdgeLayoutStrategy()
void ComputeSelectedGraphBounds(double bounds[6])
Compute the bounding box of the selected subgraph.
virtual bool GetVertexScalarBarVisibility()
virtual void SetEdgeLabelVisibility(bool b)
virtual bool GetVertexIconVisibility()
Superclass for mapping scalar values to colors.
data object that represents a "selection" in VTK.
represent text properties.
actor that draws 2D data with texture support
String class that stores Unicode text.
Adds an attribute array with the degree of each vertex.
Sets theme colors for a graphical view.
The superclass for all views.