Gargoyle3dModelerDoc.tioga
Bier, June 29, 1985 2:39:41 am PDT
The Gargoyle3d Solid Modeler
CEDAR 7.0 — FOR INTERNAL XEROX USE ONLY
The Gargoyle3d Solid Modeler
Eric Bier
© Copyright 1987 Xerox Corporation. All rights reserved.
Abstract: The Gargoyle3d Solid Modeler provides routines which build, manipulate, and render three dimensional scenes. The scenes are built from a set primitives (spheres, cylinders, cones, blocks, tori, and polygonal laminates) using the Boolean point set operations (union, intersection, and difference). Scenes can be rendered in four styles: wireframe, shaded polygon, hidden line and smoothly shaded. Smoothly shaded pictures are computed with ray tracing. The Solid Modeler is an integral part of the Gargoyle3d Interactive Three-Dimensional Illustrator, which is currently its only client.
Keywords: Three-Dimensional Graphics, Solid Modeling
XEROX  Xerox Corporation
   Palo Alto Research Center
   3333 Coyote Hill Road
   Palo Alto, California 94304

For Internal Xerox Use Only
1. Using the Solid Modeler
Simple Scene Creation
Simple scene creation and rendering can be performed through the SVScene, SVMatrix3d, SVVector3d, and SVCoordSys interfaces. Scene manipulation requires SVTransforms. Ray tracing requires SVSceneToTree, SVPreprocess3d, and SVCastRays.
Using the Solid Modeler to Draw Wireframes
You can drive the wireframe renderer directly through the SVGraphics interface which provides routines similar to Cedar Graphics had (yep, not the Imager), but in 3D. Transformations work differently from Cedar Graphics in that each object can be given its own coordinate frame (created in the SVCoordSys interface), allowing objects to be moved independently. Simple applications may choose to draw all vectors in WORLD coordinates, rather than use the solid modeler coordinate frames.
Two Dimensional Graphics
The Solid modeler also supports two dimensional graphics packages using the same coordinate frame concept. Two dimensional coordinate frames are created in SVCoordSys2d. Polygonal objects can be manipulated with SVVector2d, and SVMatrix2d, and drawn with SVPadGraphics.
Caution
The solid modeler is experimental code. Much of it is still untamed. See the implementor before using.