@@ -247,7 +247,6 @@ CommandNewTopo::
247247 }
248248 }
249249 else if (m_dim == 3 ){
250-
251250 if (m_faces.size () > 0 )
252251 {
253252 Block* block = new Block (getContext (), m_faces, m_vertices, m_isStructured);
@@ -567,7 +566,42 @@ Topo::Block* CommandNewTopo::getCommonBlock(const Mgx3D::Topo::Vertex *v0, const
567566 const Mgx3D::Topo::Vertex *v4, const Mgx3D::Topo::Vertex *v5,
568567 const Mgx3D::Topo::Vertex *v6, const Mgx3D::Topo::Vertex *v7) {
569568
570- MGX_NOT_YET_IMPLEMENTED (" getCommonBlock is not yet implemented" );
569+ std::vector<Block*> v0_blks = v0->getBlocks ();
570+ std::vector<Block*> v1_blks = v1->getBlocks ();
571+ std::vector<Block*> v2_blks = v2->getBlocks ();
572+ std::vector<Block*> v3_blks = v3->getBlocks ();
573+ std::vector<Block*> v4_blks = v4->getBlocks ();
574+ std::vector<Block*> v5_blks = v5->getBlocks ();
575+ std::vector<Block*> v6_blks = v6->getBlocks ();
576+ std::vector<Block*> v7_blks = v7->getBlocks ();
577+
578+ for (auto v0_b : v0_blks){
579+ for (auto v1_b : v1_blks){
580+ for (auto v2_b : v2_blks){
581+ for (auto v3_b : v3_blks){
582+ for (auto v4_b : v4_blks){
583+ for (auto v5_b : v5_blks){
584+ for (auto v6_b : v6_blks){
585+ for (auto v7_b : v7_blks){
586+ if (v0_b->getName () == v1_b->getName () &&
587+ v0_b->getName () == v2_b->getName () &&
588+ v0_b->getName () == v3_b->getName () &&
589+ v0_b->getName () == v4_b->getName () &&
590+ v0_b->getName () == v5_b->getName () &&
591+ v0_b->getName () == v6_b->getName () &&
592+ v0_b->getName () == v7_b->getName ()) {
593+ return v0_b;
594+ }
595+ }
596+ }
597+ }
598+ }
599+ }
600+ }
601+ }
602+ }
603+
604+ return nullptr ;
571605}
572606/* ----------------------------------------------------------------------------*/
573607 } // end namespace Topo
0 commit comments