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

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

/* BBMolecule.h				 
 *
 * This is where all the atoms, bonds an molecule infos are collected and
 * controlled. It just stores the basic data and has nothing to do with the
 * way a molecule is drawn! The actual drawing is perfromed by different
 * shapes.
 *
 * Usage: Just create a new molecule and then add your atoms/bonds.
 *		  The atoms and bond have to be instantiated before they are added. 	
 * 		  Creation is not done by the addAtom/Bond methods.
 *		  But freeÂing the molecule frees the atoms/bond eg. too!
 *
 * Hints: Also the molecule is capable of setting a drawing style we are not
 *		  the only possible visible structure but we are the default(region).
 *		  One could set/add any object to (be) the visibleRegion(s). You can
 *		  change the list from the outside etc.
 *		  All we need is a object that responds to the getShapesInto: method!
 *
 *		  Remember: a molecule must have a drawing/rotationStyle. Subregions
 *		  may rely on that.
 *
 * Written by: 		Thomas Engel
 * Created:    		15.11.1993 (Copyleft)
 * Last modified: 	17.05.1994
 */

#import "BBRegion.h"

@interface BBMolecule:BBRegion
{
	id	beaker;
	id	defaultRegion;

	BBSuitcase *	regionList;
	BBSuitcase *	visibleRegions;
}

- init;
- free;

- setBeaker:aBeaker;
- beaker;

- addAtom:anAtom;

- addRegion:aRegion;
- regionList;
- addVisibleRegion:aRegion;
- visibleRegions;
- defaultRegion;

- shapeClass;
- shape;

@end

/*
 * History: 17.05.94 Added flexible shape creation.
 *
 *			02.05.94 Its a BBSuitcase now.
 *
 *			09.03.94 Made it a subclass of BBMoleculeGroup and changed the
 *					 name to BBRegion. And switched groups to regions.
 *
 *			13.01.94 Changed the naming 
 *
 *			10.01.94 Changed some methods to work properly with our
 *					 new objectWell.
 *
 *			28.12.93 Included the objectImage handling & added the groupList.
 *
 *			15.11.93 Wrote some basic methods for testing. Later this object
 *					 could be completly different!
 *
 *
 * Bugs: - I don't line the drawingStlye method name..will have to change it.
 *		   Maybe I find something nice.
 *
 *		 - Looks like it works but ....?
 */

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