Code Documentation 3.6
Social Network Visualizer
Loading...
Searching...
No Matches
FilterSpec Struct Reference

Records how to re-apply one filter operation from scratch. More...

#include <graph/filters/filter_spec.h>

Collaboration diagram for FilterSpec:

Public Types

enum class  Type {
  None , Attribute , Selection , Ego ,
  Centrality , EdgeAttribute , EdgeWeight , Query ,
  EdgeQuery
}

Public Attributes

Type type = Type::None
FilterCondition condition
int egoVertex = 0
int egoDepth = 1
QList< int > selection
float centralityThreshold = 0.0f
bool centralityOverThreshold = false
SocNetV::IndexType centralityIndex = SocNetV::IndexType::DC
float edgeWeightThreshold = 0.0f
bool edgeWeightOverThreshold = false
QList< FilterConditionqueryConditions

Detailed Description

Records how to re-apply one filter operation from scratch.

One FilterSpec is embedded in every GraphVisibilitySnapshot. When the user removes an arbitrary filter chip, Graph::vertexFilterRemoveAt() restores to the pre-first-filter base state and replays the remaining specs in order via vertexFilterReplaySpec().

Every filter operation (node OR edge) pushes exactly one snapshot, so the filter bar's chip order maps 1:1 to the snapshot stack (barIndex == stackIndex). This invariant is maintained by chipCloseRequested using barIndex directly.

Centrality replay requires the relevant index to still be computed; if it is not, vertexFilterByCentrality() returns early with a status message and that step is silently skipped during replay.

Member Enumeration Documentation

◆ Type

enum class FilterSpec::Type
strong
Enumerator
None 
Attribute 
Selection 
Ego 
Centrality 
EdgeAttribute 
EdgeWeight 
Query 
EdgeQuery 

Member Data Documentation

◆ centralityIndex

SocNetV::IndexType FilterSpec::centralityIndex = SocNetV::IndexType::DC

◆ centralityOverThreshold

bool FilterSpec::centralityOverThreshold = false

◆ centralityThreshold

float FilterSpec::centralityThreshold = 0.0f

◆ condition

FilterCondition FilterSpec::condition

◆ edgeWeightOverThreshold

bool FilterSpec::edgeWeightOverThreshold = false

◆ edgeWeightThreshold

float FilterSpec::edgeWeightThreshold = 0.0f

◆ egoDepth

int FilterSpec::egoDepth = 1

◆ egoVertex

int FilterSpec::egoVertex = 0

◆ queryConditions

QList<FilterCondition> FilterSpec::queryConditions

◆ selection

QList<int> FilterSpec::selection

◆ type

Type FilterSpec::type = Type::None

The documentation for this struct was generated from the following file: