From: bangerth Date: Sun, 10 Sep 2006 01:20:12 +0000 (+0000) Subject: Convert vertex numbers in CellData to unsigned integers. Fix all the consequences. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2e8d9fe5574ead8f573c173d74cb3f76ced4bf6f;p=dealii-svn.git Convert vertex numbers in CellData to unsigned integers. Fix all the consequences. git-svn-id: https://svn.dealii.org/trunk@13877 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/grid/tria.h b/deal.II/deal.II/include/grid/tria.h index 033a1430d3..f10f0335c2 100644 --- a/deal.II/deal.II/include/grid/tria.h +++ b/deal.II/deal.II/include/grid/tria.h @@ -58,7 +58,7 @@ struct CellData * Indices of the vertices of * this cell. */ - int vertices[GeometryInfo::vertices_per_cell]; + unsigned int vertices[GeometryInfo::vertices_per_cell]; /** * Material indicator of this diff --git a/deal.II/deal.II/source/grid/grid_in.cc b/deal.II/deal.II/source/grid/grid_in.cc index 7d4b6ade04..ee28d683c7 100644 --- a/deal.II/deal.II/source/grid/grid_in.cc +++ b/deal.II/deal.II/source/grid/grid_in.cc @@ -126,7 +126,7 @@ void GridIn::read_ucd (std::istream &in) { // no such vertex index AssertThrow (false, ExcInvalidVertexIndex(cell, cells.back().vertices[i])); - cells.back().vertices[i] = -1; + cells.back().vertices[i] = deal_II_numbers::invalid_unsigned_int; }; } else @@ -152,7 +152,8 @@ void GridIn::read_ucd (std::istream &in) AssertThrow (false, ExcInvalidVertexIndex(cell, subcelldata.boundary_lines.back().vertices[i])); - subcelldata.boundary_lines.back().vertices[i] = -1; + subcelldata.boundary_lines.back().vertices[i] + = deal_II_numbers::invalid_unsigned_int; }; } else @@ -181,7 +182,8 @@ void GridIn::read_ucd (std::istream &in) Assert (false, ExcInvalidVertexIndex(cell, subcelldata.boundary_quads.back().vertices[i])); - subcelldata.boundary_quads.back().vertices[i] = -1; + subcelldata.boundary_quads.back().vertices[i] = + deal_II_numbers::invalid_unsigned_int; }; } @@ -660,7 +662,7 @@ void GridIn::read_msh (std::istream &in) { // no such vertex index AssertThrow (false, ExcInvalidVertexIndex(cell, cells.back().vertices[i])); - cells.back().vertices[i] = -1; + cells.back().vertices[i] = deal_II_numbers::invalid_unsigned_int; }; } else @@ -686,7 +688,8 @@ void GridIn::read_msh (std::istream &in) AssertThrow (false, ExcInvalidVertexIndex(cell, subcelldata.boundary_lines.back().vertices[i])); - subcelldata.boundary_lines.back().vertices[i] = -1; + subcelldata.boundary_lines.back().vertices[i] = + deal_II_numbers::invalid_unsigned_int; }; } else @@ -715,7 +718,8 @@ void GridIn::read_msh (std::istream &in) Assert (false, ExcInvalidVertexIndex(cell, subcelldata.boundary_quads.back().vertices[i])); - subcelldata.boundary_quads.back().vertices[i] = -1; + subcelldata.boundary_quads.back().vertices[i] = + deal_II_numbers::invalid_unsigned_int; }; } diff --git a/deal.II/deal.II/source/grid/grid_reordering.cc b/deal.II/deal.II/source/grid/grid_reordering.cc index 1ffc1ca3e9..0fcb4d0a9f 100644 --- a/deal.II/deal.II/source/grid/grid_reordering.cc +++ b/deal.II/deal.II/source/grid/grid_reordering.cc @@ -1451,7 +1451,7 @@ GridReordering<3>::invert_all_cells_of_negative_grid( const std::vector > &all_vertices, std::vector > &cells) { - int vertices_lex[GeometryInfo<3>::vertices_per_cell]; + unsigned int vertices_lex[GeometryInfo<3>::vertices_per_cell]; unsigned int n_negative_cells=0; for (unsigned int cell_no=0; cell_no::create_triangulation (const std::vector > &v, for (unsigned int cell=0; cell(vertices.size())))) + if ( ! (cells[cell].vertices[vertex]::create_triangulation (const std::vector > &v, // check whether vertex indices // are valid ones for (unsigned int vertex=0; vertex::vertices_per_cell; ++vertex) - if (! ((0<=cells[cell].vertices[vertex]) && - (cells[cell].vertices[vertex](vertices.size())))) + if (! (cells[cell].vertices[vertex] < vertices.size())) { // store the number of // vertices, as this diff --git a/deal.II/deal.II/source/grid/tria_accessor.cc b/deal.II/deal.II/source/grid/tria_accessor.cc index 430e97833c..7c447b8560 100644 --- a/deal.II/deal.II/source/grid/tria_accessor.cc +++ b/deal.II/deal.II/source/grid/tria_accessor.cc @@ -1595,7 +1595,7 @@ Point<3> TriaObjectAccessor<3, 3>::barycenter () const template <> double TriaObjectAccessor<3, 3>::measure () const { - static int vertex_indices[GeometryInfo<3>::vertices_per_cell]; + static unsigned int vertex_indices[GeometryInfo<3>::vertices_per_cell]; for (unsigned int i=0; i::vertices_per_cell; ++i) vertex_indices[i]=vertex_index(i); diff --git a/deal.II/doc/news/changes.html b/deal.II/doc/news/changes.html index 841131cf8f..2fed0e0fed 100644 --- a/deal.II/doc/news/changes.html +++ b/deal.II/doc/news/changes.html @@ -44,6 +44,14 @@ inconvenience this causes.
    +
  1. + Changed: Indices, such as vertex indices, are usually represented by + unsigned integers in deal.II. One place where we didn't do this was in + the CellData structure that can be used to describe cells + when building a triangulation. This has now been rectified. +
    + (WB 2006/09/06) +

  2. Changed: Lower dimensional objects have been removed from the