25 #include "g-map-vertex.hh"
26 #include "compute-homology.hh"
30 using namespace GMap3d;
35 unsigned int nb=FMap->countNonLocalDegreeTwoEdges();
39 "the map is a 2D quasi manifold.");
45 "the map is NOT a 2D quasi manifold.");
48 "the map is NOT a 2D quasi manifold.");
54 int* ANbVertices,
int* ANbEdges,
55 int* ANbFaces,
int* ANbVolumes,
57 int* ANb0Borders,
int* ANb1Borders,
58 int* ANb2Borders,
int* ANb3Borders)
60 FMap->getGlobalCharacteristics(ANbDarts,
61 ANbVertices, ANbEdges, ANbFaces, ANbVolumes,
63 ANb0Borders, ANb1Borders, ANb2Borders,
69 int* ANbVertices,
int* ANbEdges,
71 int* ANb0Borders,
int* ANb1Borders,
73 int* ANb2BordersWhenClosed,
74 int* AEuler,
int* AOrient,
79 CDart* last = FParameterSelection->getLastSelectedDart();
81 int n = FMap->getMarkedCells(ORBIT_VOLUME,
82 FParameterSelection->getSelectionMark(),
85 bool ok = n==1 || (n>1 && last != NULL);
93 int* pNb2WhenClosed = ANb2BordersWhenClosed;
94 int* pOrient = AOrient;
99 if (pNb2WhenClosed == NULL) pNb2WhenClosed = & nb2WhenClosed;
100 if (pOrient == NULL) pOrient = & orient ;
101 if (pGenus == NULL) pGenus = & genus ;
104 FMap->getSurfaceCharacteristics(root, ANbDarts,
105 ANbVertices, ANbEdges, ANbFaces,
106 ANb0Borders, ANb1Borders, ANb2Borders,
108 AEuler, pOrient, pGenus);
111 *AName =
treatAccent(FMap->getSurfaceName(*pNb2WhenClosed, *pOrient,