graphvertex.h
Go to the documentation of this file.
1 /***************************************************************************
2  SocNetV: Social Network Visualizer
3  version: 3.0.2
4  Written in Qt
5 
6  graphvertex.h - description
7  -------------------
8  copyright : (C) 2005-2021 by Dimitris B. Kalamaras
9  project site : https://socnetv.org
10 
11  ***************************************************************************/
12 
13 /*******************************************************************************
14 * This program is free software: you can redistribute it and/or modify *
15 * it under the terms of the GNU General Public License as published by *
16 * the Free Software Foundation, either version 3 of the License, or *
17 * (at your option) any later version. *
18 * *
19 * This program is distributed in the hope that it will be useful, *
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
22 * GNU General Public License for more details. *
23 * *
24 * You should have received a copy of the GNU General Public License *
25 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
26 ********************************************************************************/
27 
28 #ifndef GRAPHVERTEX_H
29 #define GRAPHVERTEX_H
30 
31 #include <QObject>
32 #include <QString>
33 #include <QStringList>
34 #include <QHash>
35 #include <QMultiHash>
36 #include <QList>
37 #include <QPointF>
38 #include <map>
39 
40 using namespace std;
41 
42 class QPointF;
43 class Graph;
44 
45 
46 typedef QList<int> L_int;
47 
48 typedef QHash<int,QString> H_IntToStr;
49 typedef QHash <QString, int> H_StrToInt;
50 
51 
52 typedef QPair <qreal, bool> pair_f_b;
53 typedef QPair <int, pair_f_b > pair_i_fb;
54 typedef QMultiHash < int, pair_i_fb > H_edges;
55 
56 typedef QPair <int, qreal > pair_i_f;
57 typedef QHash < int, pair_i_f > H_distance;
58 
59 typedef QPair <int, int> pair_i_i;
60 typedef QHash < int, pair_i_i > H_shortestPaths;
61 
62 
63 class GraphVertex : public QObject{
64  Q_OBJECT
65 
66 public:
67 
68  GraphVertex(Graph* parentGraph,
69  const int &name,
70  const int &val,
71  const int &relation,
72  const int &size,
73  const QString &color,
74  const QString &numColor,
75  const int &numSize,
76  const QString &label,
77  const QString &labelColor,
78  const int &labelSize,
79  const QPointF &p,
80  const QString &shape,
81  const QString &iconPath);
82 
83  GraphVertex(const int &name);
84 
85  ~GraphVertex();
86 
87  int name() const { return m_name; }
88 
89  void setName (const int &name) { m_name=name; }
90 
91  void setEnabled (const bool &flag ) { m_enabled=flag; }
92  bool isEnabled () const { return m_enabled; }
93 
94  void relationSet(int newRel) ;
95 
96  void edgeAddTo (const int &v2, const qreal &weight, const QString &color=QString(), const QString &label=QString());
97  void edgeAddFrom(const int &v1, const qreal &weight);
98 
99  void changeOutEdgeWeight (const int &target, const qreal &weight);
100 
101  void setOutEdgeEnabled (const int, bool);
102 
103  void edgeRemoveTo (const int target);
104  void edgeRemoveFrom(const int source);
105 
106  QHash<int, qreal> outEdgesEnabledHash(const bool &allRelations=false);
107  QHash<int,qreal>* outEdgesAllRelationsUniqueHash();
108  QHash<int,qreal>* inEdgesEnabledHash();
109  QHash<int,qreal> reciprocalEdgesHash();
110  QList<int> neighborhoodList();
111 
112  int outEdges();
113  int outEdgesConst() const ;
114 
115  int inEdges();
116  int inEdgesConst() const ;
117 
118  int degreeOut();
119  int outDegreeConst();
120  int degreeIn();
121  int inDegreeConst();
122  int localDegree();
123 
124  qreal distance(const int &v1) ;
125  void setDistance (const int &v1, const qreal &d) ;
126  void reserveDistance(const int &N);
127  void clearDistance();
128 
129  int shortestPaths(const int &v1) ;
130  void setShortestPaths(const int &v1, const int &sp) ;
131  void reserveShortestPaths(const int &N);
132  void clearShortestPaths();
133 
134 
135  /* sets eccentricity */
136  void setEccentricity (const qreal &c){ m_Eccentricity=c;}
137  qreal eccentricity() { return m_Eccentricity;}
138 
139  /* Returns true if there is an outLink from this vertex */
140  bool isOutLinked() { return (outEdges() > 0) ? true:false;}
141  qreal hasEdgeTo(const int &v, const bool &allRelations=false);
142 
143  /* Returns true if there is an outLink from this vertex */
144  bool isInLinked() { return (inEdges() > 0) ? true:false;}
145  qreal hasEdgeFrom (const int &v, const bool &allRelations=false);
146 
147  bool isIsolated() { return !(isOutLinked() | isInLinked()) ; }
148  void setIsolated(bool isolated) {m_isolated = isolated; }
149 
150  void edgeFilterByWeight(qreal m_threshold, bool overThreshold);
151  // void filterEdgesByColor(qreal m_threshold, bool overThreshold);
152  void edgeFilterByRelation(int relation, bool status);
153  void edgeFilterUnilateral(const bool &toggle=false);
154 
155  void setSize(const int &size ) { m_size=size; }
156  int size() const { return m_size; }
157 
158  void setShape(const QString &shape, const QString &iconPath = QString()) { m_shape=shape; m_iconPath=iconPath;}
159  QString shape() const { return m_shape; }
160  QString shapeIconPath() {return m_iconPath; }
161 
162  void setColor(const QString &color) { m_color=color; }
163  QString color() const { return m_color; }
164  QString colorToPajek();
165 
166  void setNumberColor (const QString &color) { m_numberColor = color; }
167  QString numberColor() const { return m_numberColor; }
168 
169  void setNumberSize (const int &size) { m_numberSize=size; }
170  int numberSize() const { return m_numberSize; }
171 
172  void setNumberDistance (const int &distance) { m_numberDistance=distance; }
173  int numberDistance() const { return m_numberDistance; }
174 
175  void setLabel (const QString &label) { m_label=label; }
176  QString label() const { return m_label; }
177 
178  void setLabelColor (const QString &labelColor) { m_labelColor=labelColor; }
179  QString labelColor() const { return m_labelColor; }
180 
181  void setLabelSize(const int &size) { m_labelSize=size; }
182  int labelSize() const { return m_labelSize; }
183 
184  void setLabelDistance (const int &distance) { m_labelDistance=distance; }
185  int labelDistance() const { return m_labelDistance; }
186 
187  void setX(const qreal &x) { m_x=x; }
188  qreal x() const { return m_x; }
189 
190  void setY(const qreal &y) { m_y=y; }
191  qreal y() const { return m_y; }
192 
193  QPointF pos () const { return QPointF ( x(), y() ); }
194  void setPos (QPointF &p) { m_x=p.x(); m_y=p.y(); }
195 
196  //returns displacement vector
197  QPointF & disp() { return m_disp; }
198 
199  void set_dispX (qreal x) { m_disp.rx() = x ; }
200  void set_dispY (qreal y) { m_disp.ry() = y ; }
201 
202 
203  void setOutLinkColor(const int &v2,
204  const QString &color) { m_outLinkColors[v2]=color; }
205  QString outLinkColor(const int &v2) {
206  return ( m_outLinkColors.contains(v2) ) ? m_outLinkColors.value(v2) : "black";
207  }
208 
209 
210  void setOutEdgeLabel(const int &v2,
211  const QString &label) { m_outEdgeLabels[v2]=label; }
212  QString outEdgeLabel(const int &v2) const {
213  return ( m_outEdgeLabels.contains(v2) ) ? m_outEdgeLabels.value(v2) : QString();
214  }
215 
216 
217  void setDelta (const qreal &c){ m_delta=c;} /* Sets vertex pair dependancy */
218  qreal delta() { return m_delta;} /* Returns vertex pair dependancy */
219 
220  void clearPs() ;
221 
222  void appendToPs(const int &vertex ) ;
223  L_int Ps(void);
224 
225  //used in reciprocity report
226  void setOutEdgesReciprocated(int outEdgesSym=-1) { m_outEdgesSym = (outEdgesSym!=-1) ? outEdgesSym : m_outEdgesSym+1; }
227  int outEdgesReciprocated() { return m_outEdgesSym; }
228 
229  void setOutEdgesNonSym(int outEdgesNonSym=-1) { m_outEdgesNonSym = (outEdgesNonSym!=-1) ? outEdgesNonSym : m_outEdgesNonSym+1; }
230  int outEdgesNonSym() { return m_outEdgesNonSym; }
231 
232  void setInEdgesNonSym(int inEdgesNonSym=-1) { m_inEdgesNonSym = (inEdgesNonSym!=-1) ? inEdgesNonSym : m_inEdgesNonSym+1; }
233  int inEdgesNonSym() { return m_inEdgesNonSym; }
234 
235  void setDC (const qreal &c){ m_DC=c;} /* Sets vertex Degree Centrality*/
236  void setSDC (const qreal &c ) { m_SDC=c;} /* Sets standard vertex Degree Centrality*/
237  qreal DC() { return m_DC;} /* Returns vertex Degree Centrality*/
238  qreal SDC() { return m_SDC;} /* Returns standard vertex Degree Centrality*/
239 
240  void setDistanceSum (const qreal &c) { m_distanceSum = c; }
241  qreal distanceSum () { return m_distanceSum; }
242  void setCC (const qreal &c){ m_CC=c;} /* sets vertex Closeness Centrality*/
243  void setSCC (const qreal &c ) { m_SCC=c;} /* sets standard vertex Closeness Centrality*/
244  qreal CC() { return m_CC;} /* Returns vertex Closeness Centrality*/
245  qreal SCC() { return m_SCC; } /* Returns standard vertex Closeness Centrality*/
246 
247  void setIRCC (const qreal &c){ m_IRCC=c;} /* sets vertex IRCC */
248  void setSIRCC (const qreal &c ) { m_SIRCC=c;} /* sets standard vertex IRCC */
249  qreal IRCC() { return m_IRCC;} /* Returns vertex IRCC */
250  qreal SIRCC() { return m_SIRCC; } /* Returns standard vertex IRCC*/
251 
252  void setBC(const qreal &c){ m_BC=c;} /* sets s vertex Betweenness Centrality*/
253  void setSBC (const qreal &c ) { m_SBC=c;} /* sets standard vertex Betweenness Centrality*/
254  qreal BC() { return m_BC;} /* Returns vertex Betweenness Centrality*/
255  qreal SBC() { return m_SBC; } /* Returns standard vertex Betweenness Centrality*/
256 
257  void setSC (const qreal &c){ m_SC=c;} /* sets vertex Stress Centrality*/
258  void setSSC (const qreal &c ) { m_SSC=c;} /* sets standard vertex Stress Centrality*/
259  qreal SC() { return m_SC;} /* Returns vertex Stress Centrality*/
260  qreal SSC() { return m_SSC; } /* Returns standard vertex Stress Centrality*/
261 
262  void setEC(const qreal &dist) { m_EC=dist;} /* Sets max Geodesic Distance to all other vertices*/
263  void setSEC(const qreal &c) {m_SEC=c;}
264  qreal EC() { return m_EC;} /* Returns max Geodesic Distance to all other vertices*/
265  qreal SEC() { return m_SEC;}
266 
267  void setPC (const qreal &c){ m_PC=c;} /* sets vertex Power Centrality*/
268  void setSPC (const qreal &c ) { m_SPC=c;} /* sets standard vertex Power Centrality*/
269  qreal PC() { return m_PC;} /* Returns vertex Power Centrality*/
270  qreal SPC() { return m_SPC; } /* Returns standard vertex Power Centrality*/
271 
272  void setIC (const qreal &c){ m_IC=c;} /* sets vertex Information Centrality*/
273  void setSIC (const qreal &c ) { m_SIC=c;} /* sets standard vertex Information Centrality*/
274  qreal IC() { return m_IC;} /* Returns vertex Information Centrality*/
275  qreal SIC() { return m_SIC; } /* Returns standard vertex Information Centrality*/
276 
277  void setDP (const qreal &c){ m_DP=c;} /* Sets vertex Degree Prestige */
278  void setSDP (const qreal &c ) { m_SDP=c;} /* Sets standard vertex Degree Prestige */
279  qreal DP() { return m_DP;} /* Returns vertex Degree Prestige */
280  qreal SDP() { return m_SDP;} /* Returns standard vertex Degree Prestige */
281 
282  void setPRP (const qreal &c){ m_PRC=c;} /* sets vertex PageRank*/
283  void setSPRP (const qreal &c ) { m_SPRC=c;} /* sets standard vertex PageRank*/
284  qreal PRP() { return m_PRC;} /* Returns vertex PageRank */
285  qreal SPRP() { return m_SPRC; } /* Returns standard vertex PageRank*/
286 
287  void setPP (const qreal &c){ m_PP=c;} /* sets vertex Proximity Prestige */
288  void setSPP (const qreal &c ) { m_SPP=c;} /* sets standard vertex Proximity Prestige */
289  qreal PP() { return m_PP;} /* Returns vertex Proximity Prestige */
290  qreal SPP() { return m_SPP; } /* Returns standard vertex Proximity Prestige */
291 
292  qreal CLC() { return m_CLC; }
293  void setCLC(const qreal &clucof) { m_CLC=clucof; m_hasCLC=true; }
294  bool hasCLC() { return m_hasCLC; }
295 
296  void setEVC (const qreal &c){ m_EVC=c;} /* Sets vertex Degree Centrality*/
297  void setSEVC (const qreal &c ) { m_SEVC=c;} /* Sets standard vertex Degree Centrality*/
298  qreal EVC() { return m_EVC;} /* Returns vertex Degree Centrality*/
299  qreal SEVC() { return m_SEVC;} /* Returns standard vertex Degree Centrality*/
300 
301 
302  int cliques (const int &ofSize);
303 
304  void cliqueAdd (const QList<int> &clique);
305 
306  void clearCliques() { m_cliques.clear(); }
307 
308  //Hashes of all outbound and inbound edges of this vertex.
309  H_edges m_outEdges, m_inEdges;
310 
311  //Hash dictionary of this vertex pair-wise distances to all other vertices for each relationship
312  //The key is the relationship
313  //The value is a QPair < int target, qreal weight >
315 
317 
318 signals:
319  void setEdgeVisibility (const int &relation, const int &name, const int &target, const bool &visible);
320 
321 protected:
322 
323 private:
325  int m_name, m_outEdgesCounter, m_inEdgesCounter, m_outDegree, m_inDegree, m_localDegree;
326  int m_outEdgesNonSym, m_inEdgesNonSym, m_outEdgesSym;
327  int m_value, m_size, m_labelSize, m_numberSize, m_numberDistance, m_labelDistance;
329  bool m_reciprocalLinked, m_enabled, m_hasCLC, m_isolated;
330  double m_x, m_y;
331  qreal m_Eccentricity, m_CLC;
332  qreal m_delta, m_EC, m_SEC;
333  qreal m_DC, m_SDC, m_DP, m_SDP, m_CC, m_SCC, m_BC, m_SBC, m_IRCC, m_SIRCC, m_SC, m_SSC;
334  qreal m_PC, m_SPC, m_SIC, m_IC, m_SPRC, m_PRC;
335  qreal m_PP, m_SPP, m_EVC, m_SEVC;
337 
338  QString m_color, m_numberColor, m_label, m_labelColor, m_shape, m_iconPath;
339  QPointF m_disp;
340 
341  QMultiHash<int,qreal> m_reciprocalEdges;
343  QMultiHash <int, L_int> m_cliques;
345  H_IntToStr m_outLinkColors, m_outEdgeLabels;
346 
347  //FIXME vertex coords
348 
349 
350 
351 };
352 
353 #endif
QPair< int, int > pair_i_i
Definition: graphvertex.h:59
void setEVC(const qreal &c)
Definition: graphvertex.h:296
void setSDC(const qreal &c)
Definition: graphvertex.h:236
qreal m_SEC
Definition: graphvertex.h:332
qreal y() const
Definition: graphvertex.h:191
void setSSC(const qreal &c)
Definition: graphvertex.h:258
QPair< int, pair_f_b > pair_i_fb
Definition: graphvertex.h:53
int size() const
Definition: graphvertex.h:156
QString labelColor() const
Definition: graphvertex.h:179
void setSPP(const qreal &c)
Definition: graphvertex.h:288
bool isIsolated()
Definition: graphvertex.h:147
void setPP(const qreal &c)
Definition: graphvertex.h:287
int labelDistance() const
Definition: graphvertex.h:185
qreal SDC()
Definition: graphvertex.h:238
void setSEVC(const qreal &c)
Definition: graphvertex.h:297
QHash< int, QString > H_IntToStr
Definition: graphvertex.h:48
void setEC(const qreal &dist)
Definition: graphvertex.h:262
void setSEC(const qreal &c)
Definition: graphvertex.h:263
void setSize(const int &size)
Definition: graphvertex.h:155
qreal SC()
Definition: graphvertex.h:259
qreal SDP()
Definition: graphvertex.h:280
qreal m_SSC
Definition: graphvertex.h:333
L_int myPs
Definition: graphvertex.h:342
qreal EVC()
Definition: graphvertex.h:298
int m_curRelation
Definition: graphvertex.h:328
qreal SSC()
Definition: graphvertex.h:260
bool isEnabled() const
Definition: graphvertex.h:92
void setName(const int &name)
Definition: graphvertex.h:89
qreal CLC()
Definition: graphvertex.h:292
qreal m_SPRC
Definition: graphvertex.h:334
void setIsolated(bool isolated)
Definition: graphvertex.h:148
QString outLinkColor(const int &v2)
Definition: graphvertex.h:205
Definition: graphvertex.h:63
void setIRCC(const qreal &c)
Definition: graphvertex.h:247
void clearCliques()
Definition: graphvertex.h:306
H_IntToStr m_outLinkColors
Definition: graphvertex.h:345
void setLabel(const QString &label)
Definition: graphvertex.h:175
QList< int > L_int
Definition: graphvertex.h:43
qreal SPC()
Definition: graphvertex.h:270
QString color() const
Definition: graphvertex.h:163
qreal PC()
Definition: graphvertex.h:269
QString label() const
Definition: graphvertex.h:176
void setPos(QPointF &p)
Definition: graphvertex.h:194
void setNumberDistance(const int &distance)
Definition: graphvertex.h:172
void setDC(const qreal &c)
Definition: graphvertex.h:235
void setSPC(const qreal &c)
Definition: graphvertex.h:268
QHash< int, pair_i_f > H_distance
Definition: graphvertex.h:57
void setBC(const qreal &c)
Definition: graphvertex.h:252
QPointF & disp()
Definition: graphvertex.h:197
qreal SIRCC()
Definition: graphvertex.h:250
int m_outEdgesCounter
Definition: graphvertex.h:325
H_shortestPaths m_shortestPaths
Definition: graphvertex.h:316
qreal SPP()
Definition: graphvertex.h:290
void setLabelSize(const int &size)
Definition: graphvertex.h:181
H_distance m_distance
Definition: graphvertex.h:314
H_edges m_outEdges
Definition: graphvertex.h:309
QString m_shape
Definition: graphvertex.h:338
int outEdgesReciprocated()
Definition: graphvertex.h:227
void setOutEdgeLabel(const int &v2, const QString &label)
Definition: graphvertex.h:210
bool hasCLC()
Definition: graphvertex.h:294
void set_dispY(qreal y)
Definition: graphvertex.h:200
qreal BC()
Definition: graphvertex.h:254
void setNumberColor(const QString &color)
Definition: graphvertex.h:166
QMultiHash< int, pair_i_fb > H_edges
Definition: graph.h:90
qreal delta()
Definition: graphvertex.h:218
void setSDP(const qreal &c)
Definition: graphvertex.h:278
qreal x() const
Definition: graphvertex.h:188
void setShape(const QString &shape, const QString &iconPath=QString())
Definition: graphvertex.h:158
qreal m_Eccentricity
Definition: graphvertex.h:331
int numberDistance() const
Definition: graphvertex.h:173
qreal distanceSum()
Definition: graphvertex.h:241
L_int m_neighborhoodList
Definition: graphvertex.h:344
void setPRP(const qreal &c)
Definition: graphvertex.h:282
QPair< qreal, bool > pair_f_b
Definition: graphvertex.h:52
void setNumberSize(const int &size)
Definition: graphvertex.h:169
QHash< QString, int > H_StrToInt
Definition: graphvertex.h:49
QString shapeIconPath()
Definition: graphvertex.h:160
QPointF m_disp
Definition: graphvertex.h:339
QPointF pos() const
Definition: graphvertex.h:193
void setSIC(const qreal &c)
Definition: graphvertex.h:273
void setPC(const qreal &c)
Definition: graphvertex.h:267
QMultiHash< int, pair_i_fb > H_edges
Definition: graphvertex.h:54
qreal SEVC()
Definition: graphvertex.h:299
bool isInLinked()
Definition: graphvertex.h:144
qreal DP()
Definition: graphvertex.h:279
double m_y
Definition: graphvertex.h:330
int inEdgesNonSym()
Definition: graphvertex.h:233
void setSPRP(const qreal &c)
Definition: graphvertex.h:283
qreal SBC()
Definition: graphvertex.h:255
void setSIRCC(const qreal &c)
Definition: graphvertex.h:248
qreal SIC()
Definition: graphvertex.h:275
void setOutLinkColor(const int &v2, const QString &color)
Definition: graphvertex.h:203
qreal m_SPP
Definition: graphvertex.h:335
int numberSize() const
Definition: graphvertex.h:170
void setX(const qreal &x)
Definition: graphvertex.h:187
void setDelta(const qreal &c)
Definition: graphvertex.h:217
qreal EC()
Definition: graphvertex.h:264
QMultiHash< int, qreal > m_reciprocalEdges
Definition: graphvertex.h:341
qreal PRP()
Definition: graphvertex.h:284
int outEdgesNonSym()
Definition: graphvertex.h:230
void setDP(const qreal &c)
Definition: graphvertex.h:277
void set_dispX(qreal x)
Definition: graphvertex.h:199
qreal SCC()
Definition: graphvertex.h:245
void setCC(const qreal &c)
Definition: graphvertex.h:242
void setLabelDistance(const int &distance)
Definition: graphvertex.h:184
qreal IRCC()
Definition: graphvertex.h:249
bool m_reciprocalLinked
Definition: graphvertex.h:329
void setIC(const qreal &c)
Definition: graphvertex.h:272
int name() const
Definition: graphvertex.h:87
QList< int > L_int
Definition: graph.h:92
QMultiHash< int, L_int > m_cliques
Definition: graphvertex.h:343
void setSC(const qreal &c)
Definition: graphvertex.h:257
void setOutEdgesNonSym(int outEdgesNonSym=-1)
Definition: graphvertex.h:229
qreal IC()
Definition: graphvertex.h:274
void setLabelColor(const QString &labelColor)
Definition: graphvertex.h:178
qreal SEC()
Definition: graphvertex.h:265
int m_value
Definition: graphvertex.h:327
Graph * m_graph
Definition: graphvertex.h:324
qreal eccentricity()
Definition: graphvertex.h:137
void setInEdgesNonSym(int inEdgesNonSym=-1)
Definition: graphvertex.h:232
QHash< int, pair_i_i > H_shortestPaths
Definition: graphvertex.h:60
qreal CC()
Definition: graphvertex.h:244
QString outEdgeLabel(const int &v2) const
Definition: graphvertex.h:212
void setDistanceSum(const qreal &c)
Definition: graphvertex.h:240
void setSBC(const qreal &c)
Definition: graphvertex.h:253
qreal SPRP()
Definition: graphvertex.h:285
The Graph class This is the main class for a Graph, used in conjuction with GraphVertex,...
Definition: graph.h:121
qreal PP()
Definition: graphvertex.h:289
int labelSize() const
Definition: graphvertex.h:182
QPair< int, qreal > pair_i_f
Definition: graphvertex.h:56
int m_outEdgesSym
Definition: graphvertex.h:326
void setY(const qreal &y)
Definition: graphvertex.h:190
qreal m_distanceSum
Definition: graphvertex.h:336
void setColor(const QString &color)
Definition: graphvertex.h:162
QString numberColor() const
Definition: graphvertex.h:167
QString shape() const
Definition: graphvertex.h:159
void setEnabled(const bool &flag)
Definition: graphvertex.h:91
void setCLC(const qreal &clucof)
Definition: graphvertex.h:293
bool isOutLinked()
Definition: graphvertex.h:140
void setSCC(const qreal &c)
Definition: graphvertex.h:243
qreal DC()
Definition: graphvertex.h:237
void setEccentricity(const qreal &c)
Definition: graphvertex.h:136
void setOutEdgesReciprocated(int outEdgesSym=-1)
Definition: graphvertex.h:226