Skip to content

Commit c6888ba

Browse files
committed
Implements getCommonBlock method
1 parent 26e7f41 commit c6888ba

1 file changed

Lines changed: 37 additions & 1 deletion

File tree

src/Core/Topo/CommandNewTopo.cpp

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,43 @@ Topo::Block* CommandNewTopo::getCommonBlock(const Mgx3D::Topo::Vertex *v0, const
400400
const Mgx3D::Topo::Vertex *v2, const Mgx3D::Topo::Vertex *v3,
401401
const Mgx3D::Topo::Vertex *v4, const Mgx3D::Topo::Vertex *v5,
402402
const Mgx3D::Topo::Vertex *v6, const Mgx3D::Topo::Vertex *v7) {
403-
throw TkUtil::Exception (TkUtil::UTF8String ("CommandNewTopo la construction des blocs n'est pas prise en compte", TkUtil::Charset::UTF_8));
403+
404+
std::vector<Block*> v0_blks = v0->getBlocks();
405+
std::vector<Block*> v1_blks = v1->getBlocks();
406+
std::vector<Block*> v2_blks = v2->getBlocks();
407+
std::vector<Block*> v3_blks = v3->getBlocks();
408+
std::vector<Block*> v4_blks = v4->getBlocks();
409+
std::vector<Block*> v5_blks = v5->getBlocks();
410+
std::vector<Block*> v6_blks = v6->getBlocks();
411+
std::vector<Block*> v7_blks = v7->getBlocks();
412+
413+
for(auto v0_b : v0_blks){
414+
for(auto v1_b : v1_blks){
415+
for(auto v2_b : v2_blks){
416+
for(auto v3_b : v3_blks){
417+
for(auto v4_b : v4_blks){
418+
for(auto v5_b : v5_blks){
419+
for(auto v6_b : v6_blks){
420+
for(auto v7_b : v7_blks){
421+
if (v0_b->getName() == v1_b->getName() &&
422+
v0_b->getName() == v2_b->getName() &&
423+
v0_b->getName() == v3_b->getName() &&
424+
v0_b->getName() == v4_b->getName() &&
425+
v0_b->getName() == v5_b->getName() &&
426+
v0_b->getName() == v6_b->getName() &&
427+
v0_b->getName() == v7_b->getName()) {
428+
return v0_b;
429+
}
430+
}
431+
}
432+
}
433+
}
434+
}
435+
}
436+
}
437+
}
438+
439+
return nullptr;
404440
}
405441
/*----------------------------------------------------------------------------*/
406442
} // end namespace Topo

0 commit comments

Comments
 (0)