Progress Report (7/07/08) by Shawn Brown

Last Week:

Checked in spfilter code

Rewrote Quad-edge code base

  • Original code from 2 summers ago (almost got working then put on hold)
  • Contained QVertex, QFace, QEdge, QMesh classes
  • Also contained Hash Tables (QPointTable, QEdgeTable) classes
  • NOTE: Put SP(+AUX) file formats on hold to work on Quad Edge code instead...

Stripped away a lot of unnecessary code

Reworked Geometric Predicates (LeftOf, LeftOn, LeftAhead, etc.)

  • Moved into TMV_Predicate.h function

Rewrote a lot of simple methods as inline routines

Created .hxx file for hiding implementation details from users (inline methods)

Moved routines around to be more logically grouped together (original code grew organically)

Removed external dependencies

  • on my own demo code which doesn't exist in API libaries (Point2D, Point3D, Point4D, etc.)

Fixed a lot of compiler bugs and warnings

Wrote a generic template class for allocation/deallocations

  • Once working, it can eventually replace all alloc/dealloc cut & paste code throughout tools, apps, and libaries

Rewrote QuadEdge Point (& Edge) Hash tables to be more memory efficient

Rewrote all classes (QVertex, QFace, QEdge, QMesh) as templates which wrap user defined class

  • took a long time to learn how to force "typenames" to bend to my will frown
  • Since all code is now templatized, the QuadEdge.cpp file has been eliminated

Rewrote array code to use internal free lists instead of stand-a-lone free arrays

Suggestions to Catalin on how to make his Heap class more generic and usable as an Abstract Data Type (ADT).

Readings

  • Started reading the "How to Think about Algorithms", easy to read & understand
  • Started reading "Curves and Surface Recognition", harder to read & understand
    • Lots of background nomenclature & notation for me to get familiar with before comprehension sets in


This Week:

continue to work on Quad-Edge code

Rework Infinite Vertices, Faces, Edges (1 per component instead of 1 per entire mesh)

Rework code to add/remove single vertex, add/remove single edge, add/remove single face (triangle) at a time

Test, Debug, Test, Debug, Test, Debug, ...

Readings

Continue reading 2 books (see above)

Stumbled across interesting dissertation about VV (Vertex-Vertex) data structure, I will spend some time reading it

  • At first glance, appears to be vertices and 1-rings with a full algebra similar to quad-edge built on top of this concept


Next Week:

Will finish off any remaining Quad-Edge issues

Start back to work on SP(+AUX), if there is time

Vacation

  • Start Vacation to California for Family Reunion on July 19th, back on July 28th.

-- ShawnDB - 07 Jul 2008

Revision: r1.1 - 07 Jul 2008 - 20:08 - Main.guest
Main > TWikiUsers > ShawnDB > July_7_2008
Copyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback