MorphoGraphX  2.0-1-227
Public Member Functions | Public Attributes | List of all members
mgx::CellDivision Class Reference

#include <CellDivision.hpp>

Public Member Functions

 CellDivision ()
 
 CellDivision (const cell &cellToDivide, DivPlane d, const cellGraph &C)
 
 CellDivision (P3dDouble plane, CellTissue &T, cell cellToDivide, int maxLabel)
 
void newLabelDaughters ()
 
void findCellTris ()
 
void sortCellTris ()
 
void writeDataToVec (std::vector< double > &d)
 
void createUpdatedNeighborhoodMap ()
 
void createUpdatedNeighborhoodMap (std::map< IntInt, double > &neighborMap, std::map< Triangle, int > &trisNeighbMap)
 
vector< pair< Point3d, Point3d > > polygonCuttingSegs ()
 
vector< vector< Point3d > > getCuttingPolygons ()
 
void splitCuttingSegs ()
 
void divideCellInCellGraph ()
 
bool simulateDivision3D (std::map< IntInt, double > neighborMap, std::map< Triangle, int > trisNeighbMap)
 
bool divideCell3D (CellTissue &T)
 
double getValue (QString criteria)
 

Public Attributes

cell c
 
cell dL
 
cell dR
 
DivPlane divPlane
 
Point3d cellNormal
 
std::vector< TriangletrisLeft
 
std::vector< TriangletrisRight
 
std::vector< TriangletrisAll
 
std::set< TriangletrisSplit
 
std::map< Triangle, std::pair< double, double > > splitTrisAreas
 
std::map< IntInt, double > nbhdMap
 
cellGraph C
 
int labelLeft
 
int labelRight
 
std::map< VtxVtx, vertexsegmentsToBeSplit
 
std::map< vertex, int > vtxDaughterMap
 
std::map< IntInt, double > neighborMapOld
 
std::map< Triangle, int > trisNeighbMap
 
int neighbAll
 
int neighbLeft
 
int neighbRight
 
double volumeLeft
 
double volumeRight
 
double volumeRatio
 
double betw
 
double rwBetw
 
std::map< IntInt, double > weights
 
int idxSamples
 
double cutLowDegreeNeighbor
 
Subdividesubdiv
 
mgx::CellTissue::DivAlg divAlg
 
vector< vector< Point3d > > pointsPolygonMulti
 
Point3d cellCenter
 

Detailed Description

Definition at line 176 of file CellDivision.hpp.

Constructor & Destructor Documentation

◆ CellDivision() [1/3]

mgx::CellDivision::CellDivision ( )
inline

Definition at line 224 of file CellDivision.hpp.

◆ CellDivision() [2/3]

mgx::CellDivision::CellDivision ( const cell cellToDivide,
DivPlane  d,
const cellGraph C 
)
inline

Definition at line 225 of file CellDivision.hpp.

◆ CellDivision() [3/3]

mgx::CellDivision::CellDivision ( P3dDouble  plane,
CellTissue T,
cell  cellToDivide,
int  maxLabel 
)
inline

Definition at line 229 of file CellDivision.hpp.

Member Function Documentation

◆ createUpdatedNeighborhoodMap() [1/2]

void mgx::CellDivision::createUpdatedNeighborhoodMap ( )

◆ createUpdatedNeighborhoodMap() [2/2]

void mgx::CellDivision::createUpdatedNeighborhoodMap ( std::map< IntInt, double > &  neighborMap,
std::map< Triangle, int > &  trisNeighbMap 
)

◆ divideCell3D()

bool mgx::CellDivision::divideCell3D ( CellTissue T)

◆ divideCellInCellGraph()

void mgx::CellDivision::divideCellInCellGraph ( )

◆ findCellTris()

void mgx::CellDivision::findCellTris ( )

◆ getCuttingPolygons()

vector<vector<Point3d> > mgx::CellDivision::getCuttingPolygons ( )

◆ getValue()

double mgx::CellDivision::getValue ( QString  criteria)

◆ newLabelDaughters()

void mgx::CellDivision::newLabelDaughters ( )

◆ polygonCuttingSegs()

vector<pair<Point3d, Point3d> > mgx::CellDivision::polygonCuttingSegs ( )

◆ simulateDivision3D()

bool mgx::CellDivision::simulateDivision3D ( std::map< IntInt, double >  neighborMap,
std::map< Triangle, int >  trisNeighbMap 
)

◆ sortCellTris()

void mgx::CellDivision::sortCellTris ( )

◆ splitCuttingSegs()

