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

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

/* BBRegion.h				 
 *
 * Here we have basic Region. It can handle references to bonds and
 * atoms, it can return its 3Dshape and knows about rendering settings.
 * However. Really stroing atoms/bonds should be left to a molecule.
 * Regions are only logical parts of a molecule.
 *
 * Usage: Should only be used for grouping. It does not really control or
 *		  handle a molecules data.
 *
 * Hints: A normal Molecule will be the subclass of this class!
 *		  And take care. Empty regions should disappear!
 *
 * Written by: 		Thomas Engel
 * Created:    		09.03.1994 (Copyleft)
 * Last modified: 	12.11.1994
 */

#import "BBSuitcase.h"

@interface BBRegion:BBSuitcase
{
	NXColor			color;
	Class *			shapeClass;
	BOOL			shapesInRegionColor;
	id				drawingStyle;
	id				rotationStyle;
	BBSuitcase *	atomList;
	BBSuitcase *	bondList;
}

+ initialize;

- init;
- free;

- setColor:(NXColor)aColor;
- (NXColor)color;
- setShapesInRegionColor:(BOOL)flag;
- (BOOL)shapesInRegionColor;

- setDrawingStyle:aStyle;
- drawingStyle;
- (BOOL)doesHaveDrawingStyle;
- setRotationStyle:aStyle;
- rotationStyle;
- (BOOL)doesHaveRotationStyle;

- beaker;
- molecule;

- addAtom:anAtom;
- atomList;
- addBond:aBond;
- bondList;

// shape will return a N3DShape that is able to draw the region according to
// all the settings.
// The returned shape has to be freed by the outside world of this object!

- open:sender;
- displayClass;
- setShapeClass:aClass;
- shapeClass;
- shape;

- groupClass;

- read:(NXTypedStream *)stream;
- write:(NXTypedStream *)stream;

@end

/*
 * History: 12.11.94 Added archiving and versioning.
 *
 *			17.05.94 Added flexible shape creation.
 *
 *			02.05.94 made it a subclass of the BBSuitcase to drag&drop.
 *
 *			27.03.94 Started to include the different renderSettings.
 *
 *			10.03.94 Switched to the shape method.
 *
 *			09.03.94 First creation.
 *
 *
 * Bugs: - I don't line the drawingStlye method name..will have to change it.
 *		   Maybe I find something nice.
 */

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