40 #include <QTextStream>
44 #include <QtCharts/QChartGlobal>
65 QT_CHARTS_BEGIN_NAMESPACE
66 class QAbstractSeries;
72 class QBarCategoryAxis;
73 QT_CHARTS_END_NAMESPACE
75 QT_CHARTS_USE_NAMESPACE
84 typedef QList<GraphVertex*>
VList;
87 typedef QHash <qreal, int>
H_f_i;
90 typedef QMultiHash <int, pair_i_fb >
H_edges;
128 int relationCurrent();
130 QString relationCurrentName()
const;
132 void relationCurrentRename(
const QString &newName);
133 void relationCurrentRename(
const QString &newName,
const bool &signalMW);
136 void vertexCreate (
const int &number,
138 const QString &color,
139 const QString &numColor,
141 const QString &label,
142 const QString &labelColor,
143 const int &labelSize,
145 const QString &shape,
146 const QString &iconPath = QString(),
147 const bool &signalMW =
false
150 void graphFileLoaded(
const int &fileType,
151 const QString &fName=QString(),
152 const QString &netName=QString(),
153 const int &totalNodes=0,
154 const int &totalLinks=0,
155 const int &edgeDirType=0,
156 const QString &message=QString());
158 void vertexRemoveDummyNode(
int);
160 void graphLoadedTerminateParserThreads (QString reason);
162 void graphSelectionChanged(
const QList<int> selectedVertices,
163 const QList<SelectedEdge> selectedEdges);
165 void graphClickedEmptySpace(
const QPointF &p);
168 void edgeCreate (
const int &v1,
const int &v2,
const qreal &weight,
169 const QString &color ,
171 const bool &drawArrows=
true,
const bool &bezier=
false,
172 const QString &label=QString(),
173 const bool &signalMW=
true);
175 void edgeCreateWebCrawler (
const int &source,
const int &target);
177 void edgeVisibilitySet(
const int &relation,
const int &source,
const int &target,
const bool &status);
180 void vertexCreateAtPos(
const QPointF &p);
182 void vertexCreateAtPosRandom(
const bool &signalMW=
false);
184 void vertexCreateAtPosRandomWithLabel(
const int &i,
185 const QString &label,
186 const bool &signalMW=
false) ;
191 void relationSet(
int relNum=RAND_MAX,
const bool updateUI=
true);
197 void canvasSizeSet(
const int w,
const int h);
199 double canvasMaxRadius()
const;
201 qreal canvasMinDimension()
const;
203 double canvasVisibleX(
const double &x)
const ;
205 double canvasVisibleY(
const double &y)
const ;
207 double canvasRandomX()
const;
209 double canvasRandomY()
const;
212 void vertexIsolatedAllToggle (
const bool &toggle);
214 void vertexClickedSet(
const int &v,
const QPointF &p);
216 void edgeClickedSet(
const int &v1,
const int &v2,
const bool &openMenu=
false) ;
219 void edgeFilterByWeight (qreal,
bool);
221 void edgeFilterByRelation(
int relation,
bool status);
223 void edgeFilterUnilateral(
const bool &toggle);
225 void startWebCrawler(
226 const QUrl &startUrl,
227 const QStringList &urlPatternsIncluded,
228 const QStringList &urlPatternsExcluded,
229 const QStringList &linkClasses,
231 const int &maxLinksPerPage,
232 const bool &intLinks,
233 const bool &childLinks,
234 const bool &parentLinks,
235 const bool &selfLinks,
236 const bool &extLinksIncluded,
237 const bool &extLinksCrawl,
238 const bool &socialLinks,
239 const bool &delayedRequests);
241 void slotHandleCrawlerRequestReply();
244 QString htmlEscaped (QString str)
const;
249 void signalWebCrawlParse(QNetworkReply *reply);
253 void signalNetworkManagerRequest(
const QUrl ¤tUrl,
const NetworkRequestType &type);
255 void signalProgressBoxCreate(
const int max=0,
const QString msg=
"Please wait");
257 void signalProgressBoxKill(
const int max=0);
259 void signalProgressBoxUpdate(
const int &count=0 );
261 void signalGraphSavedStatus(
const int &status);
263 void signalGraphModified(
const bool &undirected,
266 const qreal &density);
268 void signalGraphLoaded (
const int &fileType,
269 const QString &fileName=QString(),
270 const QString &netName=QString(),
271 const int &totalNodes=0,
272 const int &totalLinks=0,
273 const QString &message=QString() );
277 void statusMessage (
const QString &message);
279 void signalDatasetDescription(QString);
281 void signalNodeClickedInfo(
const int &number=0,
282 const QPointF &p=QPointF(),
283 const QString &label=QString(),
284 const int &inDegree=0,
285 const int &outDegree=0);
293 void signalEdgeClicked (
const MyEdge &edge=
MyEdge(),
const bool &openMenu=
false);
295 void signalRelationAddToMW(
const QString &newRelation);
297 void signalRelationsClear();
299 void signalRelationRenamedToMW(
const QString &newRelName);
301 void signalRelationChangedToGW(
int);
303 void signalRelationChangedToMW(
const int &relIndex=RAND_MAX);
305 void signalSelectionChanged(
const int &selectedVertices,
306 const int &selectedEdges);
309 void signalPromininenceDistributionChartUpdate(QAbstractSeries *series,
310 QAbstractAxis *axisX=Q_NULLPTR,
313 QAbstractAxis *axisY=Q_NULLPTR,
315 const qreal &maxF=0);
318 void signalDrawNode(
const QPointF &p,
321 const QString &nodeShape,
322 const QString &nodeIconPath,
323 const QString &nodeColor,
324 const QString &numberColor,
const int &numSize,
325 const int &numDistance,
326 const QString &label,
327 const QString &labelColor,
const int &labelSize,
328 const int &labelDistance
332 void signalRemoveNode (
int );
335 void signalDrawEdge (
const int &v1,
338 const QString &label=
"",
339 const QString &color=
"black",
341 const bool &drawArrows=
true,
342 const bool &bezier=
false,
343 const bool &weightNumbers=
false);
346 void signalRemoveEdge(
const int &v1,
const int &v2,
const bool &removeOpposite);
348 void setEdgeVisibility (
const int &relation,
const int &source,
const int &target,
const bool &toggle);
350 void setVertexVisibility(
const int &number,
const bool &toggle);
352 void setNodePos(
const int &,
const qreal &,
const qreal &);
354 void signalNodesFound(
const QList<int> foundList);
356 void setNodeSize(
const int &v,
const int &size);
358 void setNodeShape(
const int &v,
const QString &shape,
const QString &iconPath=QString());
360 void setNodeColor(
const int &v,
const QString &color);
362 void setNodeLabel(
const int &v,
const QString &label);
364 void setNodeNumberColor(
const int &v,
const QString &color);
366 void setNodeNumberSize(
const int &v,
const int &size);
368 void setNodeNumberDistance(
const int &v,
const int &distance);
370 void setNodeLabelSize(
const int &v,
const int &size);
372 void setNodeLabelColor(
const int &v,
const QString &color);
374 void setNodeLabelDistance(
const int &v,
const int &distance);
377 void setEdgeWeight (
const int &v1,
const int &v2,
const qreal &weight);
378 void signalEdgeType(
const int &v1,
381 void setEdgeColor(
const int &v1,
383 const QString &color);
384 void setEdgeLabel (
const int &v1,
386 const QString &label);
387 void addGuideCircle(
const double&,
const double&,
const double&);
388 void addGuideHLine (
const double &y0);
396 ChangedMinorOptions = 1,
397 ChangedVerticesMetadata = 2,
398 ChangedEdgesMetadata = 3,
399 ChangedPositions = 4,
401 ChangedVertices = 11,
403 ChangedVerticesEdges = 13,
411 Complete_Linkage = 1,
421 void clear(
const QString &reason=
"");
424 QString graphName()
const;
426 void graphLoad (
const QString m_fileName,
427 const QString m_codecName,
429 const int two_sm_mode,
430 const QString delimiter=QString());
432 void graphSave(
const QString &fileName,
434 const bool &saveEdgeWeights=
true);
436 bool graphSaveToPajekFormat (
const QString &fileName,
437 QString networkName=
"",
438 int maxWidth=0,
int maxHeight=0);
440 bool graphSaveToAdjacencyFormat (
const QString &fileName,
441 const bool &saveEdgeWeights=
true);
443 bool graphSaveToGraphMLFormat (
const QString &fileName,
444 QString networkName=
"",
445 int maxWidth=0,
int maxHeight=0);
447 bool graphSaveToDotFormat (QString fileName);
449 int graphFileFormat()
const;
451 bool graphFileFormatExportSupported(
const int &fileFormat)
const;
453 QString graphMatrixTypeToString(
const int &matrixType)
const;
455 int graphMatrixStrToType(
const QString &matrix)
const;
457 QString graphMetricTypeToString(
const int &metricType)
const;
459 int graphMetricStrToType(
const QString &metricStr)
const;
461 QString graphClusteringMethodTypeToString(
const int &methodType)
const;
463 int graphClusteringMethodStrToType(
const QString &method)
const;
469 void relationsClear();
471 void relationAdd(
const QString &relName,
const bool &changeRelation=
false);
475 int vertexNumberMax();
477 int vertexNumberMin();
479 int vertexDegreeOut(
int);
481 int vertexDegreeIn(
int);
483 QList<int> vertexNeighborhoodList(
const int &v1);
489 bool vertexIsolated(
const int &v1)
const;
491 int vertexExists(
const int &v1 );
493 int vertexExists(
const QString &label);
495 bool vertexFindByNumber (
const QStringList &numList);
497 bool vertexFindByLabel (
const QStringList &labelList);
499 bool vertexFindByIndexScore(
const int &index,
const QStringList &thresholds);
501 void vertexRemove (
const int &v1);
503 void vertexSizeInit (
const int);
505 void vertexSizeSet(
const int &v,
const int &newsize);
507 int vertexSize(
const int &v)
const;
509 void vertexShapeSetDefault (
const QString,
const QString &iconPath=QString());
511 void vertexShapeSet(
const int &v,
const QString &shape,
const QString &iconPath=QString());
513 QString vertexShape(
const int &v);
515 QString vertexShapeIconPath(
const int &v);
519 void vertexColorInit (
const QString &color);
521 void vertexColorSet(
const int &v,
const QString &color);
523 QColor vertexColor(
const int &v)
const;
525 void vertexNumberColorInit (
const QString &color);
527 void vertexNumberColorSet(
const int &v=0,
const QString &color =
"#000000" );
529 void vertexNumberSizeInit (
const int &size);
531 void vertexNumberSizeSet(
const int &v,
const int &newsize );
533 void vertexNumberDistanceInit (
const int &distance);
535 void vertexNumberDistanceSet(
const int &v,
const int &newDistance );
537 void vertexLabelSet(
const int &v,
const QString &label);
539 QString vertexLabel(
const int &v)
const;
541 void vertexLabelsVisibilitySet(
bool toggle);
543 void vertexLabelSizeInit(
int newSize);
545 void vertexLabelSizeSet(
const int &v,
const int &labelSize );
547 void vertexLabelColorInit(QString color);
549 void vertexLabelColorSet(
const int &v1,
const QString &color);
551 void vertexLabelDistanceInit (
const int &distance);
553 void vertexLabelDistanceSet(
const int &v,
const int &newDistance );
555 void vertexLabelDistanceAllSet (
const int &newDistance);
558 void vertexPosSet(
const int &v,
const int &x,
const int &y);
560 QPointF vertexPos(
const int &v1)
const;
562 int vertexClicked()
const;
564 int vertices(
const bool &dropIsolates=
false,
const bool &countAll=
false,
const bool &recount=
false) ;
566 int vertexEdgesOutbound (
int i) ;
568 int vertexEdgesInbound (
int i) ;
571 int verticesWithOutboundEdges();
573 int verticesWithInboundEdges();
575 int verticesWithReciprocalEdges();
578 QList<int> verticesListIsolated();
580 QList<int> verticesList();
582 QSet<int> verticesSet();
586 void verticesCreateSubgraph(QList<int> vList,
588 const int ¢er = 0);
599 qreal edgeExists(
const int &v1,
601 const bool &checkReciprocal=
false);
603 void edgeRemove (
const int &v1,
605 const bool &removeOpposite=
false);
608 const bool &removeOpposite);
610 void edgeRemoveSelectedAll();
612 bool edgeSymmetric(
const int &v1,
const int &v2);
614 void edgeTypeSet(
const int &v1,
619 void edgeWeightSet (
const int &v1,
622 const bool &undirected=
false);
624 qreal edgeWeight(
const int &v1,
const int &v2)
const;
626 void edgeWeightNumbersVisibilitySet (
const bool &toggle);
628 void edgeLabelSet(
const int &v1,
const int &v2,
const QString &label);
630 QString edgeLabel (
const int &v1,
const int &v2)
const;
632 void edgeLabelsVisibilitySet (
const bool &toggle);
634 void edgeColorInit(
const QString &);
636 void edgeColorSet(
const int &v1,
const int &v2,
const QString &color);
638 QString edgeColor (
const int &v1,
const int &v2);
640 bool edgeColorAllSet(
const QString &color,
const int &threshold=RAND_MAX);
645 void graphSetModified(
const int &graphNewStatus,
const bool&signalMW=
true);
647 bool graphIsModified()
const ;
649 bool graphSaved()
const;
651 bool graphLoaded()
const;
653 QList<int> graphSelectedVertices()
const;
655 int graphSelectedVerticesCount()
const;
657 int graphSelectedVerticesMin()
const;
659 int graphSelectedVerticesMax()
const;
661 QList<SelectedEdge> graphSelectedEdges()
const;
663 int graphSelectedEdgesCount()
const;
665 int graphGeodesics();
667 qreal graphDensity();
669 bool graphIsWeighted();
671 void graphSetWeighted(
const bool &toggle=
true);
673 qreal graphReciprocity();
675 bool graphIsSymmetric();
677 void graphSymmetrize();
679 void graphSymmetrizeStrongTies(
const bool &allRelations=
false);
681 void graphCocitation();
683 void graphDichotomization(
const qreal threshold);
685 void graphSetDirected(
const bool &toggle=
true,
const bool &signalMW=
true);
687 void graphSetUndirected(
const bool &toggle=
true,
const bool &signalMW=
true);
689 bool graphIsDirected();
691 bool graphIsUndirected();
693 bool graphIsConnected();
695 void graphMatrixAdjacencyCreate(
const bool dropIsolates=
false,
696 const bool considerWeights=
true,
697 const bool inverseWeights=
false,
698 const bool symmetrize=
false );
700 bool graphMatrixAdjacencyInvert(
const QString &method=
"lu");
703 void graphMatrixSimilarityMatchingCreate(
Matrix &AM,
706 const QString &varLocation=
"Rows",
707 const bool &diagonal=
false,
708 const bool &considerWeights=
true);
710 void graphMatrixSimilarityPearsonCreate (
Matrix &AM,
712 const QString &varLocation=
"Rows",
713 const bool &diagonal=
false);
715 void graphMatrixDissimilaritiesCreate(
Matrix &INPUT_MATRIX,
718 const QString &varLocation,
719 const bool &diagonal,
720 const bool &considerWeights);
723 void setReportsDataDir(
const QString &reportsDir);
724 void setReportsRealNumberPrecision (
const int & precision);
725 void setReportsLabelLength(
const int &length);
726 void setReportsChartType(
const int &type);
728 void writeDataSetToFile(
const QString dir,
const QString );
730 void writeMatrixAdjacencyTo(QTextStream& os,
731 const bool &saveEdgeWeights=
true);
733 void writeReciprocity(
const QString fileName,
734 const bool considerWeights=
false);
736 void writeMatrix(
const QString &fileName,
738 const bool &considerWeights=
true,
739 const bool &inverseWeights=
false,
740 const bool &dropIsolates=
false,
741 const QString &varLocation=
"Rows",
742 const bool &simpler=
false);
744 void writeMatrixHTMLTable(QTextStream &outText,
Matrix &M,
745 const bool &markDiag=
true,
746 const bool &plain=
false,
747 const bool &printInfinity=
true,
748 const bool &dropIsolates=
false);
750 void writeMatrixAdjacency(
const QString fileName,
751 const bool &markDiag=
true);
753 void writeMatrixAdjacencyPlot(
const QString fileName,
754 const bool &simpler=
false);
756 void writeMatrixAdjacencyInvert(
const QString &filename,
757 const QString &method);
759 void writeMatrixLaplacianPlainText(
const QString &filename);
760 void writeMatrixDegreeText(
const QString &filename);
762 void writeMatrixDistancesPlainText(
const QString &fn,
763 const bool &considerWeights,
764 const bool &inverseWeights,
765 const bool &dropIsolates);
767 void writeMatrixShortestPathsPlainText(
const QString &fn,
768 const bool &considerWeights,
769 const bool &inverseWeights);
771 void writeMatrixDissimilarities(
const QString fileName,
772 const QString &metricStr,
773 const QString &varLocation,
774 const bool &diagonal,
775 const bool &considerWeights) ;
777 void writeMatrixSimilarityMatchingPlain(
const QString fileName,
779 const QString &matrix =
"adjacency",
780 const QString &varLocation=
"rows",
781 const bool &diagonal=
false,
782 const bool &considerWeights=
true);
784 void writeMatrixSimilarityMatching(
const QString fileName,
785 const QString &measure=
"Simple",
786 const QString &matrix =
"adjacency",
787 const QString &varLocation=
"rows",
788 const bool &diagonal=
false,
789 const bool &considerWeights=
true);
792 void writeMatrixSimilarityPearson(
const QString fileName,
793 const bool considerWeights,
794 const QString &matrix =
"adjacency",
795 const QString &varLocation=
"rows",
796 const bool &diagonal=
false);
798 void writeMatrixSimilarityPearsonPlainText(
const QString fileName,
799 const bool considerWeights,
800 const QString &matrix =
"adjacency",
801 const QString &varLocation=
"rows",
802 const bool &diagonal=
false);
804 void writeEccentricity(
const QString fileName,
805 const bool considerWeights=
false,
806 const bool inverseWeights=
false,
807 const bool dropIsolates=
false);
811 void writeCentralityDegree(
const QString,
813 const bool dropIsolates);
815 void writeCentralityCloseness(
const QString,
817 const bool inverseWeights,
818 const bool dropIsolates);
820 void writeCentralityClosenessInfluenceRange(
const QString,
822 const bool inverseWeights,
823 const bool dropIsolates);
825 void writeCentralityBetweenness(
const QString,
827 const bool inverseWeights,
828 const bool dropIsolates);
830 void writeCentralityPower(
const QString,
832 const bool inverseWeights,
833 const bool dropIsolates);
835 void writeCentralityStress(
const QString,
837 const bool inverseWeights,
838 const bool dropIsolates);
840 void writeCentralityEccentricity(
const QString,
842 const bool inverseWeights,
843 const bool dropIsolates);
845 void writeCentralityInformation(
const QString,
847 const bool inverseWeights);
849 void writeCentralityEigenvector(
const QString,
850 const bool &weigths=
true,
851 const bool &inverseWeights =
false,
852 const bool &dropIsolates=
false);
854 void writePrestigeDegree(
const QString,
const bool weights,
855 const bool dropIsolates);
857 void writePrestigeProximity(
const QString,
const bool weights,
858 const bool inverseWeights,
859 const bool dropIsolates);
861 void writePrestigePageRank(
const QString,
const bool Isolates=
false);
864 bool writeClusteringHierarchical(
const QString &fileName,
865 const QString &varLocation,
866 const QString &matrix =
"Adjacency",
867 const QString &metric =
"Manhattan",
868 const QString &method =
"Complete",
869 const bool &diagonal =
false,
870 const bool &dendrogram =
false,
871 const bool &considerWeights=
true,
872 const bool &inverseWeights=
false,
873 const bool &dropIsolates=
false);
875 void writeClusteringHierarchicalResultsToStream(QTextStream& outText,
877 const bool &dendrogram =
false);
879 bool writeCliqueCensus(
const QString &fileName,
880 const bool considerWeights);
882 void writeClusteringCoefficient(
const QString,
const bool);
884 void writeTriadCensus(
const QString,
const bool);
890 int graphConnectednessFull (
const bool updateProgress=
false) ;
892 bool graphReachable(
const int &v1,
const int &v2) ;
894 void graphMatrixReachabilityCreate() ;
896 int graphDiameter(
const bool considerWeights,
const bool inverseWeights);
898 int graphDistanceGeodesic(
const int &v1,
900 const bool &considerWeights=
false,
901 const bool &inverseWeights=
true);
903 qreal graphDistanceGeodesicAverage(
const bool considerWeights,
904 const bool inverseWeights,
905 const bool dropIsolates);
907 void graphDistancesGeodesic(
const bool &computeCentralities=
false,
908 const bool &considerWeights=
false,
909 const bool &inverseWeights=
true,
910 const bool &dropIsolates=
false);
912 void graphMatrixDistanceGeodesicCreate(
const bool &considerWeights=
false,
913 const bool &inverseWeights=
true,
914 const bool &dropIsolates=
false);
916 void graphMatrixShortestPathsCreate(
const bool &considerWeights=
false,
917 const bool &inverseWeights=
true,
918 const bool &dropIsolates=
false) ;
920 int getProminenceIndexByName(
const QString &prominenceIndexName);
922 void prominenceDistribution(
const int &index,
924 const QString &distImageFileName=QString());
926 void prominenceDistributionBars(
const H_StrToInt &discreteClasses,
928 const QString &distImageFileName);
930 void prominenceDistributionArea(
const H_StrToInt &discreteClasses,
932 const QString &distImageFileName);
934 void prominenceDistributionSpline(
const H_StrToInt &discreteClasses,
935 const QString &seriesName,
936 const QString &distImageFileName);
938 void centralityDegree(
const bool &weights=
true,
939 const bool &dropIsolates=
false);
941 void centralityInformation(
const bool considerWeights=
false,
942 const bool inverseWeights=
false);
944 void centralityEigenvector(
const bool &considerWeights=
false,
945 const bool &inverseWeights=
false,
946 const bool &dropIsolates=
false);
948 void centralityClosenessIR(
const bool considerWeights=
false,
949 const bool inverseWeights=
false,
950 const bool dropIsolates=
false);
952 void prestigeDegree(
const bool &weights,
const bool &dropIsolates=
false);
954 void prestigePageRank(
const bool &dropIsolates=
false);
956 void prestigeProximity(
const bool considerWeights=
false,
957 const bool inverseWeights=
false,
958 const bool dropIsolates=
false);
963 int walksBetween(
int v1,
int v2,
int length);
965 void graphWalksMatrixCreate(
const int &N=0,
967 const bool &updateProgress=
false);
969 void writeWalksTotalMatrixPlainText(
const QString &fn);
971 void writeWalksOfLengthMatrixPlainText(
const QString &fn,
const int &length);
973 void writeMatrixWalks (
const QString &fn,
975 const bool &simpler=
false);
977 QList<int> vertexinfluenceRange(
int v1);
979 QList<int> vertexinfluenceDomain(
int v2);
981 void writeReachabilityMatrixPlainText(
const QString &fn,
982 const bool &dropIsolates=
false);
985 qreal numberOfTriples(
int v1);
988 void graphCliques(QSet<int> R=QSet<int>(), QSet<int> P=QSet<int>(), QSet<int> X=QSet<int>() );
990 void graphCliqueAdd (
const QList<int> &clique);
992 int graphCliquesContaining(
const int &actor,
const int &size=0);
994 int graphCliquesOfSize(
const int &size );
996 bool graphClusteringHierarchical(
Matrix &STR_EQUIV,
997 const QString &varLocation,
1000 const bool &diagonal=
false,
1001 const bool &diagram=
false,
1002 const bool &considerWeights=
true,
1003 const bool &inverseWeights=
false,
1004 const bool &dropIsolates=
false);
1006 qreal clusteringCoefficientLocal(
const int &v1);
1008 qreal clusteringCoefficient (
const bool updateProgress=
false);
1010 bool graphTriadCensus();
1019 void layoutRandom();
1021 void layoutRadialRandom(
const bool &guides=
true);
1023 void layoutCircular(
const double &x0,
1025 const double &newRadius,
1026 const bool &guides=
false);
1029 void layoutByProminenceIndex (
int prominenceIndex,
1031 const bool considerWeights=
false,
1032 const bool inverseWeights=
false,
1033 const bool dropIsolates=
false);
1036 void layoutVertexSizeByIndegree();
1038 void layoutVertexSizeByOutdegree();
1041 void layoutForceDirectedSpringEmbedder(
const int maxIterations);
1043 void layoutForceDirectedFruchtermanReingold(
const int maxIterations);
1045 void layoutForceDirectedKamadaKawai(
const int maxIterations=500,
1046 const bool considerWeights=
false,
1047 const bool inverseWeights=
false,
1048 const bool dropIsolates=
false,
1049 const QString &initialPositions=
"current");
1051 qreal graphDistanceEuclidean(
const QPointF &a,
const QPointF &b);
1053 qreal graphDistanceEuclidean(
const QPointF &a);
1055 int sign(
const qreal &D);
1057 qreal layoutForceDirected_F_rep(
const QString model,
1059 const qreal &optimalDistance);
1061 qreal layoutForceDirected_F_att(
const QString model,
1063 const qreal &optimalDistance) ;
1065 void layoutForceDirected_Eades_moveNodes(
const qreal &c4);
1067 void layoutForceDirected_FR_moveNodes(
const qreal &temperature) ;
1069 qreal layoutForceDirected_FR_temperature(
const int iteration)
const;
1071 qreal computeOptimalDistance(
const int &V);
1073 void compute_angles(
const QPointF &Delta,
1083 void webCrawlTerminateThreads (QString reason);
1088 void randomizeThings();
1090 void randomNetErdosCreate (
const int &N,
1091 const QString &model,
1094 const QString &mode,
1097 void randomNetScaleFreeCreate (
const int &N,
1102 const QString &mode);
1104 void randomNetSmallWorldCreate(
const int &N,
const int °ree,
1105 const double &beta,
const QString &mode);
1107 void randomNetRingLatticeCreate (
const int &N,
const int °ree,
1108 const bool updateProgress=
false);
1110 void randomNetRegularCreate (
const int &N,
1112 const QString &mode,
1115 void randomNetLatticeCreate(
const int &N,
1117 const int &dimension,
1118 const int &neighborhoodLength,
1119 const QString &mode,
1120 const bool &circular=
false);
1122 int factorial (
int);
1148 void edgeAdd (
const int &v1,
1150 const qreal &weight,
1152 const QString &label,
1153 const QString &color
1157 void BFS(
const int &s,
1159 const bool &computeCentralities=
false,
1160 const bool &dropIsolates=
false);
1162 void dijkstra(
const int &s,
1164 const bool &computeCentralities=
false,
1165 const bool &inverseWeights=
false,
1166 const bool &dropIsolates=
false);
1168 void minmax(qreal C,
1172 int &maxNode,
int &minNode
1175 void resolveClasses ( qreal C,
1179 void resolveClasses ( qreal C,
1181 int &classes,
int name);
1258 qreal minSDP, maxSDP, sumDP,
sumSDP, groupDP;
1259 qreal minSDC, maxSDC, sumDC,
sumSDC, groupDC;
1260 qreal minSCC, maxSCC, nomSCC, denomSCC, sumCC,
sumSCC, groupCC, maxIndexCC;
1261 qreal minIRCC, maxIRCC, nomIRCC, denomIRCC,
sumIRCC, groupIRCC;
1262 qreal minSBC, maxSBC, nomSBC, denomSBC, sumBC,
sumSBC, groupSBC, maxIndexBC;
1263 qreal minSPC, maxSPC, nomSPC, denomSPC,
t_sumIC, sumSPC, groupSPC, maxIndexPC;
1264 qreal minSSC, maxSSC, sumSC,
sumSSC, groupSC, maxIndexSC;
1265 qreal minEC, maxEC, nomEC, denomEC,
sumEC, groupEC, maxIndexEC;
1266 qreal minIC, maxIC, nomIC, denomIC,
sumIC, maxIndexIC;
1267 qreal minEVC, maxEVC, nomEVC, denomEVC, sumEVC,
sumSEVC, groupEVC;
1268 qreal minPRP, maxPRP, nomPRC, denomPRC, sumPC,
t_sumPRP, sumPRP;
1269 qreal minPP, maxPP, nomPP, denomPP,
sumPP, groupPP;