Wild Magic 4.2 to 4.3 Update Log

//----------------------------------------------------------------------------
4.0.3 (2007/03/12) LibFoundation/Intersection/Wm4IntrTriangle3Triangle3.h

The March 7 changes required adding "using" statements to satisfy g++.
//----------------------------------------------------------------------------
4.0.2 (2007/03/07) LibFoundation/Intersection/Wm4IntrTriangle3Triangle3.h
4.0.3 (2007/03/07) LibFoundation/Intersection/Wm4IntrTriangle3Triangle3.cpp

I thought the only unfinished business was the implementation of
FindContactSet.  I had not realized IntersectsSegment was unimplemented.
Now it is.  The function signature changed, now including the already
computed plane of triangle0.
//----------------------------------------------------------------------------
4.0.1 (2007/03/07) LibFoundation/Intersection/Wm4IntrLinComp2Triangle2.cpp

GetInterval was incorrectly computing the parameter in the grazing case.
This bug was identical to the one that had been fixed some time ago in
IntrTriangle3Triangle3.
//----------------------------------------------------------------------------
4.0.3 (2007/03/07) LibFoundation/Mathematics/Wm4Vector2,h
4.0.3 (2007/03/07) LibFoundation/Mathematics/Wm4Vector2,inl
4.0.3 (2007/03/07) LibFoundation/Mathematics/Wm4Vector3,h
4.0.3 (2007/03/07) LibFoundation/Mathematics/Wm4Vector3,inl
4.0.2 (2007/03/07) LibFoundation/Mathematics/Wm4Vector4,h
4.0.2 (2007/03/07) LibFoundation/Mathematics/Wm4Vector4,inl
4.0.2 (2007/03/07) LibFoundation/Mathematics/Wm4Matrix2,h
4.0.2 (2007/03/07) LibFoundation/Mathematics/Wm4Matrix2,inl
4.0.3 (2007/03/07) LibFoundation/Mathematics/Wm4Matrix3,h
4.0.3 (2007/03/07) LibFoundation/Mathematics/Wm4Matrix3,inl
4.0.2 (2007/03/07) LibFoundation/Mathematics/Wm4Matrix4,h
4.0.2 (2007/03/07) LibFoundation/Mathematics/Wm4Matrix4,inl
4.0.1 (2007/03/07) LibFoundation/Mathematics/Wm4Quaternion,h
4.0.1 (2007/03/07) LibFoundation/Mathematics/Wm4Quaternion,inl

Added "inline" modifiers as hints to g++ so that it will try to inline the
functions.
//----------------------------------------------------------------------------
4.0.1 (2007/03/07) LibFoundation/Distance/Wm4DistVector3Circle3.cpp

m_kClosestPoint0 needed to be initialized to m_rkVector.
//----------------------------------------------------------------------------
4.0.1 (2007/02/25) LibFoundation/System/Wm4TSmallUnorderedSet.h

Changed the include guard to match the file name.  Removed the include of
Wm4Memory.h (factoring the memory manager into a separate library and
avoiding problems with #define WM4_MEMORY_MANAGER and precompiled header
systems).
//----------------------------------------------------------------------------
4.0.1 (2007/02/25) LibFoundation/ComputationalGeometry/Wm4TRational.inl

In ConvertTo(double&), the variable uiSave is initialized to zero but only
used when WM4_BIG_ENDIAN is defined.  In little endian mode, Redhat
Enterprise Linux 4 with gcc-3.4.3 complains that the variable is
uninitialized.  The variable and initialization is now wrapped in an
#ifdef WM4_BIG_ENDIAN ... #endif block.
//----------------------------------------------------------------------------
4.0.6 (2007/02/18) LibFoundation/ComputationalGeometry/Wm4TriangulateEC.cpp

The search for nearest intersection point on the ray M+t*(1,0) needed to
append M[0] onto the computed intersection point in CombinePolygons.
//----------------------------------------------------------------------------
4.0.1 (2007/02/18) LibApplications/Dx9Application/Wm4WindowApplication.h
4.0.1 (2007/02/18) LibApplications/Dx9Application/Wm4WindowApplication.inl
4.0.1 (2007/02/18) LibApplications/Dx9Application/Wm4Dx9Application.cpp
4.0.1 (2007/02/18) LibApplications/OpenGLApplication/Wm4WindowApplication.h
4.0.1 (2007/02/18) LibApplications/OpenGLApplication/Wm4WindowApplication.inl
4.0.1 (2007/02/18) LibApplications/OpenGlApplication/Wm4WglApplication.cpp
4.0.1 (2007/02/18) LibApplications/SoftApplication/Wm4WindowApplication.h
4.0.1 (2007/02/18) LibApplications/SoftApplication/Wm4WindowApplication.inl
4.0.1 (2007/02/18) LibApplications/SoftApplication/Wm4WinSoftApplication.cpp

Added support for the mouse wheel.  A new application callback function is
OnMouseWheel.
//----------------------------------------------------------------------------
4.0.1 (2007/01/27) LibApplications/Dx9Application/TreeControl/TreeControl.h
4.0.2 (2007/01/27) LibApplications/Dx9Application/TreeControl/TreeControl.cpp
4.0.1 (2007/01/27) LibApplications/OpenGLApplication/TreeControl/TreeControl.h
4.0.2 (2007/01/27) LibApplications/OpenGLApplication/TreeControl/TreeControl.cpp
4.0.1 (2007/01/27) LibApplications/SoftApplication/TreeControl/TreeControl.h
4.0.2 (2007/01/27) LibApplications/SoftApplication/TreeControl/TreeControl.cpp