void mgx::CellDivision::splitCuttingSegs ( )

◆ writeDataToVec()

void mgx::CellDivision::writeDataToVec ( std::vector< double > &  d)

Member Data Documentation

◆ betw

double mgx::CellDivision::betw

Definition at line 209 of file CellDivision.hpp.

◆ c

cell mgx::CellDivision::c

Definition at line 180 of file CellDivision.hpp.

◆ C

cellGraph mgx::CellDivision::C

Definition at line 192 of file CellDivision.hpp.

◆ cellCenter

Point3d mgx::CellDivision::cellCenter

Definition at line 221 of file CellDivision.hpp.

◆ cellNormal

Point3d mgx::CellDivision::cellNormal

Definition at line 184 of file CellDivision.hpp.

◆ cutLowDegreeNeighbor

double mgx::CellDivision::cutLowDegreeNeighbor

Definition at line 213 of file CellDivision.hpp.

◆ divAlg

mgx::CellTissue::DivAlg mgx::CellDivision::divAlg

Definition at line 217 of file CellDivision.hpp.

◆ divPlane

DivPlane mgx::CellDivision::divPlane

Definition at line 182 of file CellDivision.hpp.

◆ dL

cell mgx::CellDivision::dL

Definition at line 180 of file CellDivision.hpp.

◆ dR

cell mgx::CellDivision::dR

Definition at line 180 of file CellDivision.hpp.

◆ idxSamples

int mgx::CellDivision::idxSamples

Definition at line 211 of file CellDivision.hpp.

◆ labelLeft

int mgx::CellDivision::labelLeft

Definition at line 196 of file CellDivision.hpp.

◆ labelRight

int mgx::CellDivision::labelRight

Definition at line 196 of file CellDivision.hpp.

◆ nbhdMap

std::map<IntInt, double> mgx::CellDivision::nbhdMap

Definition at line 189 of file CellDivision.hpp.

◆ neighbAll

int mgx::CellDivision::neighbAll

Definition at line 207 of file CellDivision.hpp.

◆ neighbLeft

int mgx::CellDivision::neighbLeft

Definition at line 207 of file CellDivision.hpp.

◆ neighborMapOld

std::map<IntInt, double> mgx::CellDivision::neighborMapOld

Definition at line 203 of file CellDivision.hpp.

◆ neighbRight

int mgx::CellDivision::neighbRight

Definition at line 207 of file CellDivision.hpp.

◆ pointsPolygonMulti

vector<vector<Point3d> > mgx::CellDivision::pointsPolygonMulti

Definition at line 220 of file CellDivision.hpp.

◆ rwBetw

double mgx::CellDivision::rwBetw

Definition at line 209 of file CellDivision.hpp.

◆ segmentsToBeSplit

std::map<VtxVtx, vertex> mgx::CellDivision::segmentsToBeSplit

Definition at line 199 of file CellDivision.hpp.

◆ splitTrisAreas

std::map<Triangle, std::pair<double,double> > mgx::CellDivision::splitTrisAreas

Definition at line 188 of file CellDivision.hpp.

◆ subdiv

Subdivide* mgx::CellDivision::subdiv

Definition at line 216 of file CellDivision.hpp.

◆ trisAll

std::vector<Triangle> mgx::CellDivision::trisAll

Definition at line 186 of file CellDivision.hpp.

◆ trisLeft

std::vector<Triangle> mgx::CellDivision::trisLeft

Definition at line 186 of file CellDivision.hpp.

◆ trisNeighbMap

std::map<Triangle, int> mgx::CellDivision::trisNeighbMap

Definition at line 204 of file CellDivision.hpp.

◆ trisRight

std::vector<Triangle> mgx::CellDivision::trisRight

Definition at line 186 of file CellDivision.hpp.

◆ trisSplit

std::set<Triangle> mgx::CellDivision::trisSplit

Definition at line 187 of file CellDivision.hpp.

◆ volumeLeft

double mgx::CellDivision::volumeLeft

Definition at line 208 of file CellDivision.hpp.

◆ volumeRatio

double mgx::CellDivision::volumeRatio

Definition at line 208 of file CellDivision.hpp.

◆ volumeRight

double mgx::CellDivision::volumeRight

Definition at line 208 of file CellDivision.hpp.

◆ vtxDaughterMap

std::map<vertex,int> mgx::CellDivision::vtxDaughterMap

Definition at line 201 of file CellDivision.hpp.

◆ weights

std::map<IntInt, double> mgx::CellDivision::weights

Definition at line 210 of file CellDivision.hpp.


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