This commit is made on behalf of Mark Olesen.
commit78258fb7d55362def0f04d5965ae8fac4df2106d
authorhenry <henry>
Wed, 9 Dec 2009 13:46:50 +0000 (9 13:46 +0000)
committerhenry <henry>
Wed, 9 Dec 2009 13:46:50 +0000 (9 13:46 +0000)
tree616f126ae99e4d57f100cf8fa7a94713fe022c8d
parent43a1b37029eed92c267d9664f67b9b289001674e
This commit is made on behalf of Mark Olesen.

Adding spline information missing from commit 50ef9fa47fb8aa00f8ee085c1cd5064c5438c018 :

Removed (broken) legacy splines code and use Catmull-Rom splines instead

- selectable in blockMesh as 'spline'

- compatibility:
  * 'polySpline' and 'simpleSpline' accepted, but deprecated
  * detect and discard end tangent specifications

The end tangents are handled automatically by point reflection.
This works well for most cases.

- a BSpline is also included (eg, for future support of NURBS), but is
  not selectable from blockMesh since it really isn't as nice as the
  Catmull-Rom (ie, doesn't *exactly* go through each point).

The advantages compared to the previous B-Spline implementation:

- Doesn't need a matrix solver.
- The coding resembles something that can be found in the literature.
- In contrast to the previous B-Spline implementation, it is fairly clear
  what is actually going on.
- Catmull-Rom splines seem to be what all the graphics people have as
  their stable workhorse.
applications/utilities/mesh/generation/blockMesh/curvedEdges/CatmullRomSpline.H