ftp.nice.ch/pub/next/science/chemistry/BeakerBoy.0.31.s.tar.gz#/BeakerBoy.0.31.s/BBRenderingStyle.h

This is BBRenderingStyle.h in view mode; [Download] [Up]

/* BBRenderingStyle.h				 
 *
 * This object knows how the rendering quality should be. It will produce the
 * necessary RenderMan code too.
 *
 * Usage: Just make your settings and when ever you need something...get it.
 *
 * Written by: 		Thomas Engel
 * Created:    		08.03.1994 (Copyleft)
 * Last modified: 	30.05.1994
 */

#import <appkit/appkit.h>
#import <3Dkit/3Dkit.h>

// These are the custom surface types. Used only internally to match the
// NeXT N3DSurfaceTypes to our Interface.

typedef enum
{
	BB_PointCloud = 1, 
	BB_WireFrame, 
	BB_ShadedWireFrame, 
	BB_FacetedSolids, 
	BB_SmoothSolids
} BBSurfaceType;

typedef enum
{
	BB_BoundedRegion = 1,
	BB_BoundedElements,
	BB_RenderedShape
} BBGeometryType;

// Our quality categroies

typedef enum
{
	BB_PoorQuality = 1,
	BB_LowQuality,
	BB_AverageQuality,
	BB_GoodQuality,
	BB_ExcellentQuality
} BBQualityType;

@interface BBRenderingStyle:Object
{
	N3DSurfaceType	surfaceType;
	BBSurfaceType	geometryType;
	id				shader;
	BBQualityType	shadingQuality;
	RtFloat			shadingRate;
	BBQualityType	geometryQuality;
	RtFloat			parameticRate[2];
}

- init;

- applySettingsTo:aShape;
- executeRiCommands;
 
- setSurfaceType:(N3DSurfaceType)theSurface;
- (N3DSurfaceType)surfaceType;
- setGeometryType:(BBGeometryType)theGeometry;
- (BBGeometryType)geometryType;
- setShader:aShader;
- shader;

- setShadingQuality:(BBQualityType)aQuality;
- (BBQualityType)shadingQuality;
- setGeometryQuality:(BBQualityType)aQuality;
- (BBQualityType)geometryQuality;

- subshapesOf:aShape;

@end

/*
 * History: 30.05.94 We are now using a seperate shape and gemorety type.
 *
 *			27.03.94 Started to include it into the project.
 *
 *			08.03.94 First try.
 *
 *
 * Bugs: What ?!
 */

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.