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
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
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
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
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
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
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
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
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
- Resource.h was deprecated from FKbase project.
- Resource.h belongs to G/, and it should be copied to A_Include for others to
- 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
2009 December 31
This site opened on December 31, 2009. to document
this CAD system I created single-handedly....