Carnivorous Plants Website
Carnivorous Plants in the Wilderness
by Makoto Honda





Update Info   


2011 May 20  
I went through all the utility C# classes I have (from C++) and converted them to C# struct - because a struct is "value-typed" and behaves much more intuitively than a "reference-typed" class. Everything went OK except a matrix class: Since C# struct does not allow me to define a default constructor, I just added a dummy int argument to keep it for identity matrix creation. Since a default constructor for struct is automatically provided by the system, I got no errors and I forgot to change the calling sequence where an identity matrix is needed. (C# default consructor for struct sets all member data to a default value, a la zero.) As expected, I got a completely messed-up transformation matrix and graphics were really weird. It took me several hours of debugging to realize all my identity matrices were not set right.

2011 March 13  
Successfully converted C++ GUtility to C#.

2011 March 5  
I was flabbergasted to see 3D graphic rendition by WPF. I rendered a 3D image under WPF/C#. See this.

2011 March 3  
A real-world WPF/C# experience under my belt, I started a new project to convert this current G system to a WPF-based system. The "G-CS" is the name of this project (G-CSharp). Actually, I have defined three projects:

Project 1 - "WPF Summary": This is an effort on my part to digest fully and make a summary of all the basic WPF features I learned. Duration is one week.
Project 2 - "G-CS": As mentioned above, I am going to convert my G-system to WPF/C#. C++/MFC/OpenGL will be replaced by C#/WPF/DirectX. Projected duration is one month.
Project 3 - "G-SilverLight": Client/Server, Network, MySQL, Cloud-hosting... Duration one year...

2010 September 15  
Finally succeeded in making this G-System CAD downloadable from this website - just click
G-System Install
I tried installing from the web on my laptop where I publish this web, and it worked OK for me. I ran it and it seems good. But I have not tried from other machines yet. Let me know if it worked for you. As for Getting started, please look at Mouse Usage under User Guide on the left pane.

2010 September 14  
All the strange problems I was having in VC++2008 were due to project file (*.vcproj) corruption. I manually fixed *.vcproj for each project.
In G-System, I added View-->Restore View command.
I created a setup file and it installed OK, but I am still having a problem of making it downloadable from my web site....

2010 September 13  
I was looking into BuildLog.htm and noticed G project build for "release" is using \debug\*.lib. Also noticed \A_Lib\ is being used. This is wrong, but I cannot see where these inputs are defined in VC++2008 solution/project Properties Pages....  Obviously these are leftover from VC++6.0 and were copied into VC++2008 environment when the projects were automatically converted into VC++2008 projects.

2010 September 13  
Just realized that FK_cfd project has a dependency on FK_element..

2010 September 9  
- CFD grid / domain can now be written out to a file (.txt) using Common file dialog. Two icons - Write domain file / Write grid file.
- Resource.h was deprecated from FKbase project.
- Resource.h belongs to G/, and it should be copied to A_Include for others to access.
- Suppressed the compiler warning level to W1.  I have too many warnings due to a float-double possible loss of data message.

2010 September 3
Succeeded in porting this CAD to VS2008 (VC++2008). Cheers!!!!!  Was in VC++6.0.  Documenting (here) issues encountered in porting (still on-going). Also, trying to think about porting to .NET!!!! ...

2010 April 22  
Adding more documentation. Will organize in a better format in time, but for now, this is where I throw all documentation...

2010 April 10  
For the purpose of temporary element display, I was using a fixed size array (size=1000) just for a quick/dirty test of concept. It was working fine. But when I started displaying meshing grids, it exceeded the limit. I am talking about grid point "display", not the actual grid points themselves. They are dynamically allocated and pose no issue. But my visual cue display was being done by a static array, and that had to be changed. I have just changed the scheme to use MFC's CObList for point display. I am not sure if using CObList template is too heavy for display purpose, but it seems to be performing well, and I see a smooth display of a few thousand grid points moving though the domain.

2010 March 14  
Completed an insertion feature. An element can be inserted into the domain, and the necessary decomposition of the domain is performed automatically. The element can be large to span multiple regions (cells) in the original domain, but I just tested the case where an element inserted falls within a single region. Click here for illustration...

2010 March 10  
I am adding a feature that allows the user to insert an element into the existing domain.... Click here for illustration...

2010 February 10  
Added my own grid generation system for CFD application. This is a hexahedral mesh generation. I am taking an incremental development approach. That is, I initially support an edge (between vertices) that is a straight line (type=1). In the future, I will extend that to support other edge types, such as arc (type=2) and spline (type=3). Click here for what I have done. Click here for slicing operation.

2009 December 31  
This site opened on December 31, 2009. to document this CAD system I created single-handedly....