# `class Watermelon`

Available on all platforms

Watermelon: core class of wm3d

## Instance Fields

### `var mevents:WMMouseEvents`

mouse events

### `var myPdb:Pdb`

pdb data is any

### `var myString:String`

xml data in string

### `var params:WMParams`

various parameters of wm3d

### `var stage:Stage`

stage

### `var states:WMStates`

current status of wm3d

### `var systems:Array<WMSystem>`

SCENEs

### `function new():Void`

Constructor

### `function getCurrentViewInXml():String`

return current camera state as string; this function can be called by web pages

### `function get_myPdb():Pdb`

getter of `myPdb`

### `function get_myString():String`

getter of `myString`

### `function get_stage():Stage`

getter of `stage`

### `function get_systems():Array<WMSystem>`

getter of `systems`

### `function handleZoom(d:Int):Void`

zoom scene by `d`

### `function loadSystems(e:TimerEvent):Void`

timer event; load a SCENE

### `function onController(mx:Float, my:Float):Bool`

is mouse cursor on the Controller (Player)?

### `function onReady(_:Unknown):Void`

initialization of Stage3D and data

### `function render(_:Unknown):Void`

draw polygons; called every frames

### `function retrievePdbFromRCSB(id:String):Void`

does not work now

### `function set_myString(s:String):String`

setter of `myString`

### `function visualize(str:String):Void`

prepare polygons