Subject:
|
Re: OS 8.6
|
Newsgroups:
|
lugnet.cad.dev.mac
|
Date:
|
Mon, 11 Feb 2002 20:16:06 GMT
|
Viewed:
|
1602 times
|
| |
| |
Hi Don,
OS X is great for Unix-style development. I use it at work for that.
However there isn't a decent debugger (gdb doesn't count.) Nor are there
memory-bounds checker tools or any of the other niceties we take for granted
elsewhere. CodeWarrior at 7.2 (this month) is still not able to provide a
robust debugger for Carbon applications and I haven't tried more than that.
Apple's new tools barely support Carbon development if at all.
(Carbon describes an application based on Mac OS 9 system APIs that were
modernized and cleaned up; Carbon apps can run on 8.6 with CarbonLib
installed or on X where they look like real X apps.)
What I really have in BrickDraw3D is a PowerPlant application. This is the
application framework produced by Metrowerks (CodeWarrior) that provides
window and document models and all sorts of fancy stuff. PowerPlant is
solidly Carbonized, however, doing without some of the non-Carbon pieces has
been problematic for me.
The two big pieces are file services and QuickDraw3D. Carbon forces you to
use Navigation Services for opening files; to put it mildly this became an
unsolved problem. QuickDraw3D is replaced by Quesa/OpenGL which introduces
new bugs. Bleck. My CVS client is also broken under X. Good riddance to that.
My current direction is to continue to factor BrickDraw3D into layers. Right
now there is a drawing model which treats QuickDraw3D renderers equally with
an OpenGL renderer. The DAT parser and geometry structures support both. All
of this is mostly separated from PowerPlant: there is a parallel tree of
View objects (derived from PowerPlant) and the model it represents. For example,
DrawContextView owns a DrawContext
ModelView owns a Model and is a subclass of DrawContextView
RendererType is passed around to indicate graphics choices
Model owns many Geometry objects
Geometry returns both QuickDraw3D and OpenGL data and interfaces with
DrawContext.
DrawContext understands both QuickDraw3D and OpenGL based RendererTypes.
More design information can be gleaned from my class diagrams. These are
available in that CVS archive under the ObjectModels folder. The file is in
ObjectPlant format which is a Mac application you can get off the internet.
|
|
Message has 1 Reply: | | More on BrickDraw3D OO design
|
| I had to close that post before I could mention where all that discussion was going. Briefly, I have been trying from the start to design BrickDraw3D's C++ classes to separate geometry and graphics from the application framework (in this case (...) (23 years ago, 11-Feb-02, to lugnet.cad.dev.mac)
|
Message is in Reply To:
| | Re: OS 8.6
|
| (...) Yes, you guys need a plan of action. You're making progress, but you're flying off in all directions. I think your first step should be to write a document for ldraw.org that details how to set up the parts library from the linux parts (...) (23 years ago, 11-Feb-02, to lugnet.cad.dev.mac)
|
46 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|