X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FMesh.cxx;h=216f3b3ac9cf61b4300789d920d2cb3c21d6dfa0;hb=e6bef8234ffd9030c68a6786466a08cf144b7871;hp=76ba6dd22fc356253c9f2e20e351172fcacf0c2c;hpb=b445d953049ba15290197549dcd4e31367e3c8a5;p=cpPlugins.git diff --git a/lib/cpPlugins/Mesh.cxx b/lib/cpPlugins/Mesh.cxx index 76ba6dd..216f3b3 100644 --- a/lib/cpPlugins/Mesh.cxx +++ b/lib/cpPlugins/Mesh.cxx @@ -43,54 +43,50 @@ SetVTK( vtkObjectBase* o ) this->m_VTKObject = mesh; // Copy points - /* TODO - _TMesh::Pointer imesh = _TMesh::New( ); - double point[ 3 ]; - for( long i = 0; i < mesh->GetNumberOfPoints( ); ++i ) - { - mesh->GetPoint( i, point ); - _TMesh::PointType ipoint; - ipoint[ 0 ] = point[ 0 ]; - ipoint[ 1 ] = point[ 1 ]; - ipoint[ 2 ] = point[ 2 ]; - imesh->SetPoint( i, ipoint ); - - } // rof - - // Copy cells - for( long i = 0; i < mesh->GetNumberOfCells( ); ++i ) - { - auto cell = mesh->GetCell( i ); - long nPoints = cell->GetNumberOfPoints( ); - _TCellAutoPointer icell; - if( nPoints == 2 ) - { - icell.TakeOwnership( new _TLine ); - icell->SetPointId( 0, cell->GetPointId( 0 ) ); - icell->SetPointId( 1, cell->GetPointId( 1 ) ); - } - else if( nPoints == 3 ) - { - icell.TakeOwnership( new _TTriangle ); - icell->SetPointId( 0, cell->GetPointId( 0 ) ); - icell->SetPointId( 1, cell->GetPointId( 1 ) ); - icell->SetPointId( 2, cell->GetPointId( 2 ) ); - } - else if( nPoints > 3 ) - { - _TPolygon* polygon = new _TPolygon( ); - for( long j = 0; j < nPoints; ++j ) - polygon->AddPointId( cell->GetPointId( j ) ); - icell.TakeOwnership( polygon ); - - } // fi - imesh->SetCell( imesh->GetNumberOfCells( ), icell ); - - } // rof - - this->m_ITKObject = imesh; - */ - this->m_ITKObject = NULL; // TODO: replace this + _TMesh::Pointer imesh = _TMesh::New( ); + double point[ 3 ]; + for( long i = 0; i < mesh->GetNumberOfPoints( ); ++i ) + { + mesh->GetPoint( i, point ); + _TMesh::PointType ipoint; + ipoint[ 0 ] = point[ 0 ]; + ipoint[ 1 ] = point[ 1 ]; + ipoint[ 2 ] = point[ 2 ]; + imesh->SetPoint( i, ipoint ); + + } // rof + + // Copy cells + for( long i = 0; i < mesh->GetNumberOfCells( ); ++i ) + { + auto cell = mesh->GetCell( i ); + long nPoints = cell->GetNumberOfPoints( ); + _TCellAutoPointer icell; + if( nPoints == 2 ) + { + icell.TakeOwnership( new _TLine ); + icell->SetPointId( 0, cell->GetPointId( 0 ) ); + icell->SetPointId( 1, cell->GetPointId( 1 ) ); + } + else if( nPoints == 3 ) + { + icell.TakeOwnership( new _TTriangle ); + icell->SetPointId( 0, cell->GetPointId( 0 ) ); + icell->SetPointId( 1, cell->GetPointId( 1 ) ); + icell->SetPointId( 2, cell->GetPointId( 2 ) ); + } + else if( nPoints > 3 ) + { + _TPolygon* polygon = new _TPolygon( ); + for( long j = 0; j < nPoints; ++j ) + polygon->AddPointId( cell->GetPointId( j ) ); + icell.TakeOwnership( polygon ); + + } // fi + imesh->SetCell( imesh->GetNumberOfCells( ), icell ); + + } // rof + this->m_ITKObject = imesh; this->Modified( ); } // fi