40 #include <QTextStream>
44 #include <QtCharts/QChartGlobal>
62 class QAbstractSeries;
68 class QBarCategoryAxis;
77 typedef QList<GraphVertex*>
VList;
80 typedef QHash <qreal, int>
H_f_i;
83 typedef QMultiHash <int, pair_i_fb >
H_edges;
118 int relationCurrent();
120 QString relationCurrentName()
const;
122 void relationCurrentRename(
const QString &newName);
123 void relationCurrentRename(
const QString &newName,
const bool &signalMW);
126 void vertexCreate (
const int &number,
128 const QString &color,
129 const QString &numColor,
131 const QString &label,
132 const QString &labelColor,
133 const int &labelSize,
135 const QString &shape,
136 const QString &iconPath = QString(),
137 const bool &signalMW =
false
140 void graphFileLoaded(
const int &fileType,
141 const QString &fName=QString(),
142 const QString &netName=QString(),
143 const int &totalNodes=0,
144 const int &totalLinks=0,
145 const int &edgeDirType=0,
146 const qint64 &elapsedTime=0,
147 const QString &message=QString());
149 void vertexRemoveDummyNode(
int);
151 void graphLoadedTerminateParserThreads (QString reason);
153 void setSelectionChanged(
const QList<int> selectedVertices,
154 const QList<SelectedEdge> selectedEdges);
156 void graphClickedEmptySpace(
const QPointF &p);
159 bool edgeCreate (
const int &v1,
const int &v2,
const qreal &weight,
160 const QString &color ,
162 const bool &drawArrows=
true,
const bool &bezier=
false,
163 const QString &label=QString(),
164 const bool &signalMW=
true);
166 void edgeCreateWebCrawler (
const int &source,
const int &target);
169 void vertexCreateAtPos(
const QPointF &p);
171 void vertexCreateAtPosRandom(
const bool &signalMW=
false);
173 void vertexCreateAtPosRandomWithLabel(
const int &i,
174 const QString &label,
175 const bool &signalMW=
false) ;
180 void relationSet(
int relNum=RAND_MAX,
const bool &updateUI=
true);
186 void canvasSizeSet(
const int &width,
const int &height);
188 double canvasMaxRadius()
const;
190 qreal canvasMinDimension()
const;
192 double canvasVisibleX(
const double &x)
const ;
194 double canvasVisibleY(
const double &y)
const ;
196 double canvasRandomX()
const;
198 double canvasRandomY()
const;
201 void vertexIsolatedAllToggle (
const bool &toggle);
203 void vertexClickedSet(
const int &v,
const QPointF &p);
205 void edgeClickedSet(
const int &v1,
const int &v2,
const bool &openMenu=
false) ;
208 void edgeFilterByWeight (
const qreal,
const bool);
210 void edgeFilterByRelation(
int relation,
bool status);
212 void edgeFilterUnilateral(
const bool &toggle);
214 void startWebCrawler(
215 const QUrl &startUrl,
216 const QStringList &urlPatternsIncluded,
217 const QStringList &urlPatternsExcluded,
218 const QStringList &linkClasses,
220 const int &maxLinksPerPage,
221 const bool &intLinks,
222 const bool &childLinks,
223 const bool &parentLinks,
224 const bool &selfLinks,
225 const bool &extLinksIncluded,
226 const bool &extLinksCrawl,
227 const bool &socialLinks,
228 const bool &delayedRequests);
230 void slotHandleCrawlerRequestReply();
233 QString htmlEscaped (QString str)
const;
255 const qreal &density,
256 const bool ¬Saved=
true);
259 const QString &fileName=QString(),
260 const QString &netName=QString(),
261 const int &totalNodes=0,
262 const int &totalLinks=0,
263 const qreal &density=0,
264 const qint64 &elapsedTime=0,
265 const QString &message=QString() );
274 const QPointF &p=QPointF(),
275 const QString &label=QString(),
276 const int &inDegree=0,
277 const int &outDegree=0);
293 const int &selectedEdges);
297 QAbstractAxis *axisX=Q_NULLPTR,
300 QAbstractAxis *axisY=Q_NULLPTR,
302 const qreal &maxF=0);
308 const QString &nodeShape,
309 const QString &nodeIconPath,
310 const QString &nodeColor,
311 const QString &numberColor,
const int &numSize,
312 const int &numDistance,
313 const QString &label,
314 const QString &labelColor,
const int &labelSize,
315 const int &labelDistance
325 const QString &label=
"",
326 const QString &color=
"black",
328 const bool &drawArrows=
true,
329 const bool &bezier=
false,
330 const bool &weightNumbers=
false);
339 const bool &preserveReverseEdge=
false,
340 const int &edgeWeight= 1,
341 const int &reverseEdgeWeight = 1);
351 void setNodeShape(
const int &v,
const QString &shape,
const QString &iconPath=QString());
376 const QString &color);
379 const QString &label);
397 VertexEdgeCount = 13,
404 Complete_Linkage = 1,
410 Graph(
const int &reserveVerticesSize = 5000,
const int &reserveEdgesPerVertexSize = 500);
414 void clear(
const QString &reason=
"");
418 QString getFileName()
const;
420 void setFileName(
const QString &fileName);
422 QString getName()
const;
424 void setName(
const QString &graphName);
426 bool isSaved()
const;
428 bool isLoaded()
const;
430 int getFileFormat()
const;
432 void setFileFormat(
const int &fileFormat);
434 bool isFileFormatExportSupported(
const int &fileFormat)
const;
436 void setModStatus(
const int &graphNewStatus,
const bool&signalMW=
true);
438 bool isModified()
const ;
440 void loadFile (
const QString fileName,
441 const QString codecName,
443 const int two_sm_mode,
444 const QString delimiter=QString());
446 void saveToFile(
const QString &fileName,
448 const bool &saveEdgeWeights=
true);
450 bool saveToPajekFormat (
const QString &fileName,
451 QString networkName=
"",
452 int maxWidth=0,
int maxHeight=0);
454 bool saveToAdjacencyFormat (
const QString &fileName,
455 const bool &saveEdgeWeights=
true);
457 bool saveToGraphMLFormat (
const QString &fileName,
458 QString networkName=
"",
459 int maxWidth=0,
int maxHeight=0);
461 bool saveToDotFormat (QString fileName);
463 QString graphMatrixTypeToString(
const int &matrixType)
const;
465 int graphMatrixStrToType(
const QString &matrix)
const;
467 QString graphMetricTypeToString(
const int &metricType)
const;
469 int graphMetricStrToType(
const QString &metricStr)
const;
471 QString graphClusteringMethodTypeToString(
const int &methodType)
const;
473 int graphClusteringMethodStrToType(
const QString &method)
const;
479 void relationsClear();
481 void relationAdd(
const QString &relName,
const bool &changeRelation=
false);
485 int vertexNumberMax();
487 int vertexNumberMin();
489 int vertexDegreeOut(
int);
491 int vertexDegreeIn(
int);
493 QList<int> vertexNeighborhoodList(
const int &v1);
494 QSet<int> vertexNeighborhoodSet(
const int &v1);
496 bool vertexIsolated(
const int &v1)
const;
498 int vertexExists(
const int &v1 );
500 int vertexExists(
const QString &label);
502 bool vertexFindByNumber (
const QStringList &numList);
504 bool vertexFindByLabel (
const QStringList &labelList);
506 bool vertexFindByIndexScore(
const int &index,
507 const QStringList &thresholds,
508 const bool &considerWeights,
509 const bool &inverseWeights=
false,
510 const bool &dropIsolates=
false
513 void vertexRemove (
const int &v1);
515 void vertexSizeInit (
const int);
517 void vertexSizeSet(
const int &v,
const int &newsize);
519 int vertexSize(
const int &v)
const;
521 void vertexShapeSetDefault (
const QString,
const QString &iconPath=QString());
523 void vertexShapeSet(
const int &v,
const QString &shape,
const QString &iconPath=QString());
525 QString vertexShape(
const int &v);
527 QString vertexShapeIconPath(
const int &v);
531 void vertexColorInit (
const QString &color);
533 void vertexColorSet(
const int &v,
const QString &color);
535 QColor vertexColor(
const int &v)
const;
537 void vertexNumberColorInit (
const QString &color);
539 void vertexNumberColorSet(
const int &v=0,
const QString &color =
"#000000" );
541 void vertexNumberSizeInit (
const int &size);
543 void vertexNumberSizeSet(
const int &v,
const int &newsize );
545 void vertexNumberDistanceInit (
const int &distance);
547 void vertexNumberDistanceSet(
const int &v,
const int &newDistance );
549 void vertexLabelSet(
const int &v,
const QString &label);
551 QString vertexLabel(
const int &v)
const;
555 void vertexLabelSizeInit(
int newSize);
557 void vertexLabelSizeSet(
const int &v,
const int &labelSize );
559 void vertexLabelColorInit(QString color);
561 void vertexLabelColorSet(
const int &v1,
const QString &color);
563 void vertexLabelDistanceInit (
const int &distance);
565 void vertexLabelDistanceSet(
const int &v,
const int &newDistance );
567 void vertexLabelDistanceAllSet (
const int &newDistance);
570 void vertexPosSet(
const int &v,
const int &x,
const int &y);
572 QPointF vertexPos(
const int &v1)
const;
574 int vertexClicked()
const;
576 int vertices(
const bool &dropIsolates=
false,
const bool &countAll=
false,
const bool &recount=
false) ;
578 int vertexEdgesOutbound (
int i) ;
580 int vertexEdgesInbound (
int i) ;
583 int verticesWithOutboundEdges();
585 int verticesWithInboundEdges();
587 int verticesWithReciprocalEdges();
590 QList<int> verticesListIsolated();
592 QList<int> verticesList();
594 QSet<int> verticesSet();
598 void verticesCreateSubgraph(QList<int> vList,
600 const int ¢er = 0);
611 qreal edgeExists(
const int &v1,
613 const bool &checkReciprocal=
false);
615 void edgeOutboundStatusSet (
const int &source,
617 const bool &toggle=
false);
619 void edgeInboundStatusSet (
const int &target,
621 const bool &toggle=
false);
623 void edgeRemove (
const int &v1,
625 const bool &removeReverse=
false);
628 const bool &removeReverse);
630 void edgeRemoveSelectedAll();
632 bool edgeSymmetric(
const int &v1,
const int &v2);
634 void edgeTypeSet(
const int &v1,
639 void edgeWeightSet (
const int &v1,
642 const bool &undirected=
false);
644 qreal edgeWeight(
const int &v1,
const int &v2)
const;
646 void edgeWeightNumbersVisibilitySet (
const bool &toggle);
648 void edgeLabelSet(
const int &v1,
const int &v2,
const QString &label);
650 QString edgeLabel (
const int &v1,
const int &v2)
const;
652 void edgeLabelsVisibilitySet (
const bool &toggle);
654 void edgeColorInit(
const QString &);
656 void edgeColorSet(
const int &v1,
const int &v2,
const QString &color);
658 QString edgeColor (
const int &v1,
const int &v2);
660 bool edgeColorAllSet(
const QString &color,
const int &threshold=RAND_MAX);
665 bool isEmpty()
const;
667 QList<int> getSelectedVertices()
const;
669 int getSelectedVerticesCount()
const;
671 int getSelectedVerticesMin()
const;
673 int getSelectedVerticesMax()
const;
675 QList<SelectedEdge> getSelectedEdges()
const;
677 int getSelectedEdgesCount()
const;
679 int getGeodesicsCount();
681 qreal graphDensity();
685 void setWeighted(
const bool &toggle=
true);
687 qreal graphReciprocity();
693 void addRelationSymmetricStrongTies(
const bool &allRelations=
false);
695 void relationAddCocitation();
697 void graphDichotomization(
const qreal threshold);
699 void setDirected(
const bool &toggle=
true,
const bool &signalMW=
true);
701 void setUndirected(
const bool &toggle=
true,
const bool &signalMW=
true);
709 void createMatrixAdjacency(
const bool dropIsolates=
false,
710 const bool considerWeights=
true,
711 const bool inverseWeights=
false,
712 const bool symmetrize=
false );
714 bool createMatrixAdjacencyInverse(
const QString &method=
"lu");
717 void createMatrixSimilarityMatching(
Matrix &AM,
720 const QString &varLocation=
"Rows",
721 const bool &diagonal=
false,
722 const bool &considerWeights=
true);
724 void createMatrixSimilarityPearson (
Matrix &AM,
726 const QString &varLocation=
"Rows",
727 const bool &diagonal=
false);
729 void createMatrixDissimilarities(
Matrix &INPUT_MATRIX,
732 const QString &varLocation,
733 const bool &diagonal,
734 const bool &considerWeights);
737 void setReportsDataDir(
const QString &reportsDir);
738 void setReportsRealNumberPrecision (
const int & precision);
739 void setReportsLabelLength(
const int &length);
740 void setReportsChartType(
const int &type);
742 void writeDataSetToFile(
const QString dir,
const QString );
744 void writeMatrixAdjacencyTo(QTextStream& os,
745 const bool &saveEdgeWeights=
true);
747 void writeReciprocity(
const QString fileName,
748 const bool considerWeights=
false);
750 void writeMatrix(
const QString &fileName,
752 const bool &considerWeights=
true,
753 const bool &inverseWeights=
false,
754 const bool &dropIsolates=
false,
755 const QString &varLocation=
"Rows",
756 const bool &simpler=
false);
758 void writeMatrixHTMLTable(QTextStream &outText,
Matrix &M,
759 const bool &markDiag=
true,
760 const bool &plain=
false,
761 const bool &printInfinity=
true,
762 const bool &dropIsolates=
false);
764 void writeMatrixAdjacency(
const QString fileName,
765 const bool &markDiag=
true);
767 void writeMatrixAdjacencyPlot(
const QString fileName,
768 const bool &simpler=
false);
770 void writeMatrixAdjacencyInvert(
const QString &filename,
771 const QString &method);
773 void writeMatrixLaplacianPlainText(
const QString &filename);
774 void writeMatrixDegreeText(
const QString &filename);
776 void writeMatrixDistancesPlainText(
const QString &fn,
777 const bool &considerWeights,
778 const bool &inverseWeights,
779 const bool &dropIsolates);
781 void writeMatrixShortestPathsPlainText(
const QString &fn,
782 const bool &considerWeights,
783 const bool &inverseWeights);
785 void writeMatrixDissimilarities(
const QString fileName,
786 const QString &metricStr,
787 const QString &varLocation,
788 const bool &diagonal,
789 const bool &considerWeights) ;
791 void writeMatrixSimilarityMatchingPlain(
const QString fileName,
793 const QString &matrix =
"adjacency",
794 const QString &varLocation=
"rows",
795 const bool &diagonal=
false,
796 const bool &considerWeights=
true);
798 void writeMatrixSimilarityMatching(
const QString fileName,
799 const QString &measure=
"Simple",
800 const QString &matrix =
"adjacency",
801 const QString &varLocation=
"rows",
802 const bool &diagonal=
false,
803 const bool &considerWeights=
true);
806 void writeMatrixSimilarityPearson(
const QString fileName,
807 const bool considerWeights,
808 const QString &matrix =
"adjacency",
809 const QString &varLocation=
"rows",
810 const bool &diagonal=
false);
812 void writeMatrixSimilarityPearsonPlainText(
const QString fileName,
813 const bool considerWeights,
814 const QString &matrix =
"adjacency",
815 const QString &varLocation=
"rows",
816 const bool &diagonal=
false);
818 void writeEccentricity(
const QString fileName,
819 const bool considerWeights=
false,
820 const bool inverseWeights=
false,
821 const bool dropIsolates=
false);
825 void writeCentralityDegree(
const QString,
827 const bool dropIsolates);
829 void writeCentralityCloseness(
const QString,
831 const bool inverseWeights,
832 const bool dropIsolates);
834 void writeCentralityClosenessInfluenceRange(
const QString,
836 const bool inverseWeights,
837 const bool dropIsolates);
839 void writeCentralityBetweenness(
const QString,
841 const bool inverseWeights,
842 const bool dropIsolates);
844 void writeCentralityPower(
const QString,
846 const bool inverseWeights,
847 const bool dropIsolates);
849 void writeCentralityStress(
const QString,
851 const bool inverseWeights,
852 const bool dropIsolates);
854 void writeCentralityEccentricity(
const QString,
856 const bool inverseWeights,
857 const bool dropIsolates);
859 void writeCentralityInformation(
const QString,
861 const bool inverseWeights);
863 void writeCentralityEigenvector(
const QString,
864 const bool &weigths=
true,
865 const bool &inverseWeights =
false,
866 const bool &dropIsolates=
false);
868 void writePrestigeDegree(
const QString,
const bool weights,
869 const bool dropIsolates);
871 void writePrestigeProximity(
const QString,
const bool weights,
872 const bool inverseWeights,
873 const bool dropIsolates);
875 void writePrestigePageRank(
const QString,
const bool Isolates=
false);
878 bool writeClusteringHierarchical(
const QString &fileName,
879 const QString &varLocation,
880 const QString &matrix =
"Adjacency",
881 const QString &metric =
"Manhattan",
882 const QString &method =
"Complete",
883 const bool &diagonal =
false,
884 const bool &dendrogram =
false,
885 const bool &considerWeights=
true,
886 const bool &inverseWeights=
false,
887 const bool &dropIsolates=
false);
889 void writeClusteringHierarchicalResultsToStream(QTextStream& outText,
891 const bool &dendrogram =
false);
893 bool writeCliqueCensus(
const QString &fileName,
894 const bool considerWeights);
896 void writeClusteringCoefficient(
const QString,
const bool);
898 void writeTriadCensus(
const QString,
const bool);
906 bool graphReachable(
const int &v1,
const int &v2) ;
908 void createMatrixReachability() ;
910 int graphDiameter(
const bool considerWeights,
const bool inverseWeights);
912 int graphDistanceGeodesic(
const int &v1,
914 const bool &considerWeights=
false,
915 const bool &inverseWeights=
true);
917 qreal graphDistanceGeodesicAverage(
const bool considerWeights,
918 const bool inverseWeights,
919 const bool dropIsolates);
921 void graphDistancesGeodesic(
const bool &computeCentralities=
false,
922 const bool &considerWeights=
false,
923 const bool &inverseWeights=
true,
924 const bool &dropIsolates=
false);
926 void graphMatrixDistanceGeodesicCreate(
const bool &considerWeights=
false,
927 const bool &inverseWeights=
true,
928 const bool &dropIsolates=
false);
930 void graphMatrixShortestPathsCreate(
const bool &considerWeights=
false,
931 const bool &inverseWeights=
true,
932 const bool &dropIsolates=
false) ;
934 int getProminenceIndexByName(
const QString &prominenceIndexName);
936 void prominenceDistribution(
const int &index,
938 const QString &distImageFileName=QString());
940 void prominenceDistributionBars(
const H_StrToInt &discreteClasses,
942 const QString &distImageFileName);
944 void prominenceDistributionArea(
const H_StrToInt &discreteClasses,
946 const QString &distImageFileName);
948 void prominenceDistributionSpline(
const H_StrToInt &discreteClasses,
949 const QString &seriesName,
950 const QString &distImageFileName);
952 void centralityDegree(
const bool &considerWeights=
true,
953 const bool &dropIsolates=
false);
955 void centralityInformation(
const bool considerWeights=
false,
956 const bool inverseWeights=
false);
958 void centralityEigenvector(
const bool &considerWeights=
false,
959 const bool &inverseWeights=
false,
960 const bool &dropIsolates=
false);
962 void centralityClosenessIR(
const bool considerWeights=
false,
963 const bool inverseWeights=
false,
964 const bool dropIsolates=
false);
966 void prestigeDegree(
const bool &considerWeights,
const bool &dropIsolates=
false);
968 void prestigePageRank(
const bool &dropIsolates=
false);
970 void prestigeProximity(
const bool considerWeights=
false,
971 const bool inverseWeights=
false,
972 const bool dropIsolates=
false);
977 int walksBetween(
int v1,
int v2,
int length);
979 void graphWalksMatrixCreate(
const int &N=0,
981 const bool &updateProgress=
false);
983 void writeWalksTotalMatrixPlainText(
const QString &fn);
985 void writeWalksOfLengthMatrixPlainText(
const QString &fn,
const int &length);
987 void writeMatrixWalks (
const QString &fn,
989 const bool &simpler=
false);
991 QList<int> vertexinfluenceRange(
int v1);
993 QList<int> vertexinfluenceDomain(
int v2);
995 void writeReachabilityMatrixPlainText(
const QString &fn,
996 const bool &dropIsolates=
false);
999 qreal numberOfTriples(
int v1);
1002 void graphCliques(QSet<int> R=QSet<int>(), QSet<int> P=QSet<int>(), QSet<int> X=QSet<int>() );
1004 void graphCliqueAdd (
const QList<int> &clique);
1006 int graphCliquesContaining(
const int &actor,
const int &size=0);
1008 int graphCliquesOfSize(
const int &size );
1010 bool graphClusteringHierarchical(
Matrix &STR_EQUIV,
1011 const QString &varLocation,
1014 const bool &diagonal=
false,
1015 const bool &diagram=
false,
1016 const bool &considerWeights=
true,
1017 const bool &inverseWeights=
false,
1018 const bool &dropIsolates=
false);
1020 qreal clusteringCoefficientLocal(
const int &v1);
1022 qreal clusteringCoefficient (
const bool updateProgress=
false);
1024 bool graphTriadCensus();
1033 void layoutRandom();
1035 void layoutRadialRandom(
const bool &guides=
true);
1037 void layoutCircular(
const double &x0,
1039 const double &newRadius,
1040 const bool &guides=
false);
1043 void layoutByProminenceIndex (
int prominenceIndex,
1045 const bool &considerWeights=
false,
1046 const bool &inverseWeights=
false,
1047 const bool &dropIsolates=
false);
1050 void layoutVertexSizeByIndegree();
1052 void layoutVertexSizeByOutdegree();
1055 void layoutForceDirectedSpringEmbedder(
const int maxIterations);
1057 void layoutForceDirectedFruchtermanReingold(
const int maxIterations);
1059 void layoutForceDirectedKamadaKawai(
const int maxIterations=500,
1060 const bool considerWeights=
false,
1061 const bool inverseWeights=
false,
1062 const bool dropIsolates=
false,
1063 const QString &initialPositions=
"current");
1065 qreal graphDistanceEuclidean(
const QPointF &a,
const QPointF &b);
1067 qreal graphDistanceEuclidean(
const QPointF &a);
1069 int sign(
const qreal &D);
1071 qreal layoutForceDirected_F_rep(
const QString model,
1073 const qreal &optimalDistance);
1075 qreal layoutForceDirected_F_att(
const QString model,
1077 const qreal &optimalDistance) ;
1079 void layoutForceDirected_Eades_moveNodes(
const qreal &c4);
1081 void layoutForceDirected_FR_moveNodes(
const qreal &temperature) ;
1083 qreal layoutForceDirected_FR_temperature(
const int iteration)
const;
1085 qreal computeOptimalDistance(
const int &V);
1087 void compute_angles(
const QPointF &Delta,
1097 void webCrawlTerminateThreads (QString reason);
1102 void randomizeThings();
1104 void randomNetErdosCreate (
const int &N,
1105 const QString &model,
1108 const QString &mode,
1111 void randomNetScaleFreeCreate (
const int &N,
1116 const QString &mode);
1118 void randomNetSmallWorldCreate(
const int &N,
const int °ree,
1119 const double &beta,
const QString &mode);
1121 void randomNetRingLatticeCreate (
const int &N,
const int °ree,
1122 const bool updateProgress=
false);
1124 void randomNetRegularCreate (
const int &N,
1126 const QString &mode,
1129 void randomNetLatticeCreate(
const int &N,
1131 const int &dimension,
1132 const int &neighborhoodLength,
1133 const QString &mode,
1134 const bool &circular=
false);
1136 int factorial (
int);
1158 void edgeAdd (
const int &v1,
1160 const qreal &weight,
1162 const QString &label,
1163 const QString &color
1167 void BFS(
const int &s,
1169 const bool &computeCentralities=
false,
1170 const bool &dropIsolates=
false);
1172 void dijkstra(
const int &s,
1174 const bool &computeCentralities=
false,
1175 const bool &inverseWeights=
false,
1176 const bool &dropIsolates=
false);
1178 void minmax(qreal C,
1182 int &maxNode,
int &minNode
1185 void resolveClasses ( qreal C,
1189 void resolveClasses ( qreal C,
1191 int &classes,
int name);
1270 qreal minSCC, maxSCC, nomSCC,
denomSCC, sumCC, sumSCC, groupCC, maxIndexCC;
1271 qreal minIRCC, maxIRCC, nomIRCC,
denomIRCC, sumIRCC, groupIRCC;
1272 qreal minSBC, maxSBC, nomSBC,
denomSBC, sumBC, sumSBC, groupSBC, maxIndexBC;
1273 qreal minSPC, maxSPC, nomSPC,
denomSPC, t_sumIC, sumSPC, groupSPC, maxIndexPC;
1274 qreal minSSC, maxSSC, sumSC, sumSSC,
groupSC, maxIndexSC;
1275 qreal minEC, maxEC, nomEC,
denomEC, sumEC, groupEC, maxIndexEC;
1276 qreal minIC, maxIC, nomIC,
denomIC, sumIC, maxIndexIC;
1277 qreal minEVC, maxEVC, nomEVC,
denomEVC, sumEVC, sumSEVC, groupEVC;
1278 qreal minPRP, maxPRP, nomPRC,
denomPRC, sumPC, t_sumPRP, sumPRP;
1279 qreal minPP, maxPP, nomPP,
denomPP, sumPP, groupPP;
Definition: graphvertex.h:63
The Graph class This is the main class for a Graph, used in conjuction with GraphVertex,...
Definition: graph.h:111
void signalSelectionChanged(const int &selectedVertices, const int &selectedEdges)
QHash< int, int > m_vertexPairsUnilaterallyConnected
Definition: graph.h:1224
qreal denomIC
Definition: graph.h:1276
bool calculatedIC
Definition: graph.h:1328
void signalRelationChangedToGW(int)
void signalEdgeType(const int &v1, const int &v2, const int &type)
qreal denomPRC
Definition: graph.h:1278
int m_reserveEdgesPerVertexSize
Definition: graph.h:1301
void signalRemoveEdge(const int &v1, const int &v2, const bool &removeReverse)
int graphConnectednessFull(const bool updateProgress=false)
int classesSCC
Definition: graph.h:1285
int m_graphReciprocityTiesTotal
Definition: graph.h:1313
int m_reportsLabelLength
Definition: graph.h:1247
int classesSSC
Definition: graph.h:1289
Matrix CLQM
Definition: graph.h:1236
int initVertexLabelSize
Definition: graph.h:1303
WebCrawler * web_crawler
Definition: graph.h:1198
void setNodeNumberDistance(const int &v, const int &distance)
int classesEVC
Definition: graph.h:1295
void signalNetworkManagerRequest(const QUrl ¤tUrl, const NetworkRequestType &type)
QMultiMap< int, L_int > m_cliques
Definition: graph.h:1226
MyEdge m_clickedEdge
Definition: graph.h:1252
void signalRelationAddToMW(const QString &newRelation)
qreal denomSPC
Definition: graph.h:1273
QList< SelectedEdge > m_selectedEdges
Definition: graph.h:1219
int m_curRelation
Definition: graph.h:1250
void setEdgeWeight(const int &v1, const int &v2, const qreal &weight)
bool calculatedGraphReciprocity
Definition: graph.h:1330
QThread webcrawlerThread
Definition: graph.h:114
void signalSetEdgeVisibility(const int &relation, const int &source, const int &target, const bool &toggle, const bool &preserveReverseEdge=false, const int &edgeWeight=1, const int &reverseEdgeWeight=1)
qreal m_graphAverageDistance
Definition: graph.h:1307
QList< int > m_graphFileFormatExportSupported
Definition: graph.h:1208
qreal denomPP
Definition: graph.h:1279
qreal denomEC
Definition: graph.h:1275
bool calculatedGraphDensity
Definition: graph.h:1331
void signalEdgeClicked(const MyEdge &edge=MyEdge(), const bool &openMenu=false)
QMap< int, V_str > m_clusterPairNamesPerSeq
Definition: graph.h:1233
QString m_reportsDataDir
Definition: graph.h:1245
void signalRelationsClear()
void setNodeLabelColor(const int &v, const QString &color)
qreal edgeReverseWeightTemp
Definition: graph.h:1254
void setNodeLabelSize(const int &v, const int &size)
QThread file_parserThread
Definition: graph.h:113
H_StrToInt discreteEccentricities
Definition: graph.h:1242
void setNodeSize(const int &v, const int &size)
qreal denomSCC
Definition: graph.h:1270
int m_graphReciprocityTiesNonSymmetric
Definition: graph.h:1312
QMap< int, V_int > m_clustersPerSequence
Definition: graph.h:1230
QQueue< QUrl > * urlQueue
Definition: graph.h:1200
QSet< int > m_verticesSet
Definition: graph.h:1217
QList< int > m_verticesIsolatedList
Definition: graph.h:1213
qreal meanIC
Definition: graph.h:1262
int classesSPC
Definition: graph.h:1288
void addGuideHLine(const double &y0)
qreal meanIRCC
Definition: graph.h:1257
qreal canvasHeight
Definition: graph.h:1321
void setNodeLabelDistance(const int &v, const int &distance)
H_f_i sizeOfNthOrderNeighborhood
Definition: graph.h:1147
void setVertexVisibility(const int &number, const bool &toggle)
qreal maxEccentricity
Definition: graph.h:1267
void signalRelationChangedToMW(const int &relIndex=RAND_MAX)
void signalDrawEdge(const int &v1, const int &v2, const qreal &weight, const QString &label="", const QString &color="black", const int &type=0, const bool &drawArrows=true, const bool &bezier=false, const bool &weightNumbers=false)
qreal meanEC
Definition: graph.h:1260
int m_reportsRealPrecision
Definition: graph.h:1246
QMultiHash< int, int > m_vertexPairsNotConnected
Definition: graph.h:1223
void setEdgeLabel(const int &v1, const int &v2, const QString &label)
qreal groupDP
Definition: graph.h:1268
void signalRemoveNode(int)
int csRecDepth
Definition: graph.h:1334
void signalProgressBoxCreate(const int max=0, const QString msg="Please wait")
void setNodeShape(const int &v, const QString &shape, const QString &iconPath=QString())
QHash< int, QSet< int > > neighboursHash
Definition: graph.h:1227
bool calculatedAdjacencyMatrix
Definition: graph.h:1324
H_StrToInt discreteBCs
Definition: graph.h:1241
void signalProgressBoxKill(const int max=0)
ChartType m_reportsChartType
Definition: graph.h:1248
int classesSDC
Definition: graph.h:1284
int initVertexSize
Definition: graph.h:1302
QList< QString > m_relationsList
Definition: graph.h:1206
qreal m_graphDensity
Definition: graph.h:1308
int m_graphReciprocityPairsReciprocated
Definition: graph.h:1314
qreal meanSCC
Definition: graph.h:1256
QList< int > m_verticesList
Definition: graph.h:1212
QString initVertexLabelColor
Definition: graph.h:1337
QMultiHash< int, int > influenceDomains
Definition: graph.h:1221
qreal meanSBC
Definition: graph.h:1258
int classesEccentricity
Definition: graph.h:1291
void signalGraphModified(const bool &undirected, const int &vertices, const int &edges, const qreal &density, const bool ¬Saved=true)
int classesEC
Definition: graph.h:1290
void statusMessage(const QString &message)
int initVertexLabelDistance
Definition: graph.h:1304
bool order
Definition: graph.h:1305
QList< int > m_verticesSelected
Definition: graph.h:1215
qreal denomEVC
Definition: graph.h:1277
void setNodePos(const int &, const qreal &, const qreal &)
void signalGraphLoaded(const int &fileType, const QString &fileName=QString(), const QString &netName=QString(), const int &totalNodes=0, const int &totalLinks=0, const qreal &density=0, const qint64 &elapsedTime=0, const QString &message=QString())
H_StrToInt discreteEVCs
Definition: graph.h:1243
void signalDrawNode(const QPointF &p, const int &num, const int &size, const QString &nodeShape, const QString &nodeIconPath, const QString &nodeColor, const QString &numberColor, const int &numSize, const int &numDistance, const QString &label, const QString &labelColor, const int &labelSize, const int &labelDistance)
QMap< QString, V_int > m_clustersByName
Definition: graph.h:1232
qreal denomSBC
Definition: graph.h:1272
void setNodeNumberColor(const int &v, const QString &color)
Matrix AM
Definition: graph.h:1235
void signalWebCrawlParse(QNetworkReply *reply)
int m_graphModStatus
Definition: graph.h:1300
int classesSDP
Definition: graph.h:1283
int m_crawler_max_urls
Definition: graph.h:1202
H_Int vpos
Definition: graph.h:1144
QString initEdgeColor
Definition: graph.h:1336
QList< int > triadTypeFreqs
Definition: graph.h:1210
void signalNodeClickedInfo(const int &number=0, const QPointF &p=QPointF(), const QString &label=QString(), const int &inDegree=0, const int &outDegree=0)
VList m_graph
Definition: graph.h:1194
qreal meanSPC
Definition: graph.h:1261
qreal m_graphReciprocityArc
Definition: graph.h:1310
void setNodeLabel(const int &v, const QString &label)
qreal m_graphSumDistance
Definition: graph.h:1309
void setEdgeColor(const int &v1, const int &v2, const QString &color)
int inboundEdgesVert
Definition: graph.h:1319
void signalDatasetDescription(QString)
QString initVertexIconPath
Definition: graph.h:1338
qreal meanSSC
Definition: graph.h:1259
int m_graphReciprocityTiesReciprocated
Definition: graph.h:1311
qreal denomIRCC
Definition: graph.h:1271
int m_crawler_visited_urls
Definition: graph.h:1203
int classesIC
Definition: graph.h:1292
ModStatus
Definition: graph.h:387
bool m_graphHasVertexCustomIcons
Definition: graph.h:1317
stack< int > Stack
Definition: graph.h:1238
bool graphHasVertexCustomIcons() const
Definition: graph.h:529
qreal meanSDC
Definition: graph.h:1255
void addGuideCircle(const double &, const double &, const double &)
QDateTime actualDateTime
Definition: graph.h:1341
void signalGraphSavedStatus(const int &status)
bool m_graphIsConnected
Definition: graph.h:1332
bool calculatedTriad
Definition: graph.h:1329
Clustering
Definition: graph.h:402
int classesSBC
Definition: graph.h:1287
int classesPRP
Definition: graph.h:1293
void signalNodesFound(const QList< int > foundList)
bool initEdgeLabels
Definition: graph.h:1306
int classesPP
Definition: graph.h:1294
qreal meanSDP
Definition: graph.h:1264
bool calculatedVertices
Definition: graph.h:1323
void signalProgressBoxUpdate(const int &count=0)
void setNodeColor(const int &v, const QString &color)
void signalPromininenceDistributionChartUpdate(QAbstractSeries *series, QAbstractAxis *axisX=Q_NULLPTR, const qreal &min=0, const qreal &max=0, QAbstractAxis *axisY=Q_NULLPTR, const qreal &minF=0, const qreal &maxF=0)
qreal meanPP
Definition: graph.h:1265
qreal meanPRP
Definition: graph.h:1266
int m_graphReciprocityPairsTotal
Definition: graph.h:1315
bool calculatedEVC
Definition: graph.h:1326
void vertexLabelsVisibilitySet(bool toggle)
QString htmlEnd
Definition: graph.h:1339
void signalRelationRenamedToMW(const QString &newRelName)
qreal meanEVC
Definition: graph.h:1263
int classesIRCC
Definition: graph.h:1286
bool calculatedEdges
Definition: graph.h:1322
bool calculatedDC
Definition: graph.h:1327
int maxNodeCLC
Definition: graph.h:1282
qreal groupSC
Definition: graph.h:1274
QList< qreal > m_clusteringLevel
Definition: graph.h:1229
bool calculatedIsolates
Definition: graph.h:1325
void setNodeNumberSize(const int &v, const int &size)
qreal sizeOfComponent
Definition: graph.h:1296
qreal averageCLC
Definition: graph.h:1281
qreal groupDC
Definition: graph.h:1269
Parser * file_parser
Definition: graph.h:1196
Defines a class for network file loading and parsing.
Definition: parser.h:79
The WebCrawler class Parses HTML code it receives, locates urls inside it and puts them into a url qu...
Definition: webcrawler.h:45
NetworkRequestType
Definition: global.h:97
static const int SUBGRAPH_CLIQUE
Definition: global.h:114
static const int MATRIX_ADJACENCY
Definition: global.h:119
@ Directed
Definition: global.h:68
ChartType
Definition: global.h:90
QPair< int, int > SelectedEdge
Definition: global.h:147
#define SOCNETV_USE_NAMESPACE
Definition: global.h:11
QHash< int, int > H_Int
Definition: graph.h:79
QList< QString > V_str
Definition: graph.h:87
QList< int > L_int
Definition: graph.h:85
QMultiHash< int, pair_i_fb > H_edges
Definition: graph.h:83
QHash< QString, bool > H_StrToBool
Definition: graph.h:84
QHash< qreal, int > H_f_i
Definition: graph.h:80
QList< GraphVertex * > VList
Definition: graph.h:75
QList< int > V_int
Definition: graph.h:86
QPair< qreal, bool > pair_f_b
Definition: graph.h:81
QHash< QString, int > H_StrToInt
Definition: graph.h:78
QPair< int, pair_f_b > pair_i_fb
Definition: graph.h:82
static const int METRIC_SIMPLE_MATCHING
Definition: matrix.h:50