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.