On Thu, Jan 2, 2014 at 12:45 PM, Roy Stogner <royst...@ices.utexas.edu>wrote:
>
> Some static analysis tools pointed me to a few problems with the
> Elem::SideIter class - basically there's a correctness mistake that's
> masked by a performance mistake.
>
> This is fixable, but this is also code that I find literally no usage
> of in the rest of the library or our example apps. I'm not sure
> what's the better option: fix the SideIter code, or simplify the API
> by deprecating the SideIter code now and removing it eventually?
>
I did a cursory search and we don't use boundary_sides_begin/end() at all,
so I think I'd be fine deprecating it.
I can't recall exactly, but I think I wrote this code to demonstrate the
use of Predicate iterators beyond the Mesh class, and not for any
particular application.
909 jwpeterson /**
909 jwpeterson * The protected nested SideIter class is used to
iterate over the
909 jwpeterson * sides of this Elem. It is a specially designed
class since
909 jwpeterson * no sides are actually stored by the element. This
iterator-like
909 jwpeterson * class has to provide the following three operations
909 jwpeterson * 1) operator*
909 jwpeterson * 2) operator++
909 jwpeterson * 3) operator==
909 jwpeterson * The definition can be found at the end of this
header file.
909 jwpeterson */
r909 is from 2004!
$ svn log -v -r909
------------------------------------------------------------------------
r909 | jwpeterson | 2004-11-22 14:32:36 -0700 (Mon, 22 Nov 2004) | 4 lines
Changed paths:
M /trunk/libmesh/.depend
M /trunk/libmesh/include/base/multi_predicates.h
M /trunk/libmesh/include/base/single_predicates.h
M /trunk/libmesh/include/geom/elem.h
M /trunk/libmesh/include/mesh/mesh_base.h
M /trunk/libmesh/include/mesh/mesh_modification.h
M /trunk/libmesh/src/geom/elem.C
D /trunk/libmesh/src/mesh/mesh_base_modification.C
M /trunk/libmesh/src/mesh/mesh_iterators.C
M /trunk/libmesh/src/mesh/mesh_modification.C
Moved the all_tri() function to the MeshTools::Modification namespace.
Also added the SideIter class as nested class of the Elem to allow for
iteration over the sides of
an element. This code is not extensively tested yet, and is not used
anywhere yet. More to come soon.
--
John
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel