ImproveCascade.cpp v1.02

Hi all,

Linus may be taking it easy over the Thanksgiving holidays (, but a little turkey and stuffing didn't prevent us from releasing an update to ImproveCascade!

I incorporated the UNIX fixes contributed by Dr. Mathieu Marache. ImproveCascade.cpp can now be compiled and run on UNIX systems. He tested it on Linux and IRIX, but we'd imagine that it should work with minimal trouble on any other UNIX operating system. Please send in your fixes or questions if you encounter any trouble using ImproveCascade on other operating systems.

I also added a few other fixes that I've accumulated in the last few months, such as some special-case logic to avoid the extra "flush" replacements that Holger Hahn reported about a month ago when using Open Cascade 5.1. I've now run ImproveCascade on Open Cascade 5.1 and compiled the result with the MSVC .NET 2003 compiler. I did not observe or encounter Holger Hahn's recent problems with fdstream.hpp, so I guess that just reaffirms that that problem is specific to the MSVC 6.0 compiler.

I did encounter one compiler error - I was not able to build the TKViewerTest project. I get a compile error:
'HashCode' : none of the 13 overloads can convert parameter 1 from type 'const TCollection_AsciiString'
in line 9 of TCollection_MapHasher.gxx when compiling Viewer2dTest_MapAsciiHasher_0.cxx. I don't see any ImproveCascade-generated code nearby so I don't think it's our fault, but it might be some strange casting problem. OpenCascade has a HashCode function for PCollection_HAsciiString and one for TCollection_ExtendedString, but I couldn't find the one for TCollection_AsciiString that it seems to be looking for. Since it's just a viewer test program, I'm ignoring the problem for now.

As always, instructions and the latest version are available at

-- Conrad