class WMShape extends WMObjBase

Available on all platforms

A general shape composed by triangles

See WMBase and WMObjBase classes for inheritted parameters.

Instance Fields

var flat:Bool

(only for debugging purpose) Use flat shading or not. default is false.

var posstr0:Array<String>

positions

var posstr1:Array<String>

positions

var posstr2:Array<String>

positions

function new(r:Float, c0:Int, c1:Int, a:Float, o:Float, q:Int, ag:Float, d:Float, sp:Float, gl:Float, sh:String):Void

Constructor. Parameters are listed below, where values in parenthesis are default values.

  • r: radius (0.0), not used
  • c0: color (0x00FF00; lime)
  • c1: color, currently not used (0x00FF00, lime)
  • a: alpha (1.0, opaque)
  • o: offset, not used (0.0), not used.
  • q: quality, higher is better (0), not used.
  • ag: ambient intensity (0.4)
  • d: diffuse intensity (0.5)
  • sp: specular intensity (0.2)
  • gl: gloss (30.0)
  • sh: shader type ("Phong")

function absmax():Point3D

absolute max of position: max(abs(x),abs(y),abs(z))

function clear(def:WMDefaults):Void

initialize values; if def is given, that is used as initial value.

function clone():WMShape

returns clone of this instance

function gen(c:Context3D, is_dc_active:Bool):Void

generate polygon and set corresponding shaders; this function calls pregen and gen2.

function gen2(c:Context3D, is_dc_active:Bool):Void

generate polygon and shader. Call pregen function before. This function should not be called explicitly unless you are using multiple Workers.

function getDataSize():Int

predefined cost for drawing; returns number of triangles.

function getPositions0():Array<Point3D>

function getPositions1():Array<Point3D>

function getPositions2():Array<Point3D>

function get_flat():Bool

getter of flat

function loadFromXml(x:Xml, def:WMDefaults):Void

load from XML; if def is given, that is used as initial value. See also clear function of this class.

function loadFromXmlOverwrite(x:Xml):Void

read XML while overriding default values; this function does not read WMAtom specific fields. Use loadFromXmlWOClear when loading WMAtom specific fields.

function loadFromXmlWOClear(x:Xml):Void

load XML data; usually this function is called by loadFromXml function

function num():Int

number of elements inside; return always 1.

function pregen():Void

preparation for generating polygon. This function is explicitly used in non-primordial Worker, where Context3D of the primordial Worker is not available. If Worker is not used, this function should not be called explicitly.

function scaleCoord(scale:Float):Void

scale position by scale

function setPositions0(ar:Array<Point3D>):Void

function setPositions1(ar:Array<Point3D>):Void

function setPositions2(ar:Array<Point3D>):Void

function set_flat(f:Bool):Bool

setter of flat

function sumPos():Point3D

sum of position

function translate(p:Point3D):Void

translate coordinate by p