 |
MAGiC
V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
|
Aller à la documentation de ce fichier.
22 #ifndef CAD4FE_MCBodyh
23 #define CAD4FE_MCBodyh
35 #define MCBODY_FOR_EACH_MCEDGE(M,E)\
36 HypergraphLib::Graph *G21graph_tmp=M->G21(); \
37 HypergraphLib::Graph::MapArcsById::const_iterator iteratorArcs_tmp; \
38 iteratorArcs_tmp = G21graph_tmp->GetArcs().begin(); \
39 CAD4FE::MCEdge * E = (iteratorArcs_tmp->second != NULL) ? M->GetMCEdge(iteratorArcs_tmp->second) : NULL; \
40 for (iteratorArcs_tmp = G21graph_tmp->GetArcs().begin(); \
42 iteratorArcs_tmp++ , E = (iteratorArcs_tmp != G21graph_tmp->GetArcs().end() && iteratorArcs_tmp->second != NULL) ? M->GetMCEdge(iteratorArcs_tmp->second) : NULL )
45 #define MCBODY_FOR_EACH_MCFACE(M,F)\
46 HypergraphLib::Graph *G21graph_tmp=M->G21(); \
47 CAD4FE::MCFace * F=M->GetMCFace(G21graph_tmp->GetNodes().begin()->second); \
48 if (G21graph_tmp->GetNodes().size() != 0)\
49 for (HypergraphLib::Graph::MapNodesById::const_iterator iteratorNodes_tmp = G21graph_tmp->GetNodes().begin() \
52 iteratorNodes_tmp++ , F = (iteratorNodes_tmp != G21graph_tmp->GetNodes().end()) ? M->GetMCFace(iteratorNodes_tmp->second) : NULL )
55 #define MCBODY_FOR_EACH_MCVERTEX(M,V)\
56 HypergraphLib::Graph *G10graph_tmp=M->G10();\
57 CAD4FE::MCVertex * V=M->GetMCVertex(G10graph_tmp->GetArcs().begin()->second); \
58 if (G10graph_tmp->GetArcs().size() != 0) \
59 for (HypergraphLib::Graph::MapArcsById::const_iterator iteratorArcs_tmp = G10graph_tmp->GetArcs().begin() \
62 iteratorArcs_tmp++ , V = (iteratorArcs_tmp != G10graph_tmp->GetArcs().end()) ? M->GetMCVertex(iteratorArcs_tmp->second) : NULL )
80 std::multimap < MG_FACE *, MG_FACE * >
F;
82 std::multimap < MG_ARETE *, MG_ARETE * >
E;
84 std::multimap < MG_SOMMET *, MG_SOMMET * >
V;
93 std::multimap < MCFace * , MCFace * >
F;
95 std::multimap < MCEdge * , MCEdge * >
E;
97 std::multimap < MCVertex * , MCVertex * >
V;
192 void GetFEVCount(
int * __faceCount,
int * __edgeCount,
int * __vertexCount);
196 void MCFace_GetLoops(
MCFace* __mcFace,
const std::set < Graph::Node * > & scc, std::vector < std::vector < std::pair < int, MCEdge * > > > & __loops );
221 #endif // CAD4FE_VIRTUALTOPOLOGYMODEL_H
void SuppressMCEdge(MCEdge *, MCFace *__replMCFace[3])
Graph::Graph * Face_G10SubGraph(MCFace *__mcFace)
std::map< int, MCEdge * > MapMCEdgeById
void SuppressMCVertex(MCVertex *, MCTChanges *__mctChanges=0)
MCVertex * GetMCVertex(const int) const
std::vector< std::vector< MCEdge * > > Face_GetCycles(MCFace *__mcFace)
MG_COARETE * CreateCoEdge(MCFace *mcFace, MG_BOUCLE *mcLoop, MCEdge *mcEdge)
MCVertex * CreateMCVertex(MG_SOMMET *)
void GetRefBodyFEVCount(int *__faceCount, int *__edgeCount, int *__vertexCount)
void InitializeRealGeomData()
std::multimap< MG_FACE *, MG_FACE * > F
map of old to new faces
MCBody(MG_GEOMETRIE *__refGeom, MG_VOLUME *__refBody)
void DeleteMCVertex(MCVertex *__mcVertex)
void Edge_GetVertices(MCEdge *, std::vector< MCVertex * > &__mcVertices)
void Face_GetMCVertices(MCFace *__mcFace, std::vector< MCVertex * > &__mcVertices)
int ExportBRep_CreateInteriorVertexIsolatedInFace(MCVertex *__mcVertex, MCFace *__mcFace)
MG_GEOMETRIE * GetGeometry()
void DeleteMCFace(MCFace *__mcFace)
void Merge(RTChanges &)
Merge changes.
void Graph_SetUserData(MG_ELEMENT_TOPOLOGIQUE *__topo)
int G1ToNeatoFile(Graph::Graph *__G1, char *__filename, char *__graphname)
void InitializeCopyRealToVirtualHyperGraphs()
void AddMCEdgeCovertices(MCEdge *__mcEdge, std::vector< MCVertex * > __mcVertex)
std::multimap< MG_SOMMET *, MG_SOMMET * > V
map of old to new vertices
int G2ToNeatoFile(Graph::Graph *__G2, char *__filename, char *__graphname)
Graph::Graph * G10() const
void ContractEdgeToVertex(MCEdge *__mcEdge, MCVertex *__targetVertex, std::set< MCEdge * > &, std::set< MCEdge * > &)
int DeleteBRep(MG_GESTIONNAIRE *gest, MG_GEOMETRIE *mggeo)
std::multimap< MG_ARETE *, MG_ARETE * > E
map of old to new edges
void MergeVertices(MCVertex *__deleteVertex, MCVertex *__targetVertex, std::set< MCEdge * > &edges)
int ExportBRep_MCEdgeSense(MCFace *__mcFace, MCEdge *__mcEdge)
Graph::Arc * GetG2ArcFromG1Node(const Graph::Node *) const
MCEdge * AddMCEdge(MG_ARETE *__refEdge)
void GetFEVCount(int *__faceCount, int *__edgeCount, int *__vertexCount)
MCEdge * GetMCEdge(const int) const
MCFace * AddMCFace(MG_FACE *__refFace)
std::map< int, MCVertex * > MapMCVertexById
void SplitEdge(MCEdge *__mcEdge, double __xyz[3], MCTChanges *__mctChanges=0, RTChanges *__rtChanges=0)
void DeleteMCEdgeCovertices(MCEdge *__mcEdge)
std::map< int, MCFace * > MapMCFaceById
std::set< MCFace * > Edge_GetAdjacentFaces(MCEdge *__mcEdge)
int TestInteriorVertexIsolatedInFace(MCVertex *__mcVertex, MCFace **__mcFace)
void Vertex_GetAdjacentFaces(MCVertex *__mcVertex, std::set< MCFace * > &__list)
Graph::Graph * G20() const
std::set< MCEdge * > Face_GetAdjacentEdges(MCFace *__mcFace)
bool Contains(MCFace *) const
MCVertex * AddMCVertex(MG_SOMMET *__refVertex)
MCFace * GetMCFace(const int) const
std::multimap< MCVertex *, MCVertex * > V
map of old to new vertices
std::multimap< MCFace *, MCFace * > F
map of old to new faces
Graph::Graph * G21() const
std::multimap< MCEdge *, MCEdge * > E
map of old to new edges
void Merge(MCTChanges &)
Merge changes.
void Vertex_GetAdjacentEdges(MCVertex *__mcVertex, std::vector< MCEdge * > &__list)
void DeleteMCEdge(MCEdge *__mcEdge)
double EvaluateBoundaryShape(Graph::Arc *__arcG2V, double __RMin)
void MCFace_GetLoops(MCFace *__mcFace, const std::set< Graph::Node * > &scc, std::vector< std::vector< std::pair< int, MCEdge * > > > &__loops)
std::vector< std::vector< MCEdge * > > Face_GetUnsortedLoops(MCFace *__mcFace)