go to www.geomview.org home page



Mailing List

Geomview For Windows?


Bug Reporting
Contact Us



Site Search



About the software@geom archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: geomview development

> Hello Geomview developers,
> We are beginning development of a geometry viewer that has requirements
> which include:
>   provides a graphical user interface
>   accepts NURBS data for surface definitions
>   is portable to a wide variety of systems (SUN, DEC, HP, SGI, others)
> We have been looking at Geomview and it looks like a great tool!  We think
> that it could form a good basis for the viewer that we need to design.
> By making some modifications and adding some extensions to meet our
> requirements, we think you could save us a lot of development time.
> The portability that we need would be obtained by using X for the GUI, and
> HOOPS for the graphics display (We're going to get run-time licenses for
> HOOPS, and it will run on all the systems mentioned; that way we'll avoid
> having to write different drivers for each system).
> I've been looking a little at the source for the SGI version, but what we
> would really need is the X11 source (to avoid use of FORMS).  Also, do you
> have any information on how the source is organized?  I'm also a little
> confused about how the different levels are built on each other:  MG, OOGL,
> and geomview itself.  What would be really useful here is any overview or
> design documents that you could share with us.
> We appreciate any help you can give us.  Hope to hear from you soon.
> Thanks.

Hi Mary,

  Sorry we've taken so long to get back to you. Things are a little hectic
right now for various reasons. We are, of course, very curious about what
types of extensions and modifications you would be interested in doing. I
have heard of the HOOPS library before and it might very well be able to
serve your purposes as a portable graphics library.

  Currently, as you are probably aware, we only have a binary available for the
X11 version. There have been delays in releasing the source because other
activities have been stealing away our time but with enough prodding I think
we will be able to get it out fairly soon. The X11 interface depends on the
motif libraries and the mg-X11 driver. Porting to HOOPS would require writing
a new mg-HOOPS driver.

  At your request I have included some information on how the source code is
organized. Some of this information may already be included with the standard

MG Library - excerpt from Geomview/src/lib/mg/mg.doc:

                          MinneGraphics (MG)
                         The Geometry Center
                              July 1991

                 mbp, slevy, Sun Jul 21 15:16:25 1991

This document defines MG.  MG is a graphics library which provides a
common interface for doing interactive 3D graphics on a variety of
platforms.  The main intent is that it will be used with OOGL (Object
Oriented Graphics Lanauge), but there is nothing OOGL-specific about
MG, and conceivably other applications could use it as well.

MG is not meant to be as general or powerful as other 3D graphics
lanuages such as GL, XGL, RenderMan, PHIGS, etc. --- rather it is
meant to provide access to the most important operations common to all
of these languages.  MG is deliberately simple. It is *not* an attempt
to solve the 3D graphics standardization problem.  Until a widely
accepted standard does emerge, MG is an attempt to insulate ourselves
from the specifics of individual graphics lanuages, allowing us to
write programs that will run under a variety of these languages.

MG consists of several parts: a common part, and a part for each
device (language) on which it it implemented.  The library files are
constructed so that each device-specific library includes the common
part, so the application program only needs to link in the libraries
corresponding to the devices it wants to use (there is no separate
"common" library).

Any application program using MG should include the header file "mg.h".


OOGL Library - This is the library of functions that parses, maintains and
               manipulates data structures for 3, 4 and N dimensional
	       objects specified in the OOGL File Formats. It is the core
	       of the Geomview application, necessary for maintaining the
	       order & structure of Geomview's virtual space.

There is not much documentation for OOGL. Here is an excerpt from
Geomview/doc/oogl.5, a file that describes all the OOGL file formats in
lengthy detail:

OOGL File Formats

The objects that you can load into Geomview are called OOGL objects.
OOGL stands for "Object Oriented Graphics Library"; it is the library
upon which Geomview is built.

There are many different kinds of OOGL objects.  This chapter gives
syntactic descriptions of file formats for OOGL objects.

Examples of most file types live in Geomview's `data/geom'


Syntax Common to All OOGL File Formats

Most OOGL object file formats are free-format ASCII --- any amount of
white space (blanks, tabs, newlines) may appear between tokens (numbers,
key words, etc.).  Line breaks are almost always insignificant, with a
couple of exceptions as noted.  Comments begin with # and continue to
the end of the line; they're allowed anywhere a newline is.


The majority of other libraries used in the construction of Geomview contain
more primitive functions such as those for performing transformations,
those for evaluating arbitrary numerical expressions, functions for finding
bounding boxes, face and vertex normals, etc... Unfortunately there are no
overall design documents, just miscellaneous documentation for various
parts of the entire package. However, after sufficient study it is usually
possible to get a grasp of how the entire thing is organized.

Hope this helps. Please keep us up to date, via email, on the status of your
project. Thank you!


daeron at geom.umn.edu

Home | Overview | FAQ | Documentation | Support | Download | Mailing List
Windows? | Development | Bug Reporting | Contributing | Contact Us | Sponsors
site hosted by
SourceForge Logo