MorphoGraphX  2.0-1-227
Namespaces | Typedefs | Functions
DivisionAnalysisUtils.hpp File Reference
#include <Process.hpp>
#include <GraphUtils.hpp>
#include <GraphAlgorithms.hpp>

Go to the source code of this file.

Namespaces

 mgx
 Distributed matrix library.
 

Typedefs

typedef std::pair< Point3d, double > mgx::P3dDouble
 
typedef std::pair< cell, double > mgx::VtxDouble
 
typedef std::pair< std::set< cell >, std::set< cell > > mgx::CellSetPair
 
typedef std::pair< cell, cell > mgx::cCPair
 
typedef std::pair< Point3d, bool > mgx::P3dboolPair
 
typedef std::pair< cell, double > mgx::cellDPair
 
typedef std::pair< Point3d, int > mgx::P3dInt
 
typedef std::pair< P3dDouble, double > mgx::P3dDD
 
typedef std::pair< Point3d, Point3d > mgx::P3dP3d
 
typedef std::pair< VtxVtx, vertex > mgx::Tri
 
typedef std::pair< VtxVtx, vertex > mgx::Vtxvtxp
 
typedef std::pair< vertex, int > mgx::VtxInt
 
typedef pair< Triangle, int > mgx::TriInt
 
typedef std::pair< Point3d, Point3d > mgx::PlaneNrmlPoint
 

Functions

bool mgx::writeCsvFile (QString filename, QString header, vector< vector< double > > &data)
 write a 2D array to a (csv) file More...
 
double mgx::calcRatio (double value1, double value2)
 return the ratio ( = bigger value divided by smaller value) More...
 
double mgx::avgCellSizeMGX3D (const cell &c)
 returns an approximation of the 3D cell size (the average of the distance of every vertex to the cell center) More...
 
double mgx::divisionPlaneArea (Point3d cellCenter, const std::vector< Point3d > &v)
 returns the area of a polygon (=division plane) More...
 
double mgx::divisionPlaneAreaMulti (Point3d cellCenter, const std::vector< std::vector< Point3d > > &vMulti)
 returns the summed area of multiple polygons (=division planes) More...
 
bool mgx::findCell (cellGraph &C, cell &searchedCell, int label, int &maxLabel)
 returns whether a cell with the specified label exists, also provides the cell and the max Label of all cells More...
 
void mgx::calcCellGraphJoinedCells (cellGraph &C, const cell &c1, const cell &c2)
 add the neighbors of c2 to the cell graph of c1 More...
 
void mgx::copyCellGraph (CellTissue &orig, CellTissue &copy)
 copies the cell graph, used for simulating cell division (without altering the original) More...
 
std::vector< Point3d > mgx::getSharedVtxs (const cell &c1, const cell &c2)
 returns the area of a polygon More...
 
std::set< Triangle > mgx::getSharedTris (const cell &c1, const cell &c2)
 
double mgx::calcTriArea (std::set< Triangle > &tris)
 
void mgx::calcJoinedCell (const cell &c1, const cell &c2, vvGraph &result, bool simple)
 returns the area of a polygon More...
 
void mgx::generateSamplingDirectionsNew (int nrPlanes, int centerVarSteps, double centerVarStepSize, std::vector< P3dDouble > &samplingDirections)
 returns the area of a polygon More...
 
void mgx::generateSamplingDirections (double resolution, int centerVarSteps, double centerVarStepSize, std::vector< P3dDouble > &samplingDirections)
 
void mgx::generateSamplingDirections (double resolution, int centerVarSteps, double centerVarStepSize, Point3d perpendicularPlane, std::set< Point3d > perpPlaneNormals2, bool enforceDivThroughNeighbor, std::vector< P3dDouble > &samplingDirections)
 
void mgx::addCenterDisplacementTestCut (int centerVarSteps, double centerVarStepSize, Point3d cellCenter, Point3d perpendicularPlane, std::set< Point3d > perpPlaneNormals2, std::unordered_map< Point3d, Point3d > &wallCenter, std::unordered_map< Point3d, std::vector< Point3d > > wallPoints, std::vector< P3dDouble > &samplingDirections)
 
double mgx::calcVolume (vector< Triangle > tris)
 
bool mgx::planeSegmentIntersect (const Point3d &p, const Point3d &nrml, const Point3d &u1, const Point3d &u2, Point3d &intersectP)
 
void mgx::findNeighbTris (cellGraph &C, const cell &c, std::map< cell, std::vector< Triangle > > &neighbTris)
 
void mgx::cellTriNeighbors (cellGraph &C, const cell &c, std::map< Triangle, int > &trisNeighbMap)
 
double mgx::estimateVolumeOpenBody (std::vector< Triangle > tris, set< vertex > &exposedVtxs)
 
void mgx::estimateVolumeDaughterCells (std::vector< Triangle > &trisLeft, std::vector< Triangle > &trisRight, std::vector< Triangle > &trisSplit)
 
void mgx::calcRandWalkBetweenness (std::map< IntInt, double > &neighborhoodWeights, std::map< int, int > &labelPosMap, std::vector< int > &orderedLabels, std::map< int, double > &cellBetweenessMap, bool useGPU)
 
void mgx::calcRandWalkBetweenness (cellGraph &C, std::map< IntInt, double > &weights, std::map< cell, double > &cellBetweenessMap, bool useGPU, bool doRevCuthill)
 
void mgx::calcRandWalkBetweenness (std::map< IntInt, double > &neighborhoodGraph, std::map< int, double > &labelBetweenessMap, bool useGPU)
 
void mgx::separateIdenticalVtxs (const cell &c)
 
bool mgx::planePolygonIntersect (Point3d planeNrml, Point3d planePos, std::vector< Point3d > polygonVtxs)
 
std::vector< Triangle > mgx::getTrisOfCells (Mesh *m, int selectedLabel, bool parentMode)
 
std::vector< vertex > mgx::getVtxsOfCells (Mesh *m, int selectedLabel, bool parentMode)
 
std::vector< vertex > mgx::getOrRemoveCommonWall (Mesh *m, std::vector< vertex > &cellVtxs, bool removeCommon, bool includeEdgeOfShared)
 
std::vector< Triangle > mgx::getOrRemoveCommonWall (Mesh *mesh, std::vector< Triangle > &cellTris, bool removeCommon, bool mergeDuplicated)
 
void mgx::assembleCellFromWalls (vvGraph &S, std::vector< vertex > vtxs, std::vector< Point3i > tris, std::set< vertex > &borderVtxs, double mergingThreshold, int labelCounter, bool orientCheck)