Wild Magic 4.0 to 4.1 Update Log

//----------------------------------------------------------------------------
ToolUtility/GenerateProjects/TemplateXC23.cpp
4.0.1 (2006/10/28)
Added support for Wm4Imagics*.lib.
//----------------------------------------------------------------------------
ToolUtility/GenerateProjects/TemplateVC70.cpp
ToolUtility/GenerateProjects/TemplateVC71.cpp
ToolUtility/GenerateProjects/TemplateVC80.cpp
4.0.1 (2006/10/28)
Added support for Wm4Imagics*.lib.  Added defines WM4_PHYSICS_DLL_IMPORT and
WM4_IMAGICS_DLL_IMPORT to the DLL configurations.
//----------------------------------------------------------------------------
LibApplications/Dx9Application/Wm4Application.h
LibApplications/OpenGLApplication/Wm4Application.h
LibApplications/SoftApplication/Wm4Application.h
4.0.1 (2006/10/28)
Added an include of Wm4Imagics.h.
//----------------------------------------------------------------------------
SampleGraphics/TriStripsFans/TriStripsFans.cpp
4.0.3 (2006/10/23)
VC6 complained about the iSide loop counter (the usual ASCII for-loop scope
problem).
//----------------------------------------------------------------------------
LibGraphics/LibGraphics_VC70.vcproj
LibGraphics/LibGraphics_VC71.vcproj
LibGraphics/LibGraphics_VC60.dsp
Added Wm4Triangles.{h,cpp}, Wm4TriFan.{h,inl,cpp}, Wm4TriStrips.{h,inl,cpp},
Wm4CollapseRecordArray.{h,inl,cpp}, Wm4Picker.{h,cpp},
Wm4PickRecord.{h,inl}.
//----------------------------------------------------------------------------
LibFoundation/ComputationalGeometry/Wm4TriangulateEC.cpp
4.0.5 (2006/10/23)
VC6 does not support std::max.
//----------------------------------------------------------------------------
LibFoundation/LibFoundation_VC71.vcproj
LibFoundation/LibFoundation_VC70.vcproj
LibFoundation/LibFoundation_VC60.dsp
Added Wm4NoniterativeEigen3x3.{h,cpp}.
//----------------------------------------------------------------------------
WildMagic4/makefile.wm4
4.0.1 (2006/10/23)
Removed the Tools make line.
//----------------------------------------------------------------------------
SamplePhysics/makeapp.wm4
4.0.1 (2006/10/23)
Added -lWm4Imagics to the core library linker line.
//----------------------------------------------------------------------------
SampleImagics/makeapp.wm4
4.0.1 (2006/10/23)
Added -lWm4Imagics to the core library linker line.
//----------------------------------------------------------------------------
SampleGraphics/ShadowMaps/ShadowMapEffect.cpp
4.0.1 (2006/10/23)
Removed the unnecessary include of Wm4Images.h and the debug code that used
it.
//----------------------------------------------------------------------------
SampleGraphics/RenderToTexture/RenderToTexture.cpp
4.0.1 (2006/10/23)
Removed the unnecessary include of Wm4Images.h.
//----------------------------------------------------------------------------
LibRenderers/SoftRenderer/Wm4SoftRenderer.h
4.0.2 (2006/10/18)
Added the WM3 interfaces for point size, line size, and line stipple.
//----------------------------------------------------------------------------
LibRenderers/SoftRenderer/Wm4SoftRenderer.cpp
4.0.3 (2006/10/18)
Added the WM3 interfaces for point size, line size, and line stipple.
//----------------------------------------------------------------------------
LibRenderers/OpenGLRenderer/Wm4OpenGLRenderer.h
4.0.2 (2006/10/18)
Added the WM3 interfaces for point size, line size, and line stipple.
//----------------------------------------------------------------------------
LibRenderers/OpenGLRenderer/Wm4OpenGLRenderer.cpp
4.0.1 (2006/10/18)
Added the WM3 interfaces for point size, line size, and line stipple.
//----------------------------------------------------------------------------
LibRenderers/Dx9Renderer/Wm4Dx9Renderer.h
4.0.1 (2006/10/18)
Added the WM3 interfaces for point size, line size, and line stipple.
//----------------------------------------------------------------------------
LibRenderers/Dx9Renderer/Wm4Dx9Renderer.cpp
4.0.2 (2006/10/18)
Added the WM3 interfaces for point size, line size, and line stipple.
//----------------------------------------------------------------------------
LibGraphics/Rendering/Wm4Renderer.h
4.0.2 (2006/10/18)
Added the WM3 interfaces for point size, line size, and line stipple.
//----------------------------------------------------------------------------
LibGraphics/Rendering/Wm4Renderer.inl
4.0.2 (2006/10/18)
Added the WM3 interfaces for point size, line size, and line stipple.
//----------------------------------------------------------------------------
SamplePhysics/SimplePendulum/SimplePendulum.h
4.0.1 (2006/10/18)
Added an include of Wm4Imagics.h (image files have been factored into
LibImagics).
//----------------------------------------------------------------------------
SampleImagics/ImViewer/ImViewer.cpp
4.0.1 (2006/10/18)
Added an include of Wm4Imagics.h (image files have been factored into
LibImagics).
//----------------------------------------------------------------------------
SampleImagics/ExtractLevelTetra/ExtractLevelTetra.cpp
4.0.1 (2006/10/18)
Added an include of Wm4Imagics.h (image files have been factored into
LibImagics).
//----------------------------------------------------------------------------
SampleImagics/ExtractLevelCurves/ExtractLevelCurves.h
4.0.2 (2006/10/18)
Added an include of Wm4Imagics.h (image files have been factored into
LibImagics).
//----------------------------------------------------------------------------
SampleImagics/ExtractLevelCubes/ExtractLevelCubes.cpp
4.0.1 (2006/10/18)
Added an include of Wm4Imagics.h (image files have been factored into
LibImagics).
//----------------------------------------------------------------------------
SampleImagics/BinaryOperations/BinaryOperations.h
4.0.1 (2006/10/18)
Added an include of Wm4Imagics.h (image files have been factored into
LibImagics).
//----------------------------------------------------------------------------
SampleGraphics/Refraction/Refraction.cpp
4.0.1 (2006/10/17)
The screen polygon object was missing an UpdateGS() call, which led to its
not appearing on the screen.
//----------------------------------------------------------------------------
LibGraphics/Shaders/Wm4Program.cpp
4.0.2 (2006/10/17)
The loader has problems when the *.wmsp files are generated on a non-Windows
machine.  The code was modified to detect CR, LF, or CR+LF.
//----------------------------------------------------------------------------
LibFoundation/System/Wm4TMinHeap.h
4.0.2 (2006/10/15)
Added get-accessors of m_tGenerator and m_fValue to TMinHeapRecord.  Ensured
that the records always have m_iIndex updated, even when reallocating and
when the root is moved to the last record.
//----------------------------------------------------------------------------
LibFoundation/System/Wm4TMinHeap.inl
4.0.2 (2006/10/15)
Added get-accessors of m_tGenerator and m_fValue to TMinHeapRecord.  Ensured
that the records always have m_iIndex updated, even when reallocating and
when the root is moved to the last record.
//----------------------------------------------------------------------------
LibFoundation/Wm4Foundation.h
4.0.0 (2006/10/09)
Added an include of Wm4NoniterativeEigen3x3.h.
//----------------------------------------------------------------------------
LibFoundation/Wm4FoundationPCH.h
4.0.0 (2006/10/09)
Added an include of Wm4NoniterativeEigen3x3.h.
//----------------------------------------------------------------------------
LibFoundation/NumericalAnalysis/Wm4NoniterativeEigen3x3.h
4.0.0 (2006/10/09)
New file that implements a noniterative eigensolver for 3x3 symmetric
matrices.
//----------------------------------------------------------------------------
LibFoundation/NumericalAnalysis/Wm4NoniterativeEigen3x3.cpp
4.0.0 (2006/10/09)
New file that implements a noniterative eigensolver for 3x3 symmetric
matrices.
//----------------------------------------------------------------------------
SampleFoundation/NoniterativeEigensolver/NoniterativeEigensolver.h
4.0.0 (2006/10/09)
Test program for Wm4NoniterativeEigen3x3.
//----------------------------------------------------------------------------
SampleFoundation/NoniterativeEigensolver/NoniterativeEigensolver.cpp
4.0.0 (2006/10/09)
Test program for Wm4NoniterativeEigen3x3.
//----------------------------------------------------------------------------
SampleFoundation/makefile.wm4
Added lines for NoniterativeEigensolver.
//----------------------------------------------------------------------------
SampleFoundation/NoniterativeEigensolver/NoniterativeEigensolver.xcodeproj/
    project.pbxproj
