From: kanschat Date: Tue, 29 May 2007 18:22:34 +0000 (+0000) Subject: remove more specializations X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=df79f92262fac38f002e3ad003c51be8db93e233;p=dealii-svn.git remove more specializations git-svn-id: https://svn.dealii.org/trunk@14727 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/grid/tria_accessor.h b/deal.II/deal.II/include/grid/tria_accessor.h index 325f769382..89f3505212 100644 --- a/deal.II/deal.II/include/grid/tria_accessor.h +++ b/deal.II/deal.II/include/grid/tria_accessor.h @@ -1779,10 +1779,11 @@ class TriaObjectAccessor<1, dim> : public TriaAccessor<1,dim> void operator -- (); /** - * Access to the lines of a - * Triangulation. This function - * is specialized for dim==1 - * because lines are stored in + * Access to the other objects of + * a Triangulation with same + * dimension. This function is + * specialized for dim==1 because + * lines are stored in * TriaLevel<1> for dim==1 but in * TriaFace for dim!=1. All * accessor functions using this @@ -1790,7 +1791,7 @@ class TriaObjectAccessor<1, dim> : public TriaAccessor<1,dim> * for all dim without * specialization. */ - internal::Triangulation::TriaObjects > & lines() const; + internal::Triangulation::TriaObjects > & objects() const; private: @@ -2433,9 +2434,10 @@ class TriaObjectAccessor<2, dim> : public TriaAccessor<2,dim> void operator -- (); /** - * Access to the quads of a - * Triangulation. This function - * is specialized for dim==2 and + * Access to the other objects of + * a Triangulation of same + * dimension. This function is + * specialized for dim==2 and * dim==3 because quads are * stored in TriaLevel<2> for * dim==2 but in TriaFace<3> for @@ -2444,7 +2446,7 @@ class TriaObjectAccessor<2, dim> : public TriaAccessor<2,dim> * implemented for all dimensions * without specialization. */ - internal::Triangulation::TriaObjects > & quads() const; + internal::Triangulation::TriaObjects > & objects() const; private: @@ -3547,22 +3549,15 @@ class CellAccessor : public TriaObjectAccessor template <> Point<2> TriaObjectAccessor<2, 2>::barycenter () const; template <> Point<3> TriaObjectAccessor<2, 3>::barycenter () const; template <> Point<3> TriaObjectAccessor<3, 3>::barycenter () const; -template <> internal::Triangulation::TriaObjects > &TriaObjectAccessor<1, 1>::lines() const; -template <> internal::Triangulation::TriaObjects > &TriaObjectAccessor<2, 2>::quads() const; +template <> internal::Triangulation::TriaObjects >& +TriaObjectAccessor<1, 1>::objects() const; +template <> internal::Triangulation::TriaObjects >& +TriaObjectAccessor<2, 2>::objects() const; template <> bool CellAccessor<1>::at_boundary () const; -template <> unsigned char CellAccessor<1>::material_id () const; -template <> void CellAccessor<1>::set_material_id (const unsigned char mat_id) const; -template <> void CellAccessor<1>::recursively_set_material_id (const unsigned char mat_id) const; template <> bool CellAccessor<1>::point_inside (const Point<1> &p) const; template <> bool CellAccessor<2>::at_boundary () const; -template <> unsigned char CellAccessor<2>::material_id () const; -template <> void CellAccessor<2>::set_material_id (const unsigned char mat_id) const; -template <> void CellAccessor<2>::recursively_set_material_id (const unsigned char mat_id) const; template <> bool CellAccessor<2>::point_inside (const Point<2> &p) const; template <> bool CellAccessor<3>::at_boundary () const; -template <> unsigned char CellAccessor<3>::material_id () const; -template <> void CellAccessor<3>::set_material_id (const unsigned char mat_id) const; -template <> void CellAccessor<3>::recursively_set_material_id (const unsigned char mat_id) const; template <> bool CellAccessor<3>::point_inside (const Point<3> &) const; template <> bool CellAccessor<1>::has_boundary_lines () const; diff --git a/deal.II/deal.II/include/grid/tria_accessor.templates.h b/deal.II/deal.II/include/grid/tria_accessor.templates.h index 15549f863c..31769431e6 100644 --- a/deal.II/deal.II/include/grid/tria_accessor.templates.h +++ b/deal.II/deal.II/include/grid/tria_accessor.templates.h @@ -250,7 +250,7 @@ TriaObjectAccessor (const Triangulation *parent, template <> inline internal::Triangulation::TriaObjects & -TriaObjectAccessor<1,1>::lines() const +TriaObjectAccessor<1,1>::objects() const { return this->tria->levels[this->present_level]->cells; } @@ -260,7 +260,7 @@ TriaObjectAccessor<1,1>::lines() const template inline internal::Triangulation::TriaObjects & -TriaObjectAccessor<1,dim>::lines() const +TriaObjectAccessor<1,dim>::objects() const { return this->tria->faces->lines; } @@ -274,7 +274,7 @@ TriaObjectAccessor<1,dim>::used () const { Assert (this->state() == IteratorState::valid, TriaAccessorExceptions::ExcDereferenceInvalidObject()); - return lines().used[this->present_index]; + return objects().used[this->present_index]; } @@ -285,7 +285,7 @@ bool TriaObjectAccessor<1,dim>::user_flag_set () const { Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - return lines().user_flags[this->present_index]; + return objects().user_flags[this->present_index]; } @@ -296,7 +296,7 @@ void TriaObjectAccessor<1,dim>::set_user_flag () const { Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - lines().user_flags[this->present_index] = true; + objects().user_flags[this->present_index] = true; } @@ -307,7 +307,7 @@ void TriaObjectAccessor<1,dim>::clear_user_flag () const { Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - lines().user_flags[this->present_index] = false; + objects().user_flags[this->present_index] = false; } @@ -319,7 +319,7 @@ TriaObjectAccessor<1,dim>::has_children () const { Assert (this->state() == IteratorState::valid, TriaAccessorExceptions::ExcDereferenceInvalidObject()); - return (lines().children[this->present_index] != -1); + return (objects().children[this->present_index] != -1); } @@ -331,7 +331,7 @@ TriaObjectAccessor<1,dim>::child_index (unsigned const int i) const { Assert (i<2, ExcIndexRange(i,0,2)); Assert (has_children(), TriaAccessorExceptions::ExcCellHasNoChildren()); - return lines().children[this->present_index]+i; + return objects().children[this->present_index]+i; } @@ -532,7 +532,7 @@ TriaObjectAccessor (const Triangulation *parent, template <> inline internal::Triangulation::TriaObjects & -TriaObjectAccessor<2,2>::quads() const +TriaObjectAccessor<2,2>::objects() const { return this->tria->levels[this->present_level]->cells; } @@ -542,7 +542,7 @@ TriaObjectAccessor<2,2>::quads() const template inline internal::Triangulation::TriaObjects & -TriaObjectAccessor<2,dim>::quads() const +TriaObjectAccessor<2,dim>::objects() const { return this->tria->faces->quads; } @@ -556,7 +556,7 @@ TriaObjectAccessor<2,dim>::used () const { Assert (this->state() == IteratorState::valid, TriaAccessorExceptions::ExcDereferenceInvalidObject()); - return quads().used[this->present_index]; + return objects().used[this->present_index]; } @@ -567,7 +567,7 @@ bool TriaObjectAccessor<2,dim>::user_flag_set () const { Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - return quads().user_flags[this->present_index]; + return objects().user_flags[this->present_index]; } @@ -578,7 +578,7 @@ void TriaObjectAccessor<2,dim>::set_user_flag () const { Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - quads().user_flags[this->present_index] = true; + objects().user_flags[this->present_index] = true; } @@ -589,7 +589,7 @@ void TriaObjectAccessor<2,dim>::clear_user_flag () const { Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - quads().user_flags[this->present_index] = false; + objects().user_flags[this->present_index] = false; } @@ -616,7 +616,7 @@ unsigned int TriaObjectAccessor<2,dim>::line_index (const unsigned int i) const { Assert (i<4, ExcIndexRange(i,0,4)); - return quads().cells[this->present_index].face(i); + return objects().cells[this->present_index].face(i); } @@ -628,7 +628,7 @@ TriaObjectAccessor<2,dim>::has_children () const { Assert (this->state() == IteratorState::valid, TriaAccessorExceptions::ExcDereferenceInvalidObject()); - return (quads().children[this->present_index] != -1); + return (objects().children[this->present_index] != -1); } @@ -639,7 +639,7 @@ int TriaObjectAccessor<2,dim>::child_index (const unsigned int i) const { Assert (i<4, ExcIndexRange(i,0,4)); Assert (has_children(), TriaAccessorExceptions::ExcCellHasNoChildren()); - return quads().children[this->present_index]+i; + return objects().children[this->present_index]+i; } @@ -725,7 +725,7 @@ inline bool TriaObjectAccessor<2,3>::line_orientation (const unsigned int line) const { - // we cannot use the quads() function here, + // we cannot use the objects() function here, // since it returns a reference to // TriaObjects, but we need a // (reference to) TriaObjectsQuad3D @@ -762,7 +762,7 @@ TriaObjectAccessor<2,dim>::operator ++ () // has no level) if (this->present_index >= - static_cast(quads().cells.size())) + static_cast(objects().cells.size())) this->present_index = -1; } @@ -778,7 +778,7 @@ TriaObjectAccessor<2,2>::operator ++ () // the vector? while (this->present_index >= - static_cast(quads().cells.size())) + static_cast(objects().cells.size())) { // no -> go one level up ++this->present_level; @@ -831,7 +831,7 @@ TriaObjectAccessor<2,2>::operator -- () return; } // else - this->present_index = quads().cells.size()-1; + this->present_index = objects().cells.size()-1; } } diff --git a/deal.II/deal.II/source/grid/tria_accessor.cc b/deal.II/deal.II/source/grid/tria_accessor.cc index 243e6a2d95..26efef1a27 100644 --- a/deal.II/deal.II/source/grid/tria_accessor.cc +++ b/deal.II/deal.II/source/grid/tria_accessor.cc @@ -41,7 +41,7 @@ template void TriaObjectAccessor<1, dim>::set (const internal::Triangulation::Line &line) const { - lines().cells[this->present_index] = line; + objects().cells[this->present_index] = line; } @@ -50,7 +50,7 @@ template int TriaObjectAccessor<1, dim>::vertex_index (const unsigned int i) const { Assert (i<2, ExcIndexRange(i,0,2)); - return lines().cells[this->present_index].face (i); + return objects().cells[this->present_index].face (i); } @@ -69,7 +69,7 @@ void TriaObjectAccessor<1, dim>::set_used_flag () const { Assert (this->state() == IteratorState::valid, TriaAccessorExceptions::ExcDereferenceInvalidObject()); - lines().used[this->present_index] = true; + objects().used[this->present_index] = true; } @@ -79,7 +79,7 @@ void TriaObjectAccessor<1, dim>::clear_used_flag () const { Assert (this->state() == IteratorState::valid, TriaAccessorExceptions::ExcDereferenceInvalidObject()); - lines().used[this->present_index] = false; + objects().used[this->present_index] = false; } @@ -112,7 +112,7 @@ template void TriaObjectAccessor<1, dim>::set_user_pointer (void *p) const { Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - lines().user_pointer(this->present_index) = p; + objects().user_pointer(this->present_index) = p; } @@ -121,7 +121,7 @@ template void TriaObjectAccessor<1, dim>::clear_user_pointer () const { Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - lines().user_pointer(this->present_index) = 0; + objects().user_pointer(this->present_index) = 0; } @@ -130,7 +130,7 @@ template void * TriaObjectAccessor<1, dim>::user_pointer () const { Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - return lines().user_pointer(this->present_index); + return objects().user_pointer(this->present_index); } @@ -165,7 +165,7 @@ template void TriaObjectAccessor<1, dim>::set_user_index (unsigned int p) const { Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - lines().user_index(this->present_index) = p; + objects().user_index(this->present_index) = p; } @@ -174,7 +174,7 @@ template void TriaObjectAccessor<1, dim>::clear_user_index () const { Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - lines().user_index(this->present_index) = 0; + objects().user_index(this->present_index) = 0; } @@ -183,7 +183,7 @@ template unsigned int TriaObjectAccessor<1, dim>::user_index () const { Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - return lines().user_index(this->present_index); + return objects().user_index(this->present_index); } @@ -222,7 +222,7 @@ void TriaObjectAccessor<1, dim>::set_children (const int index) const (!has_children() && (index>=0)), TriaAccessorExceptions::ExcCantSetChildren(index)); - lines().children[this->present_index] = index; + objects().children[this->present_index] = index; } @@ -241,7 +241,7 @@ unsigned char TriaObjectAccessor<1, dim>::boundary_indicator () const Assert (dim>=2, ExcImpossibleInDim(dim)); Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - return lines().material_id[this->present_index]; + return objects().material_id[this->present_index]; } @@ -252,7 +252,7 @@ void TriaObjectAccessor<1, dim>::set_boundary_indicator (const unsigned char bou Assert (dim>=2, ExcImpossibleInDim(dim)); Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - lines().material_id[this->present_index] = boundary_ind; + objects().material_id[this->present_index] = boundary_ind; } @@ -325,7 +325,7 @@ template void TriaObjectAccessor<2, dim>::set (const internal::Triangulation::Quad &quad) const { - quads().cells[this->present_index] = quad; + objects().cells[this->present_index] = quad; } @@ -366,7 +366,7 @@ TriaObjectAccessor<2, dim>::set_used_flag () const { Assert (this->state() == IteratorState::valid, TriaAccessorExceptions::ExcDereferenceInvalidObject()); - quads().used[this->present_index] = true; + objects().used[this->present_index] = true; } @@ -376,7 +376,7 @@ void TriaObjectAccessor<2, dim>::clear_used_flag () const { Assert (this->state() == IteratorState::valid, TriaAccessorExceptions::ExcDereferenceInvalidObject()); - quads().used[this->present_index] = false; + objects().used[this->present_index] = false; } @@ -409,7 +409,7 @@ template void TriaObjectAccessor<2, dim>::set_user_pointer (void *p) const { Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - quads().user_pointer(this->present_index) = p; + objects().user_pointer(this->present_index) = p; } @@ -418,7 +418,7 @@ template void TriaObjectAccessor<2, dim>::clear_user_pointer () const { Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - quads().user_pointer(this->present_index) = 0; + objects().user_pointer(this->present_index) = 0; } @@ -427,7 +427,7 @@ template void * TriaObjectAccessor<2, dim>::user_pointer () const { Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - return quads().user_pointer(this->present_index); + return objects().user_pointer(this->present_index); } @@ -462,7 +462,7 @@ template void TriaObjectAccessor<2, dim>::set_user_index (unsigned int p) const { Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - quads().user_index(this->present_index) = p; + objects().user_index(this->present_index) = p; } @@ -471,7 +471,7 @@ template void TriaObjectAccessor<2, dim>::clear_user_index () const { Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - quads().user_index(this->present_index) = 0; + objects().user_index(this->present_index) = 0; } @@ -480,7 +480,7 @@ template unsigned int TriaObjectAccessor<2, dim>::user_index () const { Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - return quads().user_index(this->present_index); + return objects().user_index(this->present_index); } @@ -520,7 +520,7 @@ void TriaObjectAccessor<2, dim>::set_children (const int index) const (!has_children() && (index>=0)), TriaAccessorExceptions::ExcCantSetChildren(index)); - quads().children[this->present_index] = index; + objects().children[this->present_index] = index; } @@ -539,7 +539,7 @@ unsigned char TriaObjectAccessor<2, dim>::boundary_indicator () const Assert (dim>2, ExcImpossibleInDim(dim)); Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - return quads().material_id[this->present_index]; + return objects().material_id[this->present_index]; } @@ -550,7 +550,7 @@ void TriaObjectAccessor<2, dim>::set_boundary_indicator (const unsigned char bou Assert (dim>2, ExcImpossibleInDim(dim)); Assert (used(), TriaAccessorExceptions::ExcCellNotUsed()); - quads().material_id[this->present_index] = boundary_ind; + objects().material_id[this->present_index] = boundary_ind; } @@ -1916,36 +1916,6 @@ bool CellAccessor<1>::at_boundary () const -template <> -unsigned char CellAccessor<1>::material_id () const -{ - Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - return lines().material_id[this->present_index]; -} - - - -template <> -void CellAccessor<1>::set_material_id (const unsigned char mat_id) const -{ - Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - lines().material_id[this->present_index] = mat_id; -} - - - -template <> -void CellAccessor<1>::recursively_set_material_id (const unsigned char mat_id) const -{ - set_material_id (mat_id); - - if (this->has_children()) - for (unsigned int c=0; c<2; ++c) - child(c)->recursively_set_material_id (mat_id); -} - - - template <> bool CellAccessor<1>::point_inside (const Point<1> &p) const { @@ -1980,36 +1950,6 @@ bool CellAccessor<2>::at_boundary () const -template <> -unsigned char CellAccessor<2>::material_id () const -{ - Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - return quads().material_id[this->present_index]; -} - - - -template <> -void CellAccessor<2>::set_material_id (const unsigned char mat_id) const -{ - Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - quads().material_id[this->present_index] = mat_id; -} - - - -template <> -void CellAccessor<2>::recursively_set_material_id (const unsigned char mat_id) const -{ - set_material_id (mat_id); - - if (this->has_children()) - for (unsigned int c=0; crecursively_set_material_id (mat_id); -} - - - template <> bool CellAccessor<2>::point_inside (const Point<2> &p) const { @@ -2083,34 +2023,6 @@ bool CellAccessor<3>::at_boundary () const -template <> -unsigned char CellAccessor<3>::material_id () const -{ - Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - return this->tria->levels[this->present_level]->cells.material_id[this->present_index]; -} - -template <> -void CellAccessor<3>::set_material_id (const unsigned char mat_id) const -{ - Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed()); - this->tria->levels[this->present_level]->cells.material_id[this->present_index] - = mat_id; -} - - -template <> -void CellAccessor<3>::recursively_set_material_id (const unsigned char mat_id) const -{ - set_material_id (mat_id); - - if (this->has_children()) - for (unsigned int c=0; crecursively_set_material_id (mat_id); -} - - - template <> bool CellAccessor<3>::point_inside (const Point<3> &p) const { @@ -2155,6 +2067,36 @@ bool CellAccessor<3>::point_inside (const Point<3> &p) const /*------------------------ Functions: CellAccessor -----------------------*/ +template +unsigned char CellAccessor::material_id () const +{ + Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed()); + return this->tria->levels[this->present_level]->cells.material_id[this->present_index]; +} + + + +template +void CellAccessor::set_material_id (const unsigned char mat_id) const +{ + Assert (this->used(), TriaAccessorExceptions::ExcCellNotUsed()); + this->tria->levels[this->present_level]->cells.material_id[this->present_index] = mat_id; +} + + + +template +void CellAccessor::recursively_set_material_id (const unsigned char mat_id) const +{ + set_material_id (mat_id); + + if (this->has_children()) + for (unsigned int c=0; c<2; ++c) + child(c)->recursively_set_material_id (mat_id); +} + + + template unsigned int CellAccessor::subdomain_id () const {