I for one support Chris Marrin's suggested inclusion of a generalized
cylinder into the VRML standard, as well as SGI's offer to put the
source for this node into the public domain.
From: "Chris Marrin" <[email protected]>
Date: Mon, 12 Jun 1995 12:53:16 -0700
Please see my proposal for Generalized Cylinder. Not only will it allow
you to specify a torus so you can have your column filigrees but it will
allow a column defined by a surface of revolution.
Speaking of which, I have not heard any comments about my Generalized
Cylinder. Just in case it was lost in space here it is again.
I have taken a closer look at the generalized cylinder. I think this
would be a great thing to include as a node in VRML. We have been
using something we call an irregular cylinder, and it works great for
a lot of items we need to create dynamically. I believe the Inventor
generalized cylinder to be just that - more general than what we
cooked up, and we can see the utility of including it as part of VRML.
[...]
Playing with the coordinates enough can generate an amazing variety of
shapes. All the current primitives in VRML can be simulated quite well
(just to show it's flexibility. I would not suggest replacing them).
The spineCoords are not restricted to 2D points so nice 3D shapes such as
springs and tentacles are possible.
We will put the source for this node into the public domain if adopted to
overcome the issues of implementation. It outputs a FaceSet,
TriangleStripSet or QuadStripSet so it should work well with underlying
VRML primitives regardless of the direction we take.
For the format, I propose the following:
-----------------------
PARTS
SIDES The sides of the shape
TOP The top surface (cross section scaled by 1st profile vertex)
BOTTOM The bottom surface (cross section scaled by by last profile
vertex)
ALL All parts
GeneralizedCylinder {
crossSection # MFVec2f
spine # MFVec3f
profile # MFVec2f
twist # MFFloat
parts # SFBitMask
}