|
@@ -129,28 +129,7 @@
|
|
|
baseSprite.onload = function () {
|
|
|
|
|
|
loadMolecule( "models/molecules/caffeine.pdb" );
|
|
|
-
|
|
|
- function generateButtonCallback( url ) {
|
|
|
-
|
|
|
- return function ( event ) {
|
|
|
-
|
|
|
- loadMolecule( url );
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- for ( var m in MOLECULES ) {
|
|
|
-
|
|
|
- var button = document.createElement( 'button' );
|
|
|
- button.innerHTML = m;
|
|
|
- menu.appendChild( button );
|
|
|
-
|
|
|
- var url = "models/molecules/" + MOLECULES[ m ];
|
|
|
-
|
|
|
- button.addEventListener( 'click', generateButtonCallback( url ), false );
|
|
|
-
|
|
|
- }
|
|
|
+ createMenu();
|
|
|
|
|
|
};
|
|
|
|
|
@@ -164,40 +143,34 @@
|
|
|
|
|
|
//
|
|
|
|
|
|
- function parseColor( colorString ) {
|
|
|
-
|
|
|
- // default to white opaque
|
|
|
+ function generateButtonCallback( url ) {
|
|
|
|
|
|
- var r, g, b, a;
|
|
|
- r = g = b = a = 1;
|
|
|
+ return function ( event ) {
|
|
|
|
|
|
- var matchRGBA = reRGBA.exec( colorString );
|
|
|
+ loadMolecule( url );
|
|
|
|
|
|
- if ( matchRGBA ) {
|
|
|
+ }
|
|
|
|
|
|
- r = parseInt( matchRGBA[ 1 ] ) / 255;
|
|
|
- g = parseInt( matchRGBA[ 2 ] ) / 255;
|
|
|
- b = parseInt( matchRGBA[ 3 ] ) / 255;
|
|
|
- a = parseFloat( matchRGBA[ 4 ] );
|
|
|
+ }
|
|
|
|
|
|
- } else {
|
|
|
+ function createMenu() {
|
|
|
|
|
|
- var matchRGB = reRGB.exec( colorString );
|
|
|
+ for ( var m in MOLECULES ) {
|
|
|
|
|
|
- if ( matchRGB ) {
|
|
|
+ var button = document.createElement( 'button' );
|
|
|
+ button.innerHTML = m;
|
|
|
+ menu.appendChild( button );
|
|
|
|
|
|
- r = parseInt( matchRGB[ 1 ] ) / 255;
|
|
|
- g = parseInt( matchRGB[ 2 ] ) / 255;
|
|
|
- b = parseInt( matchRGB[ 3 ] ) / 255;
|
|
|
+ var url = "models/molecules/" + MOLECULES[ m ];
|
|
|
|
|
|
- }
|
|
|
+ button.addEventListener( 'click', generateButtonCallback( url ), false );
|
|
|
|
|
|
}
|
|
|
|
|
|
- return { "r": r, "g": g, "b": b, "a": a };
|
|
|
-
|
|
|
}
|
|
|
|
|
|
+ //
|
|
|
+
|
|
|
function colorify( ctx, width, height, color, a ) {
|
|
|
|
|
|
var r = color.r;
|
|
@@ -247,8 +220,6 @@
|
|
|
|
|
|
function loadMolecule( url ) {
|
|
|
|
|
|
- //console.log( "loading", url );
|
|
|
-
|
|
|
for ( var i = 0; i < objects.length; i ++ ) {
|
|
|
|
|
|
scene.remove( objects[ i ] );
|
|
@@ -268,7 +239,7 @@
|
|
|
var color = geometry.colors[ i ];
|
|
|
var element = geometry.elements[ i ];
|
|
|
|
|
|
- if ( !colorSpriteMap[ element ] ) {
|
|
|
+ if ( ! colorSpriteMap[ element ] ) {
|
|
|
|
|
|
var canvas = imageToCanvas( baseSprite );
|
|
|
var context = canvas.getContext( '2d' );
|
|
@@ -296,8 +267,6 @@
|
|
|
|
|
|
}
|
|
|
|
|
|
- //console.log( "atoms", geometry.vertices.length );
|
|
|
-
|
|
|
render();
|
|
|
|
|
|
} );
|