Changed ms_kWinAppMap to a pointer ms_pkWinAppMap to prevent the memory
manager (Debug Memory and Release Memory configurations) from complaining
about a 28-byte memory leak.  In fact, the memory is not leaked; it is freed
after the memory manager generates its report.
//----------------------------------------------------------------------------
4.0.1 (2007/01/25) LibFoundation/Curves/Wm4SingleCurve2.cpp
4.0.1 (2007/01/25) LibFoundation/Curves/Wm4SingleCurve3.cpp
4.0.1 (2007/01/25) LibFoundation/Curves/Wm4MultipleCurve2.cpp
4.0.1 (2007/01/25) LibFoundation/Curves/Wm4MultipleCurve3.cpp

The GetTime functions returned MAX_REAL when the maximum number of iterations
was exceeded.  This condition can happen when the iterates oscillate among
a few numbers that are close to one another.  In this case, it is better to
return the last computed time.
//----------------------------------------------------------------------------
(2007/01/24) SampleFoundation/makeapp.wm4
(2007/01/24) SampleGraphics/makeapp.wm4
(2007/01/24) SampleImagics/makeapp.wm4
(2007/01/24) SamplePhysics/makeapp.wm4

Changed /usr/X11R6/include to /usr/include and /usr/X11R6/lib to /usr/lib
for the Linux configurations.  Otherwise, on Fedora Core 6 with NVidia
graphics drivers, the Mesa distribution is found first and the applications
link to software OpenGL renderers.
//----------------------------------------------------------------------------
4.0.2 (2007/01/24) LibFoundation/Mathematics/Wm4Math.h

g++ 4.1.2 complained that it needed the forward declaration of the
specialized template functions for FastInvSqrt.
//----------------------------------------------------------------------------
4.0.1 (2007/01/19) SampleFoundation/Boolean2D/Polygon2.h

Red Hat Fedora Core 5, g++ 4.1.0, does not consider the "friend class
BspTree2" a forward declaration of the class, which is needed to define
the m_pkTree member.  A forward declaration was added outside class
Polygon2.
//----------------------------------------------------------------------------
4.0.1 (2007/01/19) LibGraphics/Terrain/Wm4ClodTerrainPage.h

Red Hat Fedora Core 5, g++ 4.1.0, complained about the use of
ClodTerrainBlock.  A forward declaration of the class was added.
//----------------------------------------------------------------------------
4.0.2 (2007/01/19) LibGraphics/Rendering/Wm4Camera.h

Red Hat Fedora Core 5, g++ 4.1.0, does not consider the "friend class
Renderer" a forward declaration of the class, which is needed to define
the m_pkRenderer member.  A forward declaration was added outside class
Camera.
//----------------------------------------------------------------------------
4.0.1 (2007/01/19) LibGraphics/Effects/Wm4Effect.h

Red Hat Fedora Core 5, g++ 4.1.0, complained about the use of Spatial.  A
forward declaration of the class was added.
//----------------------------------------------------------------------------
4.0.1 (2007/01/19) LibFoundation/Mathematics/Wm4Math.cpp

Red Hat Fedora Core 5, g++ 4.1.0, complained about the namespace (using
namespace Wm4).  Switched to using "namespace Wm4 { ... }".
//----------------------------------------------------------------------------
4.0.2 (2007/01/18) LibGraphics/SceneGraph/Wm4IndexBuffer.cpp
Data/Wmof/*.wmof
Data/Terrain/SkyDome.wmof
SampleGraphics/BlendedTerrain/Data/SkyDome.wmof
SampleGraphics/Castle/Data/Castle.wmof

GetDiskUsed was missing the count of the size of m_iOffset.  The *.wmof files
had to be re-exported.
//----------------------------------------------------------------------------
4.2.0 (2007/01/17) SampleFoundation/ConstrainedDelaunay2D/ConstrainedDelaunay2D_VC80.vcproj
4.2.0 (2007/01/17) SampleFoundation/ConstrainedDelaunay2D/ConstrainedDelaunay2D.h
4.2.0 (2007/01/17) SampleFoundation/ConstrainedDelaunay2D/ConstrainedDelaunay2D.cpp

New project.  Illustration of constrained Delaunay triangulation.
//----------------------------------------------------------------------------
4.2.0 (2007/01/17) LibFoundation/ComputationalGeometry/Wm4ConstrainedDelaunay2.{h,cpp}

New files.  An implementation of constrained Delaunay triangulation.
//----------------------------------------------------------------------------
4.0.1 (2007/01/17) LibFoundation/ComputationalGeometry/Wm4Delaunay2.h

Changed "private" to "protected" to support the new derived class
ConstrainedDelaunay2.
//----------------------------------------------------------------------------
4.0.6 (2007/01/17) LibFoundation/Wm4FoundationPCH.h
4.0.6 (2007/01/17) LibFoundation/Wm4Foundation.h

Added include of Wm4ConstrainedDelaunay2.h.
//----------------------------------------------------------------------------
