//	molecules.h
//
//	File to include many of the definitions needed for the
//	molecular modeling project
//
//	September 1999, Steve Cunningham
//	(c) 1999
//

//	Tables for storing atom names and colors

#define ATSIZE 36 // size of tables; not necessarily full periodic table

char atomNames[ATSIZE][4] = { // used to get index for color, size
	{"H   "}, // Hydrogen
	{"He  "}, // Helium
	{"Li  "}, // Lithium
	{"Be  "}, // Beryllium
	{"B   "}, // Boron
	{"C   "}, // Carbon
	{"N   "}, // Nitrogen
	{"O   "}, // Oxygen
	{"F   "}, // Fluorine
	{"Ne  "}, // Neon
	{"Na  "}, // Sodium
	{"Mg  "}, // Manganese
	{"Al  "}, // Aluminum
	{"Si  "}, // Silicon
	{"P   "}, // Phosphorus
	{"S   "}, // Sulfur
	{"Cl  "}, // Chlorine
	{"Ar  "}, // Argon
	{"K   "}, // Potassium
	{"Ca  "}, // Calcium
	{"Sc  "}, // Scandium
	{"Ti  "}, // Titanium
	{"V   "}, // Vanadium
	{"Cr  "}, // Chromium
	{"Mn  "}, // Manganese
	{"Fe  "}, // Iron
	{"Co  "}, // Cobalt
	{"Ni  "}, // Nickle
	{"Cu  "}, // Copper
	{"Zn  "}, // Zinc
	{"Ga  "}, // Gallium
	{"Ge  "}, // Germanium
	{"As  "}, // Arsenic
	{"Se  "}, // Selenium
	{"Br  "}, // Boron
	{"Kr  "}  // Krypton
	};

float atomColors[ATSIZE][4] = { // colors are arbitrary
	{1.0, 1.0, 1.0, 0.8}, // Hydrogen
	{1.0, 1.0, 1.0, 0.8}, // Helium
	{1.0, 1.0, 1.0, 0.8}, // Lithium
	{1.0, 1.0, 1.0, 0.8}, // Beryllium
	{1.0, 1.0, 1.0, 0.8}, // Boron
	{0.0, 1.0, 0.0, 0.8}, // Carbon
	{0.0, 0.0, 1.0, 0.8}, // Nitrogen
	{1.0, 0.0, 0.0, 0.8}, // Oxygen
	{1.0, 1.0, 1.0, 0.8}, // Fluorine
	{1.0, 1.0, 1.0, 0.8}, // Neon
	{1.0, 0.6, 0.0, 0.8}, // Sodium
	{1.0, 1.0, 0.0, 0.8}, // Manganese
	{0.0, 0.9, 0.9, 0.8}, // Aluminum
	{1.0, 0.5, 0.0, 0.8}, // Silicon
	{1.0, 0.0, 1.0, 0.8}, // Phosphorus
	{0.0, 1.0, 0.0, 0.8}, // Sulfur
	{0.0, 1.0, 0.0, 0.8}, // Chlorine
	{0.5, 1.0, 1.0, 0.8}, // Argon
	{1.0, 0.6, 0.0, 0.8}, // Potassium
	{1.0, 1.0, 0.0, 0.8}, // Calcium
	{1.0, 0.0, 0.4, 0.8}, // Scandium
	{1.0, 0.0, 0.4, 0.8}, // Titanium
	{1.0, 0.0, 0.4, 0.8}, // Vanadium
	{1.0, 0.0, 0.4, 0.8}, // Chromium
	{1.0, 0.0, 0.4, 0.8}, // Manganese
	{1.0, 0.0, 0.4, 0.8}, // Iron
	{1.0, 0.0, 0.4, 0.8}, // Cobalt
	{1.0, 0.0, 0.4, 0.8}, // Nickle
	{1.0, 0.0, 0.4, 0.8}, // Copper
	{1.0, 0.0, 0.4, 0.8}, // Zinc
	{0.0, 0.9, 0.9, 0.8}, // Gallium
	{0.0, 0.9, 0.9, 0.8}, // Germanium
	{0.0, 1.0, 0.0, 0.8}, // Arsenic
	{0.0, 1.0, 0.0, 0.8}, // Selenium
	{0.0, 1.0, 0.0, 0.8}, // Boron
	{0.5, 1.0, 1.0, 0.8}  // Krypton
	};

float atomSizes[ATSIZE] = { // sizes increase as the electron shells increase
	{0.37},		// Hydrogen
	{0.50},		// Helium
	{1.52},		// Lithium
	{1.11},		// Beryllium
	{0.88},		// Boron
	{0.77},		// Carbon
	{0.70},		// Nitrogen
	{0.66},		// Oxygen
	{0.64},		// Fluorine
	{0.70},		// Neon
	{1.5}, // Sodium *
	{1.5}, // Manganese *
	{1.5}, // Aluminum *
	{1.17},		// Silicon
	{1.10},		// Phosphorus
	{1.5}, // Sulfur
	{0.99},		// Chlorine
	{1.5}, // Argon *
	{2.0}, // Potassium *
	{2.0}, // Calcium *
	{2.0}, // Scandium *
	{2.0}, // Titanium *
	{2.0}, // Vanadium *
	{2.0}, // Chromium *
	{2.0}, // Manganese *
	{2.0}, // Iron *
	{2.0}, // Cobalt *
	{2.0}, // Nickle *
	{2.0}, // Copper *
	{2.0}, // Zinc *
	{2.0}, // Gallium *
	{2.0}, // Germanium *
	{2.0}, // Arsenic *
	{2.0}, // Selenium *
	{2.0}, // Boron *
	{2.0}  // Krypton *
			// Bromine
			// Iodine
	};

GLfloat bondBlack[]={ 0.0, 0.0, 0.0, 1.0 };