SampleFoundation/NoniterativeEigensolver/NoniterativeEigensolver_VC80.vcproj
SampleFoundation/NoniterativeEigensolver/NoniterativeEigensolver_VC71.vcproj
SampleFoundation/NoniterativeEigensolver/NoniterativeEigensolver_VC70.vcproj
SampleFoundation/NoniterativeEigensolver/NoniterativeEigensolver_VC60.dsp
SampleFoundation/NoniterativeEigensolver/NoniterativeEigensolver.cpp
SampleFoundation/NoniterativeEigensolver/NoniterativeEigensolver.h
4.0.0 (2006/10/09)
New project.
//----------------------------------------------------------------------------
SampleFoundation/CameraAndLightNodes/CameraAndLightNodes.cpp
4.0.2 (2006/09/30)
Changed the background color.
//----------------------------------------------------------------------------
Data/Terrain/SkyDome.wmof
Data/Wmof/BrainP.wmof
Data/Wmof/FacePN.wmof
Data/Wmof/SkinnedBipedPN.wmof
Data/Wmof/SmallBrainPT2.wmof
SampleGraphics/BlendedTerrain/Data/SkyDome.wmof
SampleGraphics/Castle/Data/Castle.wmof

The version 4.0.2 change to Wm4Node.cpp required re-streaming of these wmof
files.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Node.cpp
4.0.2 (2006/09/28)
Removed the streaming "TO DO" by no longer streaming growby and quantity.
//----------------------------------------------------------------------------
SampleFoundation/Polysolid2D/Polysolid2D.h
4.0.1 (2006/09/25)
Modified the application to have the same functionality and examples as
Boolean2D.
//----------------------------------------------------------------------------
SampleFoundation/Polysolid2D/Polysolid2D.cpp
4.0.1 (2006/09/25)
Modified the application to have the same functionality and examples as
Boolean2D.
//----------------------------------------------------------------------------
SampleFoundation/Boolean2D/Boolean2D.h
4.0.1 (2006/09/25)
Removed the point-in-polygon code and the region fill code.  This is not
essential to demonstrating the Boolean operations.
//----------------------------------------------------------------------------
SampleFoundation/Boolean2D/Boolean2D.cpp
4.0.1 (2006/09/25)
Removed the point-in-polygon code and the region fill code.  This is not
essential to demonstrating the Boolean operations.
//----------------------------------------------------------------------------
SampleFoundation/MeshEnvelope/MeshEnvelope.cpp
4.0.1 (2006/09/25)
Added a block of code to allow rotating the face mesh before projection.
This allowed the generation of the sample images at the web site.
//----------------------------------------------------------------------------
SampleFoundation/ConvexHull3D/ConvexHull3D.cpp
4.0.3 (2006/09/24)
Added the case of computing the hull using Query::QT_FILTERED.
//----------------------------------------------------------------------------
SampleFoundation/ConvexHull2D/ConvexHull2D.cpp
4.0.1 (2006/09/24)
Added the case of computing the hull using Query::QT_FILTERED.
//----------------------------------------------------------------------------
LibImagics/LibImagics.xcodeproj/project.pbxproj
LibImagics/LibImagics_VC80.vcproj
LibImagics/LibImagics_VC71.vcproj
LibImagics/LibImagics_VC70.vcproj
LibImagics/LibImagics_VC60.dsp
4.0.0 (2006/09/21)
Factored the ImageAnalysis code into a separate library, LibImagics.
//----------------------------------------------------------------------------
LibImagics/Wm4Imagics.h
LibImagics/Wm4ImagicsLIB.h
LibImagics/Wm4ImagicsPCH.h
LibImagics/Wm4ImagicsPCH.cpp
LibImagics/Filters/Wm4CurvatureFlow2.h
LibImagics/Filters/Wm4CurvatureFlow2.cpp
LibImagics/Filters/Wm4CurvatureFlow3.h
LibImagics/Filters/Wm4CurvatureFlow3.cpp
LibImagics/Filters/Wm4GaussianBlur2.h
LibImagics/Filters/Wm4GaussianBlur2.cpp
LibImagics/Filters/Wm4GaussianBlur3.h
LibImagics/Filters/Wm4GaussianBlur3.cpp
LibImagics/Filters/Wm4GradientAnisotropic2.h
LibImagics/Filters/Wm4GradientAnisotropic2.cpp
LibImagics/Filters/Wm4GradientAnisotropic3.h
LibImagics/Filters/Wm4GradientAnisotropic3.cpp
LibImagics/Filters/Wm4PdeFilter.h
LibImagics/Filters/Wm4PdeFilter.inl
LibImagics/Filters/Wm4PdeFilter2.h
LibImagics/Filters/Wm4PdeFilter2.inl
LibImagics/Filters/Wm4PdeFilter2.cpp
LibImagics/Filters/Wm4PdeFilter3.h
LibImagics/Filters/Wm4PdeFilter3.inl
LibImagics/Filters/Wm4PdeFilter3.cpp
LibImagics/Filters/Wm4FastMarch.h
LibImagics/Filters/Wm4FastMarch.inl
LibImagics/Filters/Wm4FastMarch.cpp
LibImagics/Filters/Wm4FastMarch2.h
LibImagics/Filters/Wm4FastMarch2.inl
LibImagics/Filters/Wm4FastMarch2.cpp
LibImagics/Filters/Wm4FastMarch3.h
LibImagics/Filters/Wm4FastMarch3.inl
LibImagics/Filters/Wm4FastMarch3.cpp
LibImagics/Filters/Wm4GeodesicActiveContourLSE2.h
LibImagics/Filters/Wm4GeodesicActiveContourLSE2.cpp
LibImagics/Filters/Wm4GeodesicActiveContourLSE3.h
LibImagics/Filters/Wm4GeodesicActiveContourLSE3.cpp
LibImagics/Filters/Wm4LevelSetEvolve2.h
LibImagics/Filters/Wm4LevelSetEvolve2.inl
LibImagics/Filters/Wm4LevelSetEvolve2.cpp
LibImagics/Filters/Wm4LevelSetEvolve3.h
LibImagics/Filters/Wm4LevelSetEvolve3.inl
LibImagics/Filters/Wm4LevelSetEvolve3.cpp
LibImagics/Filters/Wm4ParametersLSE.h
LibImagics/Filters/Wm4ParametersLSE.inl
LibImagics/Filters/Wm4ParametersLSE.cpp
LibImagics/Filters/Wm4SegGeodesicActiveContourLSE2.h
LibImagics/Filters/Wm4SegGeodesicActiveContourLSE2.inl
LibImagics/Filters/Wm4SegGeodesicActiveContourLSE2.cpp
LibImagics/Filters/Wm4SegGeodesicActiveContourLSE3.h
LibImagics/Filters/Wm4SegGeodesicActiveContourLSE3.inl
LibImagics/Filters/Wm4SegGeodesicActiveContourLSE3.cpp
LibImagics/Filters/Wm4SegmenterLSE.h
LibImagics/Filters/Wm4SegmenterLSE.inl
LibImagics/Filters/Wm4SegmenterLSE.cpp
LibImagics/Filters/Wm4SegShapeDetectionLSE2.h
LibImagics/Filters/Wm4SegShapeDetectionLSE2.inl
LibImagics/Filters/Wm4SegShapeDetectionLSE2.cpp
LibImagics/Filters/Wm4SegShapeDetectionLSE3.h
LibImagics/Filters/Wm4SegShapeDetectionLSE3.inl
LibImagics/Filters/Wm4SegShapeDetectionLSE3.cpp
LibImagics/Filters/Wm4SegThresholdLSE2.h
LibImagics/Filters/Wm4SegThresholdLSE2.inl
LibImagics/Filters/Wm4SegThresholdLSE2.cpp
LibImagics/Filters/Wm4SegThresholdLSE3.h
LibImagics/Filters/Wm4SegThresholdLSE3.inl
LibImagics/Filters/Wm4SegThresholdLSE3.cpp
LibImagics/Filters/Wm4ShapeDetectionLSE2.h
LibImagics/Filters/Wm4ShapeDetectionLSE2.cpp
LibImagics/Filters/Wm4ShapeDetectionLSE3.h
LibImagics/Filters/Wm4ShapeDetectionLSE3.cpp
LibImagics/Filters/Wm4ThresholdLSE2.h
LibImagics/Filters/Wm4ThresholdLSE2.cpp
LibImagics/Filters/Wm4ThresholdLSE3.h
LibImagics/Filters/Wm4ThresholdLSE3.cpp
4.0.0 (2006/09/21)
New files.
//----------------------------------------------------------------------------
LibFoundation/ImageAnalysis/Wm4RasterDrawing.h
LibFoundation/ImageAnalysis/Wm4RasterDrawing.cpp
4.0.2 (2006/09/21)
Moved from LibFoundation to LibImagics.
//----------------------------------------------------------------------------
LibFoundation/ImageAnalysis/Wm4ExtractCurveSquares.cpp
LibFoundation/ImageAnalysis/Wm4ExtractCurveSquares.h
LibFoundation/ImageAnalysis/Wm4ExtractCurveTris.h
LibFoundation/ImageAnalysis/Wm4ExtractCurveTris.cpp
LibFoundation/ImageAnalysis/Wm4ExtractSurfaceCubes.h
LibFoundation/ImageAnalysis/Wm4ExtractSurfaceCubes.inl
LibFoundation/ImageAnalysis/Wm4ExtractSurfaceCubes.cpp
LibFoundation/ImageAnalysis/Wm4ExtractSurfaceTetra.h
LibFoundation/ImageAnalysis/Wm4ExtractSurfaceTetra.cpp
LibFoundation/ImageAnalysis/Wm4FastBlur.h
LibFoundation/ImageAnalysis/Wm4FastBlur.cpp
LibFoundation/ImageAnalysis/Wm4Element.h
LibFoundation/ImageAnalysis/Wm4Element.inl
LibFoundation/ImageAnalysis/Wm4Element.cpp
LibFoundation/ImageAnalysis/Wm4Images.h
LibFoundation/ImageAnalysis/Wm4Images.cpp
LibFoundation/ImageAnalysis/Wm4Lattice.h
LibFoundation/ImageAnalysis/Wm4Lattice.inl
LibFoundation/ImageAnalysis/Wm4Lattice.cpp
LibFoundation/ImageAnalysis/Wm4TImage.h
LibFoundation/ImageAnalysis/Wm4TImage.inl
LibFoundation/ImageAnalysis/Wm4TImage2D.h
LibFoundation/ImageAnalysis/Wm4TImage2D.inl
LibFoundation/ImageAnalysis/Wm4TImage3D.h
LibFoundation/ImageAnalysis/Wm4TImage3D.inl
LibFoundation/ImageAnalysis/Wm4Binary2D.h
LibFoundation/ImageAnalysis/Wm4Binary2D.cpp
LibFoundation/ImageAnalysis/Wm4Binary3D.h
LibFoundation/ImageAnalysis/Wm4Binary3D.cpp
4.0.1 (2006/09/21)
Moved from LibFoundation to LibImagics.
//----------------------------------------------------------------------------
LibFoundation/LibFoundation.xcodeproj/project.pbxproj
LibFoundation/LibFoundation_VC80.vcproj
LibFoundation/LibFoundation_VC71.vcproj
LibFoundation/LibFoundation_VC70.vcproj
LibFoundation/LibFoundation_VC60.dsp
4.0.3 (2006/09/21)
Factored the ImageAnalysis code into a separate library, LibImagics.
//----------------------------------------------------------------------------
LibFoundation/Wm4Foundation.h
4.0.3 (2006/09/21)
The image analysis code is now factored into a separate library.
//----------------------------------------------------------------------------
LibFoundation/Wm4FoundationPCH.h
4.0.3 (2006/09/21)
The image analysis code is now factored into a separate library.
//----------------------------------------------------------------------------
LibFoundation/Miscellaneous/Wm4GridGraph2.h
4.0.1 (2006/09/21)
Removed the debugging function SaveVertices, which depended on the image
analysis code.  The image analysis code is now factored into a separate
library.
//----------------------------------------------------------------------------
LibFoundation/Miscellaneous/Wm4GridGraph2.cpp
4.0.1 (2006/09/21)
Removed the debugging function SaveVertices, which depended on the image
analysis code.  The image analysis code is now factored into a separate
library.
//----------------------------------------------------------------------------
LibFoundation/Miscellaneous/Wm4GridGraph2.h
4.0.1 (2006/09/21)
Removed the debugging function SaveVertices.
//----------------------------------------------------------------------------
LibFoundation/System/Wm4TMinHeap.h
4.0.1 (2006/09/19)
Allocating and deallocating each heap record one at a time is a performance
problem when the heap quantity is very large.  Replaced this with allocations
and deallocations of large blocks of records.
//----------------------------------------------------------------------------
LibFoundation/System/Wm4TMinHeap.inl
4.0.1 (2006/09/19)
Allocating and deallocating each heap record one at a time is a performance
problem when the heap quantity is very large.  Replaced this with allocations
and deallocations of large blocks of records.
//----------------------------------------------------------------------------
SampleImagics/ExtractLevelCurves/ExtractLevelCurves.xcodeproj/project.pbxproj
SampleImagics/ExtractLevelCurves/ExtractLevelCurves_VC80.vcproj
SampleImagics/ExtractLevelCurves/ExtractLevelCurves_VC71.vcproj
SampleImagics/ExtractLevelCurves/ExtractLevelCurves_VC70.vcproj
SampleImagics/ExtractLevelCurves/ExtractLevelCurves_VC60.dsp
4.0.1 (2006/09/07)
Removed ImageInterp2D.{h,cpp}.  The functionality has been moved to the
LibFoundation ImageAnalysis folder.
//----------------------------------------------------------------------------
SampleImagics/ExtractLevelCurves/ExtractLevelCurves.cpp
4.0.1 (2006/09/07)
Removed ImageInterp2D.{h,cpp}.  The functionality has been moved to the
LibFoundation ImageAnalysis folder.
//----------------------------------------------------------------------------
SampleImagics/ExtractLevelCurves/ExtractLevelCurves.h
4.0.1 (2006/09/07)
Removed ImageInterp2D.{h,cpp}.  The functionality has been moved to the
LibFoundation ImageAnalysis folder.
//----------------------------------------------------------------------------
LibFoundation/Wm4Foundation.h
4.0.2 (2006/09/07)
Added includes of the new files in the ImageAnalysis folder.
//----------------------------------------------------------------------------
LibFoundation/Wm4FoundationPCH.h
4.0.2 (2006/09/07)
Added includes of the new files in the ImageAnalysis folder.
//----------------------------------------------------------------------------
LibFoundation/LibFoundation.xcodeproj/project.pbxproj
LibFoundation/LibFoundation_VC80.vcproj
LibFoundation/LibFoundation_VC71.vcproj
LibFoundation/LibFoundation_VC70.vcproj
LibFoundation/LibFoundation_VC60.dsp
4.0.2 (2006/09/07)
Added new files to the ImageAnalysis folder.
//----------------------------------------------------------------------------
LibFoundation/Imagics/Wm4ExtractCurveSquares.cpp
4.0.0 (2006/09/07)
New file.  Used to be part of ImageInterp2D.* in the ExtractLevelCurves sample
application.
//----------------------------------------------------------------------------
LibFoundation/Imagics/Wm4ExtractCurveSquares.h
4.0.0 (2006/09/07)
New file.  Used to be part of ImageInterp2D.* in the ExtractLevelCurves sample
application.
//----------------------------------------------------------------------------
LibFoundation/Imagics/Wm4ExtractCurveTris.cpp
4.0.0 (2006/09/07)
New file.  Used to be part of ImageInterp2D.* in the ExtractLevelCurves sample
application.
//----------------------------------------------------------------------------
LibFoundation/Imagics/Wm4ExtractCurveTris.h
4.0.0 (2006/09/07)
New file.  Used to be part of ImageInterp2D.* in the ExtractLevelCurves sample
application.
//----------------------------------------------------------------------------
LibGraphics/Wm4Graphics.h
4.0.5 (2006/09/06)
Added includes of the files in the new Mathematics folder.
//----------------------------------------------------------------------------
LibGraphics/Wm4GraphicsPCH.h
4.0.5 (2006/09/06)
Added includes of the files in the new Mathematics folder.
//----------------------------------------------------------------------------
LibGraphics/LibGraphics.xcodeproj/project.pbxproj
LibGraphics/LibGraphics_VC80.vcproj
LibGraphics/LibGraphics_VC71.vcproj
LibGraphics/LibGraphics_VC70.vcproj
LibGraphics/LibGraphics_VC60.dsp
4.0.1 (2006/09/06)
A new folder that contains template classes for n-vectors (1 <= n <= 4) and
n-by-m matrices (1 <= n <= 4, 1 <= m <= 4).  These classes have data that is
either 4 floats (vector classes) or 16 floats (matrix classes) to satisfy
alignment issues on consoles or on SIMD processors that have 128-bit
registers.  The current implementation, though, is for standard CPU
computations.  An alternate implementation may be provided that takes
advantage of 128-bit computations.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Matrix3.h
4.0.2 (2006/09/05)
Renamed the variables in the Euler angle functions to avoid confusion.  Now
no mention is made of yaw, pitch, and roll.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Matrix3.inl
4.0.2 (2006/09/05)
Renamed the variables in the Euler angle functions to avoid confusion.  Now
no mention is made of yaw, pitch, and roll.
//----------------------------------------------------------------------------
SampleFoundation/Triangulation/Triangulation.cpp
4.0.1 (2006/08/30)
Rewrote to illustrate triangulation of polygons with holes and trees of
nested polygons.
//----------------------------------------------------------------------------
SampleFoundation/Triangulation/Triangulation.h
4.0.1 (2006/08/30)
Rewrote to illustrate triangulation of polygons with holes and trees of
nested polygons.
//----------------------------------------------------------------------------
LibFoundation/ComputationalGeometry/Wm4TriangulateEC.cpp
4.0.4 (2006/08/30)
Major rewrite to support polygons with holes and trees of nested polygons.
//----------------------------------------------------------------------------
LibFoundation/ComputationalGeometry/Wm4TriangulateEC.h
4.0.2 (2006/08/30)
Major rewrite to support polygons with holes and trees of nested polygons.
//----------------------------------------------------------------------------
LibFoundation/ComputationalGeometry/Wm4TriangulateEC.cpp
4.0.3 (2006/08/25)
IsEar needed to do more work when the ToTriangle predicate returns 0.  If
the triangle is (V[i-1],V[i],V[i+1]) and V[j] causes a zero predicate when
j is not one of i-1, i, or i+1, V[j] is not an ear.
//----------------------------------------------------------------------------
LibFoundation/ComputationalGeometry/Wm4TriangulateEC.cpp
4.0.2 (2006/08/25)
The scale factors for mapping the input to different domains needed to be
inverted.
//----------------------------------------------------------------------------
LibGraphics/Shaders/Wm4Program.cpp
4.0.1 (2006/08/24)
The static member ms_kOutStr is not used, so it has been removed.
//----------------------------------------------------------------------------
LibGraphics/Shaders/Wm4Program.h
4.0.1 (2006/08/24)
The static member ms_kOutStr is not used, so it has been removed.
//----------------------------------------------------------------------------
SampleGraphics/BumpMaps/SimpleBumpMapEffect.cpp
4.0.1 (2006/08/23)
ComputeLightVectors was taking a Geometry input and implicitly using it as a
TriMesh.  Now the function takes a Triangles input.
//----------------------------------------------------------------------------
SampleGraphics/BumpMaps/SimpleBumpMapEffect.h
4.0.1 (2006/08/23)
ComputeLightVectors was taking a Geometry input and implicitly using it as a
TriMesh.  Now the function takes a Triangles input.
//----------------------------------------------------------------------------
SampleGraphics/BumpMaps/
(2006/08/22)
Removed the unused SimpleBumpMapEffect.inl file.  Removed references to this
file in the projects.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Math.h
4.0.1 (2006/08/22)
Added fast approximations to the exp function.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Math.inl
4.0.1 (2006/08/22)
Added fast approximations to the exp function.
//----------------------------------------------------------------------------
SampleFoundation/ConvexHull3D/ConvexHull3D.cpp
4.0.2 (2006/08/21)
The port from WM2 to WM3 involved providing default behaviors in the 3D
application layer for the keys r/R (rotation) and t/T (translation).  Some of
the sample applications were using these keys for other purposes, so the port
hides r/R/t/T from those applications.  The WindowApplication3::OnKeyDown is
called after the sample processes the keys it wants.
//----------------------------------------------------------------------------
SampleGraphics/Collisions/Collisions.cpp
4.0.1 (2006/08/21)
The port from WM2 to WM3 involved providing default behaviors in the 3D
application layer for the keys r/R (rotation) and t/T (translation).  Some of
the sample applications were using these keys for other purposes, so the port
hides r/R/t/T from those applications.  The WindowApplication3::OnKeyDown is
called after the sample processes the keys it wants.
//----------------------------------------------------------------------------
SampleImagics/ConformalMapping/ConformalMapping.cpp
4.0.1 (2006/08/21)
The port from WM2 to WM3 involved providing default behaviors in the 3D
application layer for the keys r/R (rotation) and t/T (translation).  Some of
the sample applications were using these keys for other purposes, so the port
hides r/R/t/T from those applications.  The WindowApplication3::OnKeyDown is
called after the sample processes the keys it wants.
//----------------------------------------------------------------------------
SamplePhysics/BouncingSpheres/BouncingSpheres.cpp
4.0.1 (2006/08/21)
The port from WM2 to WM3 involved providing default behaviors in the 3D
application layer for the keys r/R (rotation) and t/T (translation).  Some of
the sample applications were using these keys for other purposes, so the port
hides r/R/t/T from those applications.  The WindowApplication3::OnKeyDown is
called after the sample processes the keys it wants.
//----------------------------------------------------------------------------
SamplePhysics/PolyhedronDistance/PolyhedronDistance.cpp
4.0.1 (2006/08/21)
The port from WM2 to WM3 involved providing default behaviors in the 3D
application layer for the keys r/R (rotation) and t/T (translation).  Some of
the sample applications were using these keys for other purposes, so the port
hides r/R/t/T from those applications.  The WindowApplication3::OnKeyDown is
called after the sample processes the keys it wants.
//----------------------------------------------------------------------------
SamplePhysics/Rope/Rope.cpp
4.0.1 (2006/08/21)
The port from WM2 to WM3 involved providing default behaviors in the 3D
application layer for the keys r/R (rotation) and t/T (translation).  Some of
the sample applications were using these keys for other purposes, so the port
hides r/R/t/T from those applications.  The WindowApplication3::OnKeyDown is
called after the sample processes the keys it wants.
//----------------------------------------------------------------------------
SamplePhysics/RoughPlaneSolidBox/RoughPlaneSolidBox.cpp
4.0.1 (2006/08/21)
The port from WM2 to WM3 involved providing default behaviors in the 3D
application layer for the keys r/R (rotation) and t/T (translation).  Some of
the sample applications were using these keys for other purposes, so the port
hides r/R/t/T from those applications.  The WindowApplication3::OnKeyDown is
called after the sample processes the keys it wants.
//----------------------------------------------------------------------------
LibRenderers/OpenGLRenderer/Wm4AglRenderer.cpp
4.0.2 (2006/08/21)
The m_bFullScreen member was removed.  The Renderer base class already has a
flag m_bFullscreen, which is now used.
//----------------------------------------------------------------------------
LibRenderers/OpenGLRenderer/Wm4AglRenderer.h
4.0.2 (2006/08/21)
The m_bFullScreen member was removed.  The Renderer base class already has a
flag m_bFullscreen, which is now used.
//----------------------------------------------------------------------------
LibGraphics/Rendering/Wm4Renderer.cpp
4.0.2 (2006/08/19)
SetWorldTransformation now just accesses the HWorld member of m_pkGeometry
rather than asking m_pkGeometry to compute it on the fly.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Geometry.h
4.0.3 (2006/08/19)
Added HWorld member as the homogeneous matrix representing the World
transformation.  Implemented UpdateWorldData to compute HWorld from World
during the UpdateGS pass.  This avoids having to recompute the homogeneous
matrix on each drawing call in the renderer.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Geometry.cpp
4.0.2 (2006/08/19)
Added HWorld member as the homogeneous matrix representing the World
transformation.  Implemented UpdateWorldData to compute HWorld from World
during the UpdateGS pass.  This avoids having to recompute the homogeneous
matrix on each drawing call in the renderer.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Matrix4.h
4.0.1 (2006/08/19)
Removed the I(r,c) function.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Matrix4.inl
4.0.1 (2006/08/19)
Removed 'assert' statements, unrolled all loops, removed I(r,c) function.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Matrix3.h
4.0.1 (2006/08/19)
Removed the I(r,c) function.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Matrix3.inl
4.0.1 (2006/08/19)
Removed 'assert' statements, unrolled all loops, removed I(r,c) function.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Matrix2.h
4.0.1 (2006/08/19)
Removed the I(r,c) function.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Matrix2.inl
4.0.1 (2006/08/19)
Removed 'assert' statements, unrolled all loops, removed I(r,c) function.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Vector4.inl
4.0.1 (2006/08/19)
Removed 'assert' statements from the operator[] functions.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Vector3.inl
4.0.2 (2006/08/19)
Removed 'assert' statements from the operator[] functions.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Vector2.inl
4.0.2 (2006/08/19)
Removed 'assert' statements from the operator[] functions.
//----------------------------------------------------------------------------
SampleFoundation/MeshEnvelope/MeshEnvelope.cpp
4.0.1 (2006/08/17)
In CreateEnvelope, Xcode 2.3 complained about the line of code
"SegmentGraph::Edge& rkEdge = *pkIter;".  This works fine on the PC and on
Linux.  Changed this to "SegmentGraph::Edge kEdge = *pkIter;".
//----------------------------------------------------------------------------
SamplePhysics/FoucaultPendulum/FoucaultPendulum.cpp
4.0.1 (2006/08/17)
Two calls to Light::SetDirection has two arguments.  The SetDirection function
had changed to take only one.
//----------------------------------------------------------------------------
SamplePhysics/SimplePendulumFriction/SimplePendulumFriction.cpp
4.0.1 (2006/08/17)
Two calls to Light::SetDirection has two arguments.  The SetDirection function
had changed to take only one.
//----------------------------------------------------------------------------
SamplePhysics/Rope/PhysicsModule.cpp
4.0.1 (2006/08/17)
Changed GenerateOrthonormalBasis call to GenerateComplementBasis.
//----------------------------------------------------------------------------
SamplePhysics/FoucaultPendulum/FoucaultPendulum.cpp
4.0.1 (2006/08/17)
Two calls to Light::SetDirection has two arguments.  The SetDirection function
had changed to take only one.
//----------------------------------------------------------------------------
LibFoundation/LibFoundation.xcodeproj/project.pbxproj
LibFoundation/LibFoundation_VC80.vcproj
LibFoundation/LibFoundation_VC71.vcproj
LibFoundation/LibFoundation_VC70.vcproj
LibFoundation/LibFoundation_VC60.dsp
4.0.1 (2006/08/15)
Added Wm4TMinHeap.* files to the System folder.
//----------------------------------------------------------------------------
LibFoundation/Wm4Foundation.h
4.0.1 (2006/08/15)
Added an include of the new file Wm4TMinHeap.h.
//----------------------------------------------------------------------------
LibFoundation/Wm4FoundationPCH.h
4.0.1 (2006/08/15)
Added an include of the new file Wm4TMinHeap.h.
//----------------------------------------------------------------------------
LibFoundation/System/Wm4System.h
4.0.1 (2006/08/15)
Added an include of the new file Wm4TMinHeap.h.
//----------------------------------------------------------------------------
LibFoundation/System/Wm4TMinHeap.h
4.0.0 (2006/08/15)
New file to support a heap data structure that stores the minimum value at
the root.  The data structure also has support for a fast update by using
back-pointers to the heap.
//----------------------------------------------------------------------------
LibFoundation/System/Wm4TMinHeap.inl
4.0.0 (2006/08/15)
New file to support a heap data structure that stores the minimum value at
the root.  The data structure also has support for a fast update by using
back-pointers to the heap.
//----------------------------------------------------------------------------
LibRenderers/Dx9Renderer/Wm4Dx9DrawElements.cpp
4.0.3 (2006/08/13)
GetActiveQuantity() is now GetTriangleQuantity().
//----------------------------------------------------------------------------
LibGraphics/Collision/Wm4Picker.cpp
4.0.1 (2006/08/13)
The refactoring to have Triangles as the base class for triangle primitives
required the picking code to use Triangles instead of TriMesh.
//----------------------------------------------------------------------------
SampleGraphics/TriStripsFans/TriStripsFans.cpp
4.0.2 (2006/08/13)
Modified the sample to use the newly refactored TriMesh, TriStrip, and TriFan
objects.  Added lighting to the objects.
//----------------------------------------------------------------------------
SampleGraphics/TriStripsFans/TriStripsFans.h
4.0.1 (2006/08/13)
Modified the sample to use the newly refactored TriMesh, TriStrip, and TriFan
objects.  Added lighting to the objects.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/TriStrip.cpp
4.0.2 (2006/08/13)
Refactored so that TriStrip is derived from Triangles.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/TriStrip.h
4.0.1 (2006/08/13)
Refactored so that TriStrip is derived from Triangles.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/TriStrip.inl
4.0.1 (2006/08/13)
Refactored so that TriStrip is derived from Triangles.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/TriMesh.cpp
4.0.2 (2006/08/13)
Refactored so that TriMesh is derived from Triangles.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/TriMesh.h
4.0.2 (2006/08/13)
Refactored so that TriMesh is derived from Triangles.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/TriMesh.inl
4.0.1 (2006/08/13)
Refactored so that TriMesh is derived from Triangles.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/TriFan.cpp
4.0.2 (2006/08/13)
Refactored so that TriFan is derived from Triangles.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/TriFan.h
4.0.1 (2006/08/13)
Refactored so that TriFan is derived from Triangles.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/TriFan.inl
4.0.1 (2006/08/13)
Refactored so that TriFan is derived from Triangles.
//----------------------------------------------------------------------------
LibGraphics/Wm4Graphics.h
4.0.4 (2006/08/13)
Added an include of the new file Wm4Triangles.h
//----------------------------------------------------------------------------
LibGraphics/Wm4GraphicsPCH.h
4.0.4 (2006/08/13)
Added an include of the new file Wm4Triangles.h
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Triangles.cpp
4.0.0 (2006/08/13)
New file.  Triangles is derived from Geometry.  TriMesh, TriFan, and TriStrip
are now derived from Triangles.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Triangles.h
4.0.0 (2006/08/13)
New file.  Triangles is derived from Geometry.  TriMesh, TriFan, and TriStrip
are now derived from Triangles.
//----------------------------------------------------------------------------
LibGraphics/Detail/Wm4CreateClodMesh.cpp
4.0.3 (2006/08/10)
Removed lines of code from Add and Update that had no effect--assignments
of the metric value to a record.  The record already has the correct metric
value.
//----------------------------------------------------------------------------
LibRenderers/SoftRenderer/Wm4SoftDrawElements.cpp
4.0.2 (2006/08/09)
Added support for drawing triangle strips and triangle fans.
//----------------------------------------------------------------------------
LibRenderers/SoftRenderer/Wm4SoftRenderer.cpp
4.0.2 (2006/08/09)
Added support for drawing triangle strips and triangle fans.
//----------------------------------------------------------------------------
LibRenderers/SoftRenderer/Wm4SoftRenderer.h
4.0.1 (2006/08/09)
Added support for drawing triangle strips and triangle fans.
//----------------------------------------------------------------------------
SampleGraphics/TriStripsFans/TriStripsFans.cpp
4.0.1 (2006/08/09)
The changes to the TriStrip and TriFan index buffer creation requires the
corresponding TriMeshes to have their own index buffers.
//----------------------------------------------------------------------------
LibRenderers/Dx9Renderer/Wm4Dx9DrawElements.cpp
4.0.2 (2006/08/09)
Tristrips and trifans were being drawn with DrawPrimitive.  Now they are
drawn with DrawIndexedPrimitive.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4TriFan.cpp
4.0.1 (2006/08/09)
The index buffer was being created for a TriMesh, not a TriFan.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4TriStrip.cpp
4.0.1 (2006/08/09)
The index buffer was being created for a TriMesh, not a TriStrip.
//----------------------------------------------------------------------------
Data/Terrain/SkyDome.wmof
4.0.1 (2006/08/07)
Hand-edited the file to change the version from 3.02 to 4.01.
//----------------------------------------------------------------------------
Data/Wmof/TureChikIdle.wmof
4.0.1 (2006/08/07)
Hand-edited the file to change the version from 3.02 to 4.01.
//----------------------------------------------------------------------------
Data/Wmof/TureChikRun.wmof
4.0.1 (2006/08/07)
Hand-edited the file to change the version from 3.02 to 4.01.
//----------------------------------------------------------------------------
Data/Wmof/TureChikWalk.wmof
4.0.1 (2006/08/07)
Hand-edited the file to change the version from 3.02 to 4.01.
//----------------------------------------------------------------------------
SampleGraphics/BlendedTerrain/Data/SkyDome.wmof
4.0.1 (2006/08/07)
Hand-edited the file to change the version from 3.02 to 4.01.
//----------------------------------------------------------------------------
SampleGraphics/Castle/Data/Castle.wmof
4.0.1 (2006/08/07)
Hand-edited the file to change the version from 3.02 to 4.01.
//----------------------------------------------------------------------------
SampleFoundation/ConvexHull3D/ConvexHull3D.cpp
4.0.1 (2006/08/07)
Modified to use the new external picking system.
//----------------------------------------------------------------------------
SampleFoundation/ConvexHull3D/ConvexHull3D.h
4.0.1 (2006/08/07)
Modified to use the new external picking system.
//----------------------------------------------------------------------------
SampleFoundation/GeodesicHeightField/GeodesicHeightField.cpp
4.0.1 (2006/08/07)
Modified to use the new external picking system.
//----------------------------------------------------------------------------
SampleFoundation/GeodesicHeightField/GeodesicHeightField.h
4.0.1 (2006/08/07)
Modified to use the new external picking system.
//----------------------------------------------------------------------------
SampleGraphics/Castle/Castle.cpp
4.0.1 (2006/08/07)
Modified to use the new external picking system.
//----------------------------------------------------------------------------
SampleGraphics/Castle/Castle.h
4.0.1 (2006/08/07)
Modified to use the new external picking system.
//----------------------------------------------------------------------------
SampleGraphics/MorphControllers/MorphControllers.cpp
4.0.1 (2006/08/07)
Modified to use the new external picking system.
//----------------------------------------------------------------------------
SampleGraphics/MorphControllers/MorphControllers.h
4.0.1 (2006/08/07)
Modified to use the new external picking system.
//----------------------------------------------------------------------------
SamplePhysics/FreeFormDeformation/FreeFormDeformation.cpp
4.0.1 (2006/08/07)
Modified to use the new external picking system.
//----------------------------------------------------------------------------
SamplePhysics/FreeFormDeformation/FreeFormDeformation.h
4.0.1 (2006/08/07)
Modified to use the new external picking system.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4TriMesh.cpp
4.0.1 (2006/08/07)
Factored out the picking code and moved it to the external picking system.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4TriMesh.h
4.0.1 (2006/08/07)
Factored out the picking code and moved it to the external picking system.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Node.cpp
4.0.1 (2006/08/07)
Factored out the picking code and moved it to the external picking system.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Node.h
4.0.1 (2006/08/07)
Factored out the picking code and moved it to the external picking system.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Geometry.cpp
4.0.1 (2006/08/07)
Factored out the picking code and moved it to the external picking system.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Geometry.h
4.0.2 (2006/08/07)
Factored out the picking code and moved it to the external picking system.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Spatial.cpp
4.0.2 (2006/08/07)
Factored out the picking code and moved it to the external picking system.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Spatial.h
4.0.1 (2006/08/07)
Factored out the picking code and moved it to the external picking system.
//----------------------------------------------------------------------------
LibGraphics/Detail/Wm4SwitchNode.cpp
4.0.1 (2006/08/07)
Factored out the picking code and moved it to the external picking system.
//----------------------------------------------------------------------------
LibGraphics/Detail/Wm4SwitchNode.h
4.0.1 (2006/08/07)
Factored out the picking code and moved it to the external picking system.
//----------------------------------------------------------------------------
LibGraphics/Rendering/Wm4Camera.cpp
4.0.1 (2006/08/07)
Modified GetPickRay to return a Vector3f origin and Vector3f direction instead
of a Ray3f.
//----------------------------------------------------------------------------
LibGraphics/Rendering/Wm4Camera.h
4.0.1 (2006/08/07)
Modified GetPickRay to return a Vector3f origin and Vector3f direction instead
of a Ray3f.
//----------------------------------------------------------------------------
LibGraphics/Wm4Graphics.h
4.0.3 (2006/08/07)
Added includes of new files Wm4PickRecord.h and Wm4Picker.h
//----------------------------------------------------------------------------
LibGraphics/Wm4GraphicsPCH.h
4.0.3 (2006/08/07)
Added includes of new files Wm4PickRecord.h and Wm4Picker.h
//----------------------------------------------------------------------------
LibGraphics/Collision/Wm4PickRecord.h
4.0.0 (2006/08/07)
New file to support an external picking system.
//----------------------------------------------------------------------------
LibGraphics/Collision/Wm4PickRecord.inl
4.0.0 (2006/08/07)
New file to support an external picking system.
//----------------------------------------------------------------------------
LibGraphics/Collision/Wm4Picker.cpp
4.0.0 (2006/08/07)
New file to support an external picking system.
//----------------------------------------------------------------------------
LibGraphics/Collision/Wm4Picker.h
4.0.0 (2006/08/07)
New file to support an external picking system.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4BoundingVolume.h
4.0.1 (2006/08/07)
Changed TestIntersection(ray) to TestIntersection(origin,direction,tmin,tmax)
to allow picking with line, ray or segment.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4BoxBV.cpp
4.0.1 (2006/08/07)
Changed TestIntersection(ray) to TestIntersection(origin,direction,tmin,tmax)
to allow picking with line, ray or segment.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4BoxBV.h
4.0.1 (2006/08/07)
Changed TestIntersection(ray) to TestIntersection(origin,direction,tmin,tmax)
to allow picking with line, ray or segment.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4SphereBV.cpp
4.0.1 (2006/08/07)
Changed TestIntersection(ray) to TestIntersection(origin,direction,tmin,tmax)
to allow picking with line, ray or segment.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4SphereBV.h
4.0.1 (2006/08/07)
Changed TestIntersection(ray) to TestIntersection(origin,direction,tmin,tmax)
to allow picking with line, ray or segment.
//----------------------------------------------------------------------------
LibGraphics/Detail/Wm4CollapseRecordArray.h
4.0.1 (2006/08/07)
The class declaration was missing the WM4_GRAPHICS_ITEM tag.
//----------------------------------------------------------------------------
SampleGraphics/TriStripsFans/TriStripsFans.xcodeproj/project.pbxproj
SampleGraphics/TriStripsFans/TriStripsFans_VC80.vcproj
SampleGraphics/TriStripsFans/TriStripsFans_VC71.vcproj
SampleGraphics/TriStripsFans/TriStripsFans_VC70.vcproj
SampleGraphics/TriStripsFans/TriStripsFans_VC60.dsp
SampleGraphics/TriStripsFans/TriStripsFans.cpp
SampleGraphics/TriStripsFans/TriStripsFans.h
4.0.0 (2006/08/06)
New project.
//----------------------------------------------------------------------------
LibRenderers/SoftRenderer/Wm4SoftRenderer.cpp
4.0.1 (2006/08/06)
Assigned new function pointers to m_aoDrawFunction to handle the newly added
triangle strips and triangle fans.  The behavior in the software renderer
relies on the IndexBuffer objects being set up, whereas OpenGL and Direct3D
do not really need the IndexBuffer objects.
//----------------------------------------------------------------------------
LibRenderers/SoftRenderer/Wm4SoftResources.h
4.0.1 (2006/08/06)
Modified the IBufferID class to store a pointer to the IndexBuffer rather
than copy the index quantity and a pointer to the index data.  The old
method fails to notice when the "active quantity" changes for classes that
allow the index quantity to vary.
//----------------------------------------------------------------------------
LibRenderers/SoftRenderer/Wm4SoftResourcesLR.cpp
4.0.1 (2006/08/06)
Modified the IBufferID class to store a pointer to the IndexBuffer rather
than copy the index quantity and a pointer to the index data.  The old
method fails to notice when the "active quantity" changes for classes that
allow the index quantity to vary.
//----------------------------------------------------------------------------
LibRenderers/SoftRenderer/Wm4SoftDrawElements.cpp
4.0.1 (2006/08/06)
Modified the IBufferID class to store a pointer to the IndexBuffer rather
than copy the index quantity and a pointer to the index data.  The old
method fails to notice when the "active quantity" changes for classes that
allow the index quantity to vary.
//----------------------------------------------------------------------------
LibRenderers/Dx9Renderer/Wm4Dx9DrawElements.cpp
4.0.1 (2006/08/06)
Moved the Dx9Renderer::ms_aeObjectType array from Wm4Dx9Renderer.cpp to be
consistent with the organization in the OpenGL renderer.  Added support to
draw triangle strips and triangle fans.  Avoided the D3DPT_* lookups in
ms_aeObjectType when the case of the switch statement makes it clear what to
use.  The Polypoint case had the wrong static cast (to Polyline instead of
Polypoint).
//----------------------------------------------------------------------------
LibRenderers/Dx9Renderer/Wm4Dx9Renderer.cpp
4.0.1 (2006/08/06)
Moved the Dx9Renderer::ms_aeObjectType array to Wm4Dx9DrawElements.cpp to be
consistent with the organization in the OpenGL renderer.
//----------------------------------------------------------------------------
LibRenderers/OpenGLRenderer/Wm4OpenGLDrawElements.cpp
4.0.1 (2006/08/06)
Added support to draw triangle strips and triangle fans.
//----------------------------------------------------------------------------
LibGraphics/Wm4Graphics.h
4.0.2 (2006/08/06)
Added includes of new files Wm4TriFan.h and Wm4TriStrip.h.  Also, the include
"guard" was WM4GRAPHICSPCH_H, which was changed instead to WM4GRAPHICS_H.
//----------------------------------------------------------------------------
LibGraphics/Wm4GraphicsPCH.h
4.0.2 (2006/08/06)
Added includes of new files Wm4TriFan.h and Wm4TriStrip.h.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4TriStrip.cpp
4.0.0 (2006/08/06)
New file to support triangle strips.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4TriStrip.h
4.0.0 (2006/08/06)
New file to support triangle strips.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4TriStrip.inl
4.0.0 (2006/08/06)
New file to support triangle strips.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4TriFan.cpp
4.0.0 (2006/08/06)
New file to support triangle fans.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4TriFan.h
4.0.0 (2006/08/06)
New file to support triangle fans.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4TriFan.inl
4.0.0 (2006/08/06)
New file to support triangle fans.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Geometry.h
4.0.1 (2006/08/06)
Added two new enumerations to GeomType, namely, GT_TRISTRIP and GT_TRIFAN, in
order to support triangle strips and triangle fans.
//----------------------------------------------------------------------------
Data/Wmof/BrainP.wmof
4.0.1 (2006/08/05)
Hand-edited the file to change the version from 3.02 to 4.01.
//----------------------------------------------------------------------------
Data/Wmof/FacePN.wmof
4.0.1 (2006/08/05)
Hand-edited the file to change the version from 3.02 to 4.01.
//----------------------------------------------------------------------------
Data/Wmof/SkinnedBipedPN.wmof
4.0.1 (2006/08/05)
Hand-edited the file to change the version from 3.02 to 4.01.
//----------------------------------------------------------------------------
Data/Wmof/SmallBrainPT2.wmof
4.0.1 (2006/08/05)
Hand-edited the file to change the version from 3.02 to 4.01.
//----------------------------------------------------------------------------
SampleGraphics/ClodMeshes/ClodMeshes.cpp
4.0.3 (2006/08/05)
Modified the application to use two ClodMesh objects that share a VertexBuffer
and CollapseRecordArray but have independent IndexBuffers.
//----------------------------------------------------------------------------
SampleGraphics/ClodMeshes/ClodMeshes.h
4.0.2 (2006/08/05)
Modified the application to use two ClodMesh objects that share a VertexBuffer
and CollapseRecordArray but have independent IndexBuffers.
//----------------------------------------------------------------------------
LibGraphics/Detail/Wm4ClodMesh.cpp
4.0.1 (2006/08/05)
Modified ClodMesh to allow sharing of collapse records.  VertexBuffers and
CollapseRecordArrays may be shared by two ClodMesh objects.  However, to allow
for independent levels of detail, the ClodMesh objects should not share the
same IndexBuffer.  The ClodMesh constructor now makes a copy of the input
IndexBuffer.
//----------------------------------------------------------------------------
LibGraphics/Detail/Wm4ClodMesh.h
4.0.1 (2006/08/05)
Modified ClodMesh to allow sharing of collapse records.  VertexBuffers and
CollapseRecordArrays may be shared by two ClodMesh objects.  However, to allow
for independent levels of detail, the ClodMesh objects should not share the
same IndexBuffer.  The ClodMesh constructor now makes a copy of the input
IndexBuffer.
//----------------------------------------------------------------------------
LibGraphics/Detail/Wm4ClodMesh.inl
4.0.1 (2006/08/05)
Modified ClodMesh to allow sharing of collapse records.  VertexBuffers and
CollapseRecordArrays may be shared by two ClodMesh objects.  However, to allow
for independent levels of detail, the ClodMesh objects should not share the
same IndexBuffer.  The ClodMesh constructor now makes a copy of the input
IndexBuffer.
//----------------------------------------------------------------------------
LibGraphics/Detail/Wm4CollapseRecord.cpp
4.0.1 (2006/08/05)
Removed the streaming support (Read, Write, GetDiskUsed).  This is now taken
care of by CollapseRecordArray.
//----------------------------------------------------------------------------
LibGraphics/Detail/Wm4CollapseRecord.h
4.0.1 (2006/08/05)
Removed the streaming support (Read, Write, GetDiskUsed).  This is now taken
care of by CollapseRecordArray.
//----------------------------------------------------------------------------
LibGraphics/Detail/Wm4CollapseRecordArray.cpp
4.0.0 (2006/08/05)
New file to allow sharing of collapse records.
//----------------------------------------------------------------------------
LibGraphics/Detail/Wm4CollapseRecordArray.h
4.0.0 (2006/08/05)
New file to allow sharing of collapse records.
//----------------------------------------------------------------------------
LibGraphics/Detail/Wm4CollapseRecordArray.inl
4.0.0 (2006/08/05)
New file to allow sharing of collapse records.
//----------------------------------------------------------------------------
LibGraphics/Wm4Graphics.h
4.0.1 (2006/08/05)
Added an include of the new file Wm4CollapseRecordArray.h.
//----------------------------------------------------------------------------
LibGraphics/Wm4GraphicsPCH.h
4.0.1 (2006/08/05)
Added an include of the new file Wm4CollapseRecordArray.h.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Spatial.cpp
4.0.1 (2006/08/05)
Removed conditional code that handled WM3 files during a load.  WM4 cannot
load WM3 files now.
//----------------------------------------------------------------------------
LibGraphics/Rendering/Wm4Image.cpp
4.0.1 (2006/08/05)
Removed conditional code that handled WM3 files during a load.  WM4 cannot
load WM3 files now.
//----------------------------------------------------------------------------
LibGraphics/ObjectSystem/Wm4Stream.cpp
4.0.1 (2006/08/05)
Removed a temporary block of code that used to allow loading WM3 scene graph
files.  WM4 cannot load these now.
//----------------------------------------------------------------------------
LibGraphics/ObjectSystem/Wm4StreamVersion.cpp
4.0.1 (2006/08/05)
Changed the stream version number from 3.02 to 4.01.
//----------------------------------------------------------------------------
LibGraphics/ObjectSystem/Wm4StreamVersion.h
4.0.1 (2006/08/05)
Changed the stream version number from 3.02 to 4.01.
//----------------------------------------------------------------------------
SampleGraphics/BumpMaps/BumpMaps.cpp
4.0.1 (2006/07/30)
The comment header was the old WM3 header; updated it to the WM4 header.
//----------------------------------------------------------------------------
SampleGraphics/BumpMaps/BumpMaps.h
4.0.1 (2006/07/30)
The comment header was the old WM3 header; updated it to the WM4 header.
//----------------------------------------------------------------------------
SampleGraphics/CameraAndLightNodes/CameraAndLightNodes.cpp
4.0.1 (2006/07/30)
The comment header was the old WM3 header; updated it to the WM4 header.
//----------------------------------------------------------------------------
SampleGraphics/CameraAndLightNodes/CameraAndLightNodes.h
4.0.1 (2006/07/30)
The comment header was the old WM3 header; updated it to the WM4 header.
//----------------------------------------------------------------------------
SampleGraphics/ClodMeshes/ClodMeshes.cpp
4.0.2 (2006/07/30)
The comment header was the old WM3 header; updated it to the WM4 header.
//----------------------------------------------------------------------------
SampleGraphics/PointSystems/PointSystems.cpp
4.0.1 (2006/07/30)
The comment header was the old WM3 header; updated it to the WM4 header.
Removed some blank space in an "if" statement.
//----------------------------------------------------------------------------
LibRenderers/Dx9Renderer/Wm4Dx9ResourcesLR.cpp
4.0.1 (2006/07/30)
Added an assert of ms_hResult after D3DXCreateCubeTexture.
//----------------------------------------------------------------------------
LibRenderers/Dx9Renderer/Wm4Dx9DrawElements.cpp
4.0.1 (2006/07/29)
DrawIndexedPrimitive does not allow for index point sets.  Added a call to
DrawPrimitive when points are encountered.  The primitive quantities for open
or closed polylines were 1 more than they should have been.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Transformation.cpp
4.0.1 (2006/07/26)
Added the "const" modifier to Transformation::Inverse.
//----------------------------------------------------------------------------
LibGraphics/SceneGraph/Wm4Transformation.h
4.0.1 (2006/07/26)
Added the "const" modifier to Transformation::Inverse.
//----------------------------------------------------------------------------
SampleGraphics/ClodMeshes/ClodMeshes.cpp
4.0.1 (2006/07/26)
Modified the sample to show the face with a texture.  This illustrates that
the clodification is correctly reordering vertex attributes.
//----------------------------------------------------------------------------
SampleGraphics/ClodMeshes/ClodMeshes.h
4.0.1 (2006/07/26)
Modified the sample to show the face with a texture.  This illustrates that
the clodification is correctly reordering vertex attributes.
//----------------------------------------------------------------------------
LibGraphics/Detail/Wm4CreateClodMesh.cpp
4.0.2 (2006/07/26)
Some of the comments were based on an earlier version, where the
vertex-edge-triangle table was a separate class.  Modified the comments.
//----------------------------------------------------------------------------
SampleGraphics/ClodTerrains/ClodTerrains.cpp
4.0.1 (2006/07/25)
Added the display of height and normal at the camera's location.
//----------------------------------------------------------------------------
SampleGraphics/Terrains/TerrainEffect.cpp
4.0.1 (2006/07/25)
The texture mode was set to REPEAT but needed to be CLAMP_EDGE.
//----------------------------------------------------------------------------
SampleGraphics/Terrains/Terrains.cpp
4.0.1 (2006/07/25)
Added the display of the height and normal at the camera's location.
//----------------------------------------------------------------------------
LibGraphics/Terrain/Wm4Terrain.cpp
4.0.1 (2006/07/25)
Added "Vector3f Terrain::GetNormal(float,float)" and
"Vector3f ClodTerrain::GetNormal(float,float)" functions to allow you to
estimate how sloped the terrain is at a given location.
//----------------------------------------------------------------------------
LibGraphics/Terrain/Wm4Terrain.h
4.0.1 (2006/07/25)
Added "Vector3f Terrain::GetNormal(float,float)" and
"Vector3f ClodTerrain::GetNormal(float,float)" functions to allow you to
estimate how sloped the terrain is at a given location.
//----------------------------------------------------------------------------
LibGraphics/Terrain/Wm4ClodTerrain.cpp
4.0.1 (2006/07/25)
Added "Vector3f Terrain::GetNormal(float,float)" and
"Vector3f ClodTerrain::GetNormal(float,float)" functions to allow you to
estimate how sloped the terrain is at a given location.
//----------------------------------------------------------------------------
LibGraphics/Terrain/Wm4ClodTerrain.h
4.0.1 (2006/07/25)
Added "Vector3f Terrain::GetNormal(float,float)" and
"Vector3f ClodTerrain::GetNormal(float,float)" functions to allow you to
estimate how sloped the terrain is at a given location.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Vector2.cpp
4.0.1 (2006/07/25)
Added static const Vector2::ONE, vectors whose components are all 1.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Vector2.h
4.0.2 (2006/07/25)
Added static const Vector2::ONE, vectors whose components are all 1.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Vector3.cpp
4.0.1 (2006/07/25)
Added static const Vector3::ONE, vectors whose components are all 1.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Vector3.h
4.0.2 (2006/07/25)
Added static const Vector3::ONE, vectors whose components are all 1.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Vector4.cpp
4.0.1 (2006/07/25)
Added static const Vector4::ONE, vectors whose components are all 1.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Vector4.h
4.0.1 (2006/07/25)
Added static const Vector4::ONE, vectors whose components are all 1.
//----------------------------------------------------------------------------
LibRenderers/OpenGLRenderer/Wm4AglRenderer.cpp
4.0.1 (2006/07/25)
Implemented Activate() and IsActive().  Modified BeginScene() so that it does
not change the active context.  Added SaveContext/RestoreContext for
activating the correct context for releasing renderer resources.
//----------------------------------------------------------------------------
LibRenderers/OpenGLRenderer/Wm4AglRenderer.h
4.0.1 (2006/07/25)
Implemented Activate() and IsActive().  Added SaveContext/RestoreContext for
activating the correct context for releasing renderer resources.
//----------------------------------------------------------------------------
LibRenderers/OpenGLRenderer/Wm4GlxRenderer.cpp
4.0.1 (2006/07/25)
Implemented Activate(), IsActive(), and BeginScene().  Added
SaveContext/RestoreContext for activating the correct context for releasing
renderer resources.
//----------------------------------------------------------------------------
LibRenderers/OpenGLRenderer/Wm4GlxRenderer.h
4.0.1 (2006/07/25)
Implemented Activate(), IsActive(), and BeginScene().  Added
SaveContext/RestoreContext for activating the correct context for releasing
renderer resources.
//----------------------------------------------------------------------------
LibRenderers/OpenGLRenderer/Wm4WglRenderer.cpp
4.0.1 (2006/07/25)
Implemented Activate(), IsActive(), and BeginScene().  Added
SaveContext/RestoreContext for activating the correct context for releasing
renderer resources.
//----------------------------------------------------------------------------
LibRenderers/OpenGLRenderer/Wm4WglRenderer.h
4.0.1 (2006/07/25)
Implemented Activate(), IsActive(), and BeginScene().  Added
SaveContext/RestoreContext for activating the correct context for releasing
renderer resources.
//----------------------------------------------------------------------------
LibRenderers/OpenGLRenderer/Wm4OpenGLResourcesLR.cpp
4.0.1 (2006/07/25)
Added SaveContext/RestoreContext for activating the correct context for
releasing renderer resources.
//----------------------------------------------------------------------------
LibRenderers/OpenGLRenderer/Wm4OpenGLRenderer.h
4.0.1 (2006/07/25)
Added SaveContext/RestoreContext for activating the correct context for
releasing renderer resources.
//----------------------------------------------------------------------------
LibGraphics/Rendering/Wm4Renderer.cpp
4.0.1 (2006/07/25)
Added Activate() and IsActive() to support multiple renderers/windows.
Implemented Activate().
//----------------------------------------------------------------------------
LibGraphics/Rendering/Wm4Renderer.inl
4.0.1 (2006/07/25)
Added Activate() and IsActive() to support multiple renderers/windows.
Implemented Activate().
//----------------------------------------------------------------------------
LibGraphics/Rendering/Wm4Renderer.inl
4.0.1 (2006/07/25)
Added Activate() and IsActive() to support multiple renderers/windows.
Implemented Activate().
//----------------------------------------------------------------------------
LibGraphics/Rendering/Wm4Light.cpp
4.0.1 (2006/07/25)
Removed the bUnitLength parameter from SetDirection.  The input direction
still does not have to be unit length.
//----------------------------------------------------------------------------
LibGraphics/Rendering/Wm4Light.h
4.0.1 (2006/07/25)
Removed the bUnitLength parameter from SetDirection.  The input direction
still does not have to be unit length.
//----------------------------------------------------------------------------
LibFoundation/Intersection/Wm4IntrTriangle3Triangle3.h
4.0.1 (2006/07/25)
Added new functions ContainsPoint and IntersectsSegment.
//----------------------------------------------------------------------------
LibFoundation/Intersection/Wm4IntrTriangle3Triangle3.cpp
4.0.2 (2006/07/25)
Added new functions ContainsPoint and IntersectsSegment.  Used these in a
rewrite of Find.
//----------------------------------------------------------------------------
SampleFoundation/MeshEnvelope/MeshEnvelope.xcodeproj/project.pbxproj
SampleFoundation/MeshEnvelope/MeshEnvelope_VC80.vcproj
SampleFoundation/MeshEnvelope/MeshEnvelope_VC71.vcproj
SampleFoundation/MeshEnvelope/MeshEnvelope_VC70.vcproj
SampleFoundation/MeshEnvelope/MeshEnvelope_VC60.dsp
SampleFoundation/MeshEnvelope/MeshEnvelope.cpp
SampleFoundation/MeshEnvelope/MeshEnvelope.h
SampleFoundation/MeshEnvelope/CreateEnvelope.cpp
SampleFoundation/MeshEnvelope/CreateEnvelope.h
SampleFoundation/MeshEnvelope/EndPoint.h
SampleFoundation/MeshEnvelope/Rational.h
SampleFoundation/MeshEnvelope/SegmentGraph.cpp
SampleFoundation/MeshEnvelope/SegmentGraph.h
4.0.0 (2006/07/24)
New project.
//----------------------------------------------------------------------------
LibFoundation/Containment/Wm4ContBox3.cpp
4.0.1 (2006/07/23)
Modified GenerateOrthonormalBasis to always normalize the input vector.
Added GenerateComplementBasis to allow unit-length input vector.
//----------------------------------------------------------------------------
LibFoundation/Containment/Wm4ContCapsule3.cpp
4.0.1 (2006/07/23)
Modified GenerateOrthonormalBasis to always normalize the input vector.
Added GenerateComplementBasis to allow unit-length input vector.
//----------------------------------------------------------------------------
LibFoundation/Distance/Wm4DistLine3Rectangle3.cpp
4.0.1 (2006/07/23)
Modified GenerateOrthonormalBasis to always normalize the input vector.
Added GenerateComplementBasis to allow unit-length input vector.
//----------------------------------------------------------------------------
LibFoundation/Distance/Wm4DistLine3Triangle3.cpp
4.0.1 (2006/07/23)
Modified GenerateOrthonormalBasis to always normalize the input vector.
Added GenerateComplementBasis to allow unit-length input vector.
//----------------------------------------------------------------------------
LibFoundation/Intersection/Wm4IntrLine3Capsule3.cpp
4.0.1 (2006/07/23)
Modified GenerateOrthonormalBasis to always normalize the input vector.
Added GenerateComplementBasis to allow unit-length input vector.
//----------------------------------------------------------------------------
LibFoundation/Intersection/Wm4IntrLine3Cylinder3.cpp
4.0.1 (2006/07/23)
Modified GenerateOrthonormalBasis to always normalize the input vector.
Added GenerateComplementBasis to allow unit-length input vector.
//----------------------------------------------------------------------------
LibFoundation/Intersection/Wm4IntrSphere3Sphere3.cpp
4.0.1 (2006/07/23)
Modified GenerateOrthonormalBasis to always normalize the input vector.
Added GenerateComplementBasis to allow unit-length input vector.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Vector2.h
4.0.1 (2006/07/23)
Modified GenerateOrthonormalBasis to always normalize the input vector.
Added GenerateComplementBasis to allow unit-length input vector.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Vector2.inl
4.0.1 (2006/07/23)
Modified GenerateOrthonormalBasis to always normalize the input vector.
Added GenerateComplementBasis to allow unit-length input vector.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Vector3.h
4.0.1 (2006/07/23)
Modified GenerateOrthonormalBasis to always normalize the input vector.
Added GenerateComplementBasis to allow unit-length input vector.
//----------------------------------------------------------------------------
LibFoundation/Mathematics/Wm4Vector3.inl
4.0.1 (2006/07/23)
Modified GenerateOrthonormalBasis to always normalize the input vector.
Added GenerateComplementBasis to allow unit-length input vector.
//----------------------------------------------------------------------------
LibFoundation/Meshes/Wm4MeshCurvature.cpp
4.0.1 (2006/07/23)
Modified GenerateOrthonormalBasis to always normalize the input vector.
Added GenerateComplementBasis to allow unit-length input vector.
//----------------------------------------------------------------------------
LibFoundation/Surfaces/Wm4ImplicitSurface.cpp
4.0.1 (2006/07/23)
Modified GenerateOrthonormalBasis to always normalize the input vector.
Added GenerateComplementBasis to allow unit-length input vector.
//----------------------------------------------------------------------------
File: LibGraphics/Detail/Wm4CreateClodMesh.cpp
4.0.1 (2006/07/22)
Improved the performance of ComputeRecords by using an STL multimap.
//----------------------------------------------------------------------------
LibFoundation/Intersection/Wm4IntrTriangle3Triangle3.cpp
4.0.1 (2006/07/22)
The grazing contact case in GetInterval was incorrectly computing the edge
parameter at the intersection point.
//----------------------------------------------------------------------------
LibFoundation/ComputationalGeometry/Wm4DelTriangle.cpp
4.0.1 (2006/07/19)
The characterization for being part of the insertion polygon was implemented
as "IsComponent = (iRelation <= 0)".  This needed to be
"IsComponent = (iRelation < 0)".  The equality amounts to having three
collinear points.  The current triangle must not be part of the insertion
polygon in this case.
//----------------------------------------------------------------------------
LibFoundation/ImageAnalysis/Wm4RasterDrawing.cpp
4.0.1 (2006/07/07)
In GeneralEllipse2D, removed the constraint about the signs of the axis
components.  The function now adjusts the input so that the drawing is
correct for any perpendicular input axes.  The comments have been modified to
indicate that perpendicular floating-point-valued axes might round to
integer-valued axes that are nearly perpendicular.
//----------------------------------------------------------------------------
LibFoundation/ImageAnalysis/Wm4RasterDrawing.h
4.0.1 (2006/07/07)
In GeneralEllipse2D, removed the constraint about the signs of the axis
components.  The function now adjusts the input so that the drawing is
correct for any perpendicular input axes.  The comments have been modified to
indicate that perpendicular floating-point-valued axes might round to
integer-valued axes that are nearly perpendicular.
//----------------------------------------------------------------------------
LibFoundation/ComputationalGeometry/Wm4TriangulateEC.cpp
4.0.1 (2006/07/04)
Propagated a bug fix from WM3 to WM4.  The "int RemoveE()" function needed to
be "int RemoveE(int)".  The "RemoveE()" function call becomes
"m_iEFirst = RemoveE(m_iEFirst)".
//----------------------------------------------------------------------------
LibFoundation/ComputationalGeometry/Wm4TriangulateEC.h
4.0.1 (2006/07/04)
Propagated a bug fix from WM3 to WM4.  The "int RemoveE()" function needed to
be "int RemoveE(int)".
//----------------------------------------------------------------------------
