Salome HOME
f4f0001fb0fb81884389a962251f787fb21059c9
[tools/medcoupling.git] / doc / developer / doxygen / fakesources / MEDCouplingUMesh.C
1 // Copyright (C) 2013-2019  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 // This file contains some code used only for
21 // * generation of documentation for inline methods of MEDCouplingUMesh class,
22 // * groupping methods into "Basic API", "Advanced" and "Others..." sections
23
24 namespace MEDCoupling
25 {
26   /*!
27    * Returns the nodal connectivity array. For more info on how data in stored in
28    * this array, see \ref MEDCouplingUMeshAdvBuild.
29    *  \return const DataArrayInt * - a pointer to the nodal connectivity array
30    *          referred by \a this mesh.
31    */
32   const DataArrayInt * MEDCouplingUMesh::getNodalConnectivity() const {}
33   /*!
34    * Returns the nodal connectivity index array. For more info on how data in stored in
35    * this array, see \ref MEDCouplingUMeshAdvBuild.
36    *  \return const DataArrayInt * - a pointer to the nodal connectivity index array
37    *          referred by \a this mesh.
38    */
39   const DataArrayInt * MEDCouplingUMesh::getNodalConnectivityIndex() const {}
40   /*!
41    * Returns the nodal connectivity array. For more info on how data in stored in
42    * this array, see \ref MEDCouplingUMeshAdvBuild.
43    *  \return const DataArrayInt * - a pointer to the nodal connectivity array
44    *          referred by \a this mesh.
45    */
46   DataArrayInt * MEDCouplingUMesh::getNodalConnectivity() {}
47   /*!
48    * Returns the nodal connectivity index array. For more info on how data in stored in
49    * this array, see \ref MEDCouplingUMeshAdvBuild.
50    *  \return const DataArrayInt * - a pointer to the nodal connectivity index array
51    *          referred by \a this mesh.
52    */
53   DataArrayInt * MEDCouplingUMesh::getNodalConnectivityIndex() {}
54 }
55
56 namespace MEDCoupling
57 {
58 //================================================================================
59 /////////////////////// MEDCouplingUMesh GROUPPING ///////////////////////////////
60 //================================================================================
61
62 /*! \name Basic API   */
63 ///@{
64 MEDCouplingUMesh::FuseUMeshesOnSameCoords(const std::vector<const MEDCouplingUMesh *>& meshes, int compType, std::vector<DataArrayInt *>& corr);
65 MEDCouplingUMesh::Intersect2DMeshes(const MEDCouplingUMesh *m1, const MEDCouplingUMesh *m2, double eps, DataArrayInt *&cellNb1, DataArrayInt *&cellNb2);
66 MEDCouplingUMesh::MergeNodesOnUMeshesSharingSameCoords(const std::vector<MEDCouplingUMesh *>& meshes, double eps);
67 MEDCouplingUMesh::MergeUMeshes(const MEDCouplingUMesh *mesh1, const MEDCouplingUMesh *mesh2);
68 MEDCouplingUMesh::MergeUMeshes(std::vector<const MEDCouplingUMesh *>& a);
69 MEDCouplingUMesh::MergeUMeshesOnSameCoords(const MEDCouplingUMesh *mesh1, const MEDCouplingUMesh *mesh2);
70 MEDCouplingUMesh::MergeUMeshesOnSameCoords(const std::vector<const MEDCouplingUMesh *>& meshes);
71 MEDCouplingUMesh::PutUMeshesOnSameAggregatedCoords(const std::vector<MEDCouplingUMesh *>& meshes);
72 MEDCouplingUMesh::allocateCells(int nbOfCells);
73 MEDCouplingUMesh::are2DCellsNotCorrectlyOriented(const double *vec, bool polyOnly, std::vector<int>& cells) const;
74 MEDCouplingUMesh::areCellsIncludedIn(const MEDCouplingUMesh *other, int compType, DataArrayInt *& arr) const;
75 MEDCouplingUMesh::arePolyhedronsNotCorrectlyOriented(std::vector<int>& cells) const;
76 MEDCouplingUMesh::buildBoundaryMesh(bool keepCoords) const;
77 MEDCouplingUMesh::buildDescendingConnectivity(DataArrayInt *desc, DataArrayInt *descIndx, DataArrayInt *revDesc, DataArrayInt *revDescIndx) const;
78 MEDCouplingUMesh::buildDescendingConnectivity2(DataArrayInt *desc, DataArrayInt *descIndx, DataArrayInt *revDesc, DataArrayInt *revDescIndx) const;
79 MEDCouplingUMesh::buildDirectionVectorField() const;
80 MEDCouplingUMesh::buildFacePartOfMySelfNode(const int *begin, const int *end, bool fullyIn) const;
81 MEDCouplingUMesh::buildOrthogonalField() const;
82 MEDCouplingUMesh::buildPartOfMySelf(const int *begin, const int *end, bool keepCoords=true) const;
83 //MEDCouplingUMesh::buildPartOfMySelfNode(const int *begin, const int *end, bool fullyIn) const;
84 MEDCouplingUMesh::buildPartOrthogonalField(const int *begin, const int *end) const;
85 MEDCouplingUMesh::buildSlice3D(const double *origin, const double *vec, double eps, DataArrayInt *&cellIds) const;
86 MEDCouplingUMesh::buildSlice3DSurf(const double *origin, const double *vec, double eps, DataArrayInt *&cellIds) const;
87 MEDCouplingUMesh::checkCoherency() const;
88 MEDCouplingUMesh::checkCoherency1(double eps=1e-12) const;
89 //MEDCouplingUMesh::checkDeepEquivalOnSameNodesWith(const MEDCouplingMesh *other, int cellCompPol, double prec,DataArrayInt *&cellCor) const;
90 //MEDCouplingUMesh::checkDeepEquivalWith(const MEDCouplingMesh *other, int cellCompPol, double prec,DataArrayInt *&cellCor, DataArrayInt *&nodeCor) const;
91 MEDCouplingUMesh::checkFastEquivalWith(const MEDCouplingMesh *other, double prec) const;
92 MEDCouplingUMesh::clone(bool recDeepCpy) const;
93 MEDCouplingUMesh::computeIsoBarycenterOfNodesPerCell() const;
94 MEDCouplingUMesh::convertAllToPoly();
95 MEDCouplingUMesh::convertQuadraticCellsToLinear();
96 MEDCouplingUMesh::convertToPolyTypes(const int *cellIdsToConvertBg, const int *cellIdsToConvertEnd);
97 MEDCouplingUMesh::deepCpy() const;
98 MEDCouplingUMesh::findAndCorrectBadOriented3DExtrudedCells();
99 MEDCouplingUMesh::findBoundaryNodes() const;
100 MEDCouplingUMesh::finishInsertingCells();
101 MEDCouplingUMesh::getAllGeoTypes() const;
102 MEDCouplingUMesh::getAspectRatioField() const;
103 MEDCouplingUMesh::getBarycenterAndOwner() const;
104 MEDCouplingUMesh::getCellContainingPoint(const double *pos, double eps) const;
105 MEDCouplingUMesh::getCellIdsCrossingPlane(const double *origin, const double *vec, double eps) const;
106 //MEDCouplingUMesh::getCellIdsFullyIncludedInNodeIds(const int *partBg, const int *partEnd) const;
107 //MEDCouplingUMesh::getCellIdsLyingOnNodes(const int *begin, const int *end, bool fullyIn) const;
108 MEDCouplingUMesh::getCellsContainingPoint(const double *pos, double eps, std::vector<int>& elts) const;
109 MEDCouplingUMesh::getCellsContainingPoints(const double *pos, int nbOfPoints, double eps, std::vector<int>& elts, std::vector<int>& eltsIndex) const;
110 MEDCouplingUMesh::getCellsInBoundingBox(const INTERP_KERNEL::DirectedBoundingBox& bbox, double eps);
111 MEDCouplingUMesh::getCellsInBoundingBox(const double *bbox, double eps) const;
112 MEDCouplingUMesh::getEdgeRatioField() const;
113 MEDCouplingUMesh::getMeasureField(bool isAbs) const;
114 MEDCouplingUMesh::getMeasureFieldOnNode(bool isAbs) const;
115 MEDCouplingUMesh::getMeshDimension() const;
116 MEDCouplingUMesh::getNodalConnectivity() const;
117 MEDCouplingUMesh::getNodalConnectivity();
118 MEDCouplingUMesh::getNodalConnectivityIndex() const;
119 MEDCouplingUMesh::getNodalConnectivityIndex();
120 MEDCouplingUMesh::getNodeIdsInUse(int& nbrOfNodesInUse) const;
121 MEDCouplingUMesh::getNodeIdsOfCell(int cellId, std::vector<int>& conn) const;
122 MEDCouplingUMesh::getNumberOfCells() const;
123 MEDCouplingUMesh::getPartBarycenterAndOwner(const int *begin, const int *end) const;
124 MEDCouplingUMesh::getPartMeasureField(bool isAbs, const int *begin, const int *end) const;
125 MEDCouplingUMesh::getReverseNodalConnectivity(DataArrayInt *revNodal, DataArrayInt *revNodalIndx) const;
126 MEDCouplingUMesh::getSkewField() const;
127 MEDCouplingUMesh::getTypeOfCell(int cellId) const;
128 MEDCouplingUMesh::getTypesOfPart(const int *begin, const int *end) const;
129 MEDCouplingUMesh::getWarpField() const;
130 MEDCouplingUMesh::insertNextCell(INTERP_KERNEL::NormalizedCellType type, int size, const int *nodalConnOfCell);
131 MEDCouplingUMesh::isEqualWithoutConsideringStr(const MEDCouplingMesh *other, double prec) const;
132 //MEDCouplingUMesh::mergeNodes(double precision, bool& areNodesMerged, int& newNbOfNodes);
133 //MEDCouplingUMesh::mergeNodes2(double precision, bool& areNodesMerged, int& newNbOfNodes);
134 MEDCouplingUMesh::orientCorrectly2DCells(const double *vec, bool polyOnly);
135 MEDCouplingUMesh::orientCorrectlyPolyhedrons();
136 //MEDCouplingUMesh::renumberNodes(const int *newNodeNumbers, int newNbOfNodes);
137 //MEDCouplingUMesh::renumberNodes2(const int *newNodeNumbers, int newNbOfNodes);
138 MEDCouplingUMesh::renumberNodesInConn(const int *newNodeNumbersO2N);
139 MEDCouplingUMesh::reprQuickOverview(std::ostream& stream) const;
140 MEDCouplingUMesh::setConnectivity(DataArrayInt *conn, DataArrayInt *connIndex, bool isComputingTypes=true);
141 MEDCouplingUMesh::setMeshDimension(int meshDim);
142 MEDCouplingUMesh::sortCellsInMEDFileFrmt();
143 //MEDCouplingUMesh::tryToShareSameCoordsPermute(const MEDCouplingPointSet& other, double epsilon);
144 MEDCouplingUMesh::unPolyze();
145 //MEDCouplingUMesh::zipConnectivityTraducer(int compType, int startCellId=0);
146 MEDCouplingUMesh::zipCoordsTraducer();
147   ///@} 
148
149   /*! \name Advanced API  */
150 ///@{
151 MEDCouplingUMesh::areOnlySimplexCells() const;
152 MEDCouplingUMesh::checkButterflyCells(std::vector<int>& cells, double eps=1e-12) const;
153 MEDCouplingUMesh::computeTypes();
154 MEDCouplingUMesh::convertDegeneratedCells();
155 MEDCouplingUMesh::convertExtrudedPolyhedra();
156 MEDCouplingUMesh::getMeshLength() const;
157 MEDCouplingUMesh::isFullyQuadratic() const;
158 MEDCouplingUMesh::isPresenceOfQuadratic() const;
159 MEDCouplingUMesh::simplexize(int policy);
160 MEDCouplingUMesh::tessellate2D(double eps);
161   ///@
162
163 /*! \name Others... */
164 ///@{
165 MEDCouplingUMesh::AggregateSortedByTypeMeshesOnSameCoords(const std::vector<const MEDCouplingUMesh *>& ms,DataArrayInt *&szOfCellGrpOfSameType,DataArrayInt *&idInMsOfCellGrpOfSameType);
166 //MEDCouplingUMesh::AppendExtrudedCell(const int *connBg, const int *connEnd, int nbOfNodesPerLev, bool isQuad, std::vector<int>& ret);
167 MEDCouplingUMesh::AreCellsEqual(const int *conn, const int *connI, int cell1, int cell2, int compType);
168 MEDCouplingUMesh::AreCellsEqual0(const int *conn, const int *connI, int cell1, int cell2);
169 MEDCouplingUMesh::AreCellsEqual1(const int *conn, const int *connI, int cell1, int cell2);
170 MEDCouplingUMesh::AreCellsEqual2(const int *conn, const int *connI, int cell1, int cell2);
171 MEDCouplingUMesh::AreCellsEqual3(const int *conn, const int *connI, int cell1, int cell2);
172 MEDCouplingUMesh::AreCellsEqual7(const int *conn, const int *connI, int cell1, int cell2);
173 MEDCouplingUMesh::AreCellsEqualInPool(const std::vector<int>& candidates, int compType, const int *conn, const int *connI, DataArrayInt *result) ;
174 //MEDCouplingUMesh::AssemblyForSplitFrom3DCurve(const std::vector<int>& cut3DCurve, std::vector<int>& nodesOnPlane, const int *nodal3DSurf, const int *nodalIndx3DSurf,const int *nodal3DCurve, const int *nodalIndx3DCurve,const int *desc, const int *descIndx, std::vector< std::pair<int,int> >& cut3DSurf);
175 MEDCouplingUMesh::Build0DMeshFromCoords(DataArrayDouble *da);
176 MEDCouplingUMesh::BuildConvexEnvelopOf2DCellJarvis(const double *coords, const int *nodalConnBg, const int *nodalConnEnd, DataArrayInt *nodalConnecOut);
177 //MEDCouplingUMesh::BuildIntersectEdges(const MEDCouplingUMesh *m1, const MEDCouplingUMesh *m2, const std::vector<double>& addCoo, const std::vector< std::vector<int> >& subDiv, std::vector< std::vector<int> >& intersectEdge);
178 //MEDCouplingUMesh::BuildIntersecting2DCellsFromEdges(double eps, const MEDCouplingUMesh *m1, const int *desc1, const int *descIndx1, const std::vector<std::vector<int> >& intesctEdges1, const std::vector< std::vector<int> >& colinear2,const MEDCouplingUMesh *m2, const int *desc2, const int *descIndx2, const std::vector<std::vector<int> >& intesctEdges2,const std::vector<double>& addCoords,std::vector<double>& addCoordsQuadratic, std::vector<int>& cr, std::vector<int>& crI, std::vector<int>& cNb1, std::vector<int>& cNb2);
179 MEDCouplingUMesh::ComputeNeighborsOfCellsAdv(const DataArrayInt *desc, const DataArrayInt *descI, const DataArrayInt *revDesc, const DataArrayInt *revDescI,DataArrayInt *&neighbors, DataArrayInt *&neighborsIdx);
180 //MEDCouplingUMesh::ComputeRangesFromTypeDistribution(const std::vector<int>& code);
181 MEDCouplingUMesh::ComputeSpreadZoneGradually(const DataArrayInt *arrIn, const DataArrayInt *arrIndxIn);
182 MEDCouplingUMesh::ComputeSpreadZoneGraduallyFromSeed(const int *seedBg, const int *seedEnd, const DataArrayInt *arrIn, const DataArrayInt *arrIndxIn, int nbOfDepthPeeling, int& nbOfDepthPeelingPerformed);
183 //MEDCouplingUMesh::ComputeSpreadZoneGraduallyFromSeedAlg(std::vector<bool>& fetched, const int *seedBg, const int *seedEnd, const DataArrayInt *arrIn, const DataArrayInt *arrIndxIn, int nbOfDepthPeeling, int& nbOfDepthPeelingPerformed);
184 MEDCouplingUMesh::ComputeVecAndPtOfFace(double eps, const double *coords, const int *begin, const int *end, double *v, double *p);
185 //MEDCouplingUMesh::CorrectExtrudedCell(int *begin, int *end);
186 MEDCouplingUMesh::CorrectExtrudedStaticCell(int *begin, int *end);
187 MEDCouplingUMesh::ExtractFromIndexedArrays(const int *idsOfSelectBg, const int *idsOfSelectEnd, const DataArrayInt *arrIn, const DataArrayInt *arrIndxIn,DataArrayInt* &arrOut, DataArrayInt* &arrIndexOut);
188 //MEDCouplingUMesh::FillInCompact3DMode(int spaceDim, int nbOfNodesInCell, const int *conn, const double *coo, double *zipFrmt);
189 MEDCouplingUMesh::FindCommonCellsAlg(int compType, int startCellId, const DataArrayInt *nodal, const DataArrayInt *nodalI, const DataArrayInt *revNodal, const DataArrayInt *revNodalI,DataArrayInt *& commonCellsArr, DataArrayInt *& commonCellsIArr);
190 //MEDCouplingUMesh::IntersectDescending2DMeshes(const MEDCouplingUMesh *m1, const MEDCouplingUMesh *m2, double eps,std::vector< std::vector<int> >& intersectEdge1, std::vector< std::vector<int> >& colinear2, std::vector< std::vector<int> >& subDiv2,MEDCouplingUMesh *& m1Desc, DataArrayInt *&desc1, DataArrayInt *&descIndx1, DataArrayInt *&revDesc1, DataArrayInt *&revDescIndx1,MEDCouplingUMesh *& m2Desc, DataArrayInt *&desc2, DataArrayInt *&descIndx2, DataArrayInt *&revDesc2, DataArrayInt *&revDescIndx2,std::vector<double>& addCoo);
191 //MEDCouplingUMesh::Is3DExtrudedCellWellOriented(const int *begin, const int *end, const double *coords);
192 MEDCouplingUMesh::Is3DExtrudedStaticCellWellOriented(const int *begin, const int *end, const double *coords);
193 MEDCouplingUMesh::IsPolygonWellOriented(bool isQuadratic, const double *vec, const int *begin, const int *end, const double *coords);
194 MEDCouplingUMesh::IsPolyhedronWellOriented(const int *begin, const int *end, const double *coords);
195 MEDCouplingUMesh::IsPyra5WellOriented(const int *begin, const int *end, const double *coords);
196 MEDCouplingUMesh::IsTetra4WellOriented(const int *begin, const int *end, const double *coords);
197 MEDCouplingUMesh::MEDCouplingUMesh();
198 MEDCouplingUMesh::MEDCouplingUMesh(const MEDCouplingUMesh& other, bool deepCopy);
199 //MEDCouplingUMesh::MergeUMeshesLL(std::vector<const MEDCouplingUMesh *>& a);
200 MEDCouplingUMesh::New();
201 MEDCouplingUMesh::New(const std::string& meshName, int meshDim);
202 MEDCouplingUMesh::RemoveIdsFromIndexedArrays(const int *idsToRemoveBg, const int *idsToRemoveEnd, DataArrayInt *arr, DataArrayInt *arrIndx, int offsetForRemoval=0);
203 MEDCouplingUMesh::SetPartOfIndexedArrays(const int *idsOfSelectBg, const int *idsOfSelectEnd, const DataArrayInt *arrIn, const DataArrayInt *arrIndxIn,const DataArrayInt *srcArr, const DataArrayInt *srcArrIndex,DataArrayInt* &arrOut, DataArrayInt* &arrIndexOut);
204 MEDCouplingUMesh::SetPartOfIndexedArrays2(int start, int end, int step, const DataArrayInt *arrIn, const DataArrayInt *arrIndxIn,const DataArrayInt *srcArr, const DataArrayInt *srcArrIndex,DataArrayInt* &arrOut, DataArrayInt* &arrIndexOut);
205 MEDCouplingUMesh::SetPartOfIndexedArraysSameIdx(const int *idsOfSelectBg, const int *idsOfSelectEnd, DataArrayInt *arrInOut, const DataArrayInt *arrIndxIn,const DataArrayInt *srcArr, const DataArrayInt *srcArrIndex);
206 MEDCouplingUMesh::SetPartOfIndexedArraysSameIdx2(int start, int end, int step, DataArrayInt *arrInOut, const DataArrayInt *arrIndxIn,const DataArrayInt *srcArr, const DataArrayInt *srcArrIndex);
207 MEDCouplingUMesh::SimplifyPolyhedronCell(double eps, const DataArrayDouble *coords, const int *begin, const int *end, DataArrayInt *res);
208 MEDCouplingUMesh::TryToCorrectPolyhedronOrientation(int *begin, int *end, const double *coords);
209 MEDCouplingUMesh::advancedRepr() const;
210 //MEDCouplingUMesh::areCellsFrom2MeshEqual(const MEDCouplingUMesh *other, int cellId, double prec) const;
211 MEDCouplingUMesh::areCellsIncludedIn2(const MEDCouplingUMesh *other, DataArrayInt *& arr) const;
212 //MEDCouplingUMesh::assemblyForSplitFrom3DSurf(const std::vector< std::pair<int,int> >& cut3DSurf,const int *desc, const int *descIndx, DataArrayInt *nodalRes, DataArrayInt *nodalResIndx, DataArrayInt *cellIds) const;
213 MEDCouplingUMesh::buildExtrudedMesh(const MEDCouplingUMesh *mesh1D, int policy);
214 MEDCouplingUMesh::buildExtrudedMeshFromThisLowLev(int nbOfNodesOf1Lev, bool isQuad) const;
215 MEDCouplingUMesh::buildPartOfMySelf2(int start, int end, int step, bool keepCoords=true) const;
216 MEDCouplingUMesh::buildPartOfMySelfKeepCoords(const int *begin, const int *end) const;
217 MEDCouplingUMesh::buildPartOfMySelfKeepCoords2(int start, int end, int step) const;
218 MEDCouplingUMesh::buildSetInstanceFromThis(int spaceDim) const;
219 MEDCouplingUMesh::buildSpreadZonesWithPoly() const;
220 MEDCouplingUMesh::buildUnionOf2DMesh() const;
221 MEDCouplingUMesh::buildUnionOf3DMesh() const;
222 MEDCouplingUMesh::buildUnstructured() const;
223 MEDCouplingUMesh::cellIterator();
224 MEDCouplingUMesh::cellsByType();
225 MEDCouplingUMesh::checkConnectivityFullyDefined() const;
226 MEDCouplingUMesh::checkConsecutiveCellTypes() const;
227 MEDCouplingUMesh::checkConsecutiveCellTypesAndOrder(const INTERP_KERNEL::NormalizedCellType *orderBg, const INTERP_KERNEL::NormalizedCellType *orderEnd) const;
228 MEDCouplingUMesh::checkConsecutiveCellTypesForMEDFileFrmt() const;
229 MEDCouplingUMesh::checkFullyDefined() const;
230 MEDCouplingUMesh::checkTypeConsistencyAndContig(const std::vector<int>& code, const std::vector<const DataArrayInt *>& idsPerType) const;
231 MEDCouplingUMesh::computeFetchedNodeIds() const;
232 MEDCouplingUMesh::computeNbOfNodesPerCell() const;
233 MEDCouplingUMesh::computeNeighborsOfCells(DataArrayInt *&neighbors, DataArrayInt *&neighborsIdx) const;
234 MEDCouplingUMesh::computeNodeIdsAlg(std::vector<bool>& nodeIdsInUse) const;
235 MEDCouplingUMesh::computeSkin() const;
236 MEDCouplingUMesh::convertCellArrayPerGeoType(const DataArrayInt *da) const;
237 MEDCouplingUMesh::convertLinearCellsToQuadratic(int conversionType=0);
238 MEDCouplingUMesh::convertLinearCellsToQuadratic1D0(DataArrayInt *&conn, DataArrayInt *&connI, DataArrayDouble *& coords, std::set<INTERP_KERNEL::NormalizedCellType>& types) const;
239 MEDCouplingUMesh::convertLinearCellsToQuadratic2D0(DataArrayInt *&conn, DataArrayInt *&connI, DataArrayDouble *& coords, std::set<INTERP_KERNEL::NormalizedCellType>& types) const;
240 MEDCouplingUMesh::convertLinearCellsToQuadratic2D1(DataArrayInt *&conn, DataArrayInt *&connI, DataArrayDouble *& coords, std::set<INTERP_KERNEL::NormalizedCellType>& types) const;
241 MEDCouplingUMesh::convertLinearCellsToQuadratic2DAnd3D0(const MEDCouplingUMesh *m1D, const DataArrayInt *desc, const DataArrayInt *descI, DataArrayInt *&conn, DataArrayInt *&connI, DataArrayDouble *& coords, std::set<INTERP_KERNEL::NormalizedCellType>& types) const;
242 MEDCouplingUMesh::convertLinearCellsToQuadratic3D0(DataArrayInt *&conn, DataArrayInt *&connI, DataArrayDouble *& coords, std::set<INTERP_KERNEL::NormalizedCellType>& types) const;
243 MEDCouplingUMesh::convertLinearCellsToQuadratic3D1(DataArrayInt *&conn, DataArrayInt *&connI, DataArrayDouble *& coords, std::set<INTERP_KERNEL::NormalizedCellType>& types) const;
244 MEDCouplingUMesh::convexEnvelop2D();
245 MEDCouplingUMesh::cppRepr() const;
246 MEDCouplingUMesh::distanceToPoint(const double *ptBg, const double *ptEnd, int& cellId, int& nodeId) const;
247 //MEDCouplingUMesh::distanceToPoint2DCurveAlg(const double *pt, const DataArrayInt *cellIds, double& ret0, int& cellId) const;
248 //MEDCouplingUMesh::distanceToPoint3DSurfAlg(const double *pt, const DataArrayInt *cellIds, double& ret0, int& cellId) const;
249 MEDCouplingUMesh::duplicateNodes(const int *nodeIdsToDuplicateBg, const int *nodeIdsToDuplicateEnd);
250 MEDCouplingUMesh::duplicateNodesInConn(const int *nodeIdsToDuplicateBg, const int *nodeIdsToDuplicateEnd, int offset);
251 MEDCouplingUMesh::emulateMEDMEMBDC(const MEDCouplingUMesh *nM1LevMesh, DataArrayInt *desc, DataArrayInt *descIndx, DataArrayInt *&revDesc, DataArrayInt *&revDescIndx, DataArrayInt *& nM1LevMeshIds, DataArrayInt *&meshnM1Old2New) const;
252 MEDCouplingUMesh::explode3DMeshTo1D(DataArrayInt *desc, DataArrayInt *descIndx, DataArrayInt *revDesc, DataArrayInt *revDescIndx) const;
253 MEDCouplingUMesh::fillCellIdsToKeepFromNodeIds(const int *begin, const int *end, bool fullyIn, DataArrayInt *&cellIdsKeptArr) const;
254 MEDCouplingUMesh::fillExtCoordsUsingTranslAndAutoRotation(const MEDCouplingUMesh *mesh1D, bool isQuad) const;
255 MEDCouplingUMesh::fillExtCoordsUsingTranslAndAutoRotation2D(const MEDCouplingUMesh *mesh1D, bool isQuad) const;
256 MEDCouplingUMesh::fillExtCoordsUsingTranslAndAutoRotation3D(const MEDCouplingUMesh *mesh1D, bool isQuad) const;
257 MEDCouplingUMesh::fillExtCoordsUsingTranslation(const MEDCouplingUMesh *mesh1D, bool isQuad) const;
258 MEDCouplingUMesh::findAndCorrectBadOriented3DCells();
259 MEDCouplingUMesh::findCellIdsLyingOn(const MEDCouplingUMesh& otherDimM1OnSameCoords, DataArrayInt *&cellIdsRk0, DataArrayInt *&cellIdsRk1) const;
260 MEDCouplingUMesh::findCellIdsOnBoundary() const;
261 MEDCouplingUMesh::findCommonCells(int compType, int startCellId, DataArrayInt *& commonCellsArr, DataArrayInt *& commonCellsIArr) const;
262 MEDCouplingUMesh::findNodesToDuplicate(const MEDCouplingUMesh& otherDimM1OnSameCoords, DataArrayInt *& nodeIdsToDuplicate,DataArrayInt *& cellIdsNeededToBeRenum, DataArrayInt *& cellIdsNotModified) const;
263 //MEDCouplingUMesh::getAllTypes() const;
264 MEDCouplingUMesh::getBoundingBoxForBBTree(std::vector<double>& bbox) const;
265 MEDCouplingUMesh::getDistributionOfTypes() const;
266 MEDCouplingUMesh::getFastAveragePlaneOfThis(double *vec, double *pos) const;
267 //MEDCouplingUMesh::getHeapMemorySize() const;
268 MEDCouplingUMesh::getLevArrPerCellTypes(const INTERP_KERNEL::NormalizedCellType *orderBg, const INTERP_KERNEL::NormalizedCellType *orderEnd, DataArrayInt *&nbPerType) const;
269 MEDCouplingUMesh::getNumberOfCellsWithType(INTERP_KERNEL::NormalizedCellType type) const;
270 MEDCouplingUMesh::getNumberOfNodesInCell(int cellId) const;
271 MEDCouplingUMesh::getQuadraticStatus() const;
272 MEDCouplingUMesh::getRenumArrForConsecutiveCellTypesSpec(const INTERP_KERNEL::NormalizedCellType *orderBg, const INTERP_KERNEL::NormalizedCellType *orderEnd) const;
273 MEDCouplingUMesh::getTinySerializationInformation(std::vector<double>& tinyInfoD, std::vector<int>& tinyInfo, std::vector<std::string>& littleStrings) const;
274 MEDCouplingUMesh::getType() const { return UNSTRUCTURED; }
275 MEDCouplingUMesh::getVTKDataSetType() const;
276 MEDCouplingUMesh::giveCellsWithType(INTERP_KERNEL::NormalizedCellType type) const;
277 MEDCouplingUMesh::isContiguous1D() const;
278 MEDCouplingUMesh::isEmptyMesh(const std::vector<int>& tinyInfo) const;
279 MEDCouplingUMesh::isEqualIfNotWhy(const MEDCouplingMesh *other, double prec, std::string& reason) const;
280 MEDCouplingUMesh::keepCellIdsByType(INTERP_KERNEL::NormalizedCellType type, const int *begin, const int *end) const;
281 MEDCouplingUMesh::keepSpecifiedCells(INTERP_KERNEL::NormalizedCellType type, const int *idsPerGeoTypeBg, const int *idsPerGeoTypeEnd) const;
282 MEDCouplingUMesh::mergeMyselfWith(const MEDCouplingMesh *other) const;
283 MEDCouplingUMesh::partitionBySpreadZone() const;
284 MEDCouplingUMesh::project1D(const double *pt, const double *v, double eps, double *res) const;
285 MEDCouplingUMesh::rearrange2ConsecutiveCellTypes();
286 MEDCouplingUMesh::renumberCells(const int *old2NewBg, bool check=true);
287 MEDCouplingUMesh::reprConnectivityOfThis() const;
288 MEDCouplingUMesh::reprConnectivityOfThisLL(std::ostringstream& stream) const;
289 MEDCouplingUMesh::resizeForUnserialization(const std::vector<int>& tinyInfo, DataArrayInt *a1, DataArrayDouble *a2, std::vector<std::string>& littleStrings) const;
290 MEDCouplingUMesh::serialize(DataArrayInt *&a1, DataArrayDouble *&a2) const;
291 MEDCouplingUMesh::setPartOfMySelf(const int *cellIdsBg, const int *cellIdsEnd, const MEDCouplingUMesh& otherOnSameCoordsThanThis);
292 MEDCouplingUMesh::setPartOfMySelf2(int start, int end, int step, const MEDCouplingUMesh& otherOnSameCoordsThanThis);
293 MEDCouplingUMesh::shiftNodeNumbersInConn(int delta);
294 MEDCouplingUMesh::simpleRepr() const;
295 MEDCouplingUMesh::simplexizePlanarFace5();
296 MEDCouplingUMesh::simplexizePlanarFace6();
297 MEDCouplingUMesh::simplexizePol0();
298 MEDCouplingUMesh::simplexizePol1();
299 MEDCouplingUMesh::simplifyPolyhedra(double eps);
300 MEDCouplingUMesh::split3DCurveWithPlane(const double *origin, const double *vec, double eps, std::vector<int>& cut3DCurve);
301 MEDCouplingUMesh::splitByType() const;
302 MEDCouplingUMesh::splitProfilePerType(const DataArrayInt *profile, std::vector<int>& code, std::vector<DataArrayInt *>& idsInPflPerType, std::vector<DataArrayInt *>& idsPerType) const;
303 MEDCouplingUMesh::subDivide2DMesh(const int *nodeSubdived, const int *nodeIndxSubdived, const int *desc, const int *descIndex);
304 MEDCouplingUMesh::unserialization(const std::vector<double>& tinyInfoD, const std::vector<int>& tinyInfo, const DataArrayInt *a1, DataArrayDouble *a2, const std::vector<std::string>& littleStrings);
305 MEDCouplingUMesh::updateTime() const;
306 MEDCouplingUMesh::writeVTKLL(std::ostream& ofs, const std::string& cellData, const std::string& pointData) const;
307 MEDCouplingUMesh::~MEDCouplingUMesh();
308 //template<class SonsGenerator> MEDCouplingUMesh * MEDCouplingUMesh::buildDescendingConnectivityGen(DataArrayInt *desc, DataArrayInt *descIndx, DataArrayInt *revDesc, DataArrayInt *revDescIndx, DimM1DescNbrer nbrer) const;
309 template<int SPACEDIM> void MEDCouplingUMesh::getCellsContainingPointsAlg
310 (const double *coords, const double *pos, int nbOfPoints,double eps, std::vector<int>& elts,
311  std::vector<int>& eltsIndex) const;
312
313 //const INTERP_KERNEL::NormalizedCellType MEDCouplingUMesh::MEDMEM_ORDER[N_MEDMEM_ORDER];
314 //const int MEDCouplingUMesh::N_MEDMEM_ORDER=24;
315 double MEDCouplingUMesh::EPS_FOR_POLYH_ORIENTATION;
316 int MEDCouplingUMesh::_mesh_dim;
317 std::set<INTERP_KERNEL::NormalizedCellType> MEDCouplingUMesh::_types;
318 DataArrayInt * MEDCouplingUMesh::_nodal_connec;
319 DataArrayInt * MEDCouplingUMesh::_nodal_connec_index;
320   ///@} 
321 }
322