home *** CD-ROM | disk | FTP | other *** search
- // copyright 1993 Michael B. Johnson; some portions copyright 1994, MIT
- // see COPYRIGHT for reuse legalities
- //
-
- #import <appkit/appkit.h>
- #import <3Dkit/N3DShape.h>
- #import "Protocol_WWRenderable.h"
-
- @interface WW3DShape:N3DShape < WWRenderable >
- {
- List *ribCommandList;
- List *ribCommandListRecording;
- id childList;
- id siblingList;
- unsigned
- short pathSeparator;
- char *shadingGroup;
- char *materialGroup;
- char *geometryGroup;
-
- RtFloat originTesselationVector[2];
-
- RtMatrix initialTransform;
-
- BOOL dirtyBases;
- RtBasis uBasis;
- RtToken uBasisToken;
- RtInt uStep;
- RtBasis vBasis;
- RtToken vBasisToken;
- RtInt vStep;
-
- RtColor selectedColor;
- RtColor unselectedColor;
- RtColor xColor;
- RtFloat xExtent;
- RtColor yColor;
- RtFloat yExtent;
- RtColor zColor;
- RtFloat zExtent;
-
- BOOL selected;
- BOOL drawOrigin;
- BOOL dirtyBoundingBox;
- RtFloat bbIntervalStart, bbIntervalEnd;
-
- RtColor opacity;
-
- id interp;
- id sceneClock;
-
- // support for direct interaction...
- BOOL hasEveCmd;
- }
-
- - initWithInterp:newInterp andSceneClock:newSceneClock;
-
- - performUpdateForInteraction:(WW3DCamera *)camera;
-
- - tclInterp;
- - sceneClock;
-
- - setShader_:newShader;
- - removeSurfaceShader:sender;
- - removeDisplacementShader:sender;
-
- - appendRIBCommand:newRIBCommand;
- - ribCommands;
-
- - setShadingGroup:(const char *)newGroup;
- - setMaterialGroup:(const char *)newGroup;
- - setGeometryGroup:(const char *)newGroup;
-
- - updateBases;
-
- - setBoundingBoxDirty;
-
- - logTransformWithMsg:(const char *)aMsg;
-
- - getInitialTransformMatrix:(RtMatrix)aMatrix;
- - (RtBasis *)uBasis;
- - (RtToken)uBasisToken;
- - (RtInt)uStep;
- - (RtBasis *)vBasis;
- - (RtToken)vBasisToken;
- - (RtInt)vStep;
-
- // methods for getting info about the shape's children
- - parent;
- - addChild:newChild;
- - children;
- - siblings;
- - (unsigned short)pathSeparator;
- - setPathSeparator:(unsigned short)newSeparator;
- - getChildGivenPath:(const char *)path;
- - (char *)getPath;
-
- - setSelected:(BOOL)selectionFlag andDrawOrigin:(BOOL)drawOriginFlag;
- - setSelectedColor:(RtColor)newColor;
- - setDrawOrigin:(BOOL)drawOriginFlag;
- - (RtColor *)selectedColor;
- - setUnselectedColor:(RtColor)newColor;
- - (RtColor *)unselectedColor;
-
- // archiving methods
- - write:(NXTypedStream *)stream;
- - read:(NXTypedStream *)stream;
-
- @end
-