Section 1
//Camera3D (away3d.cameras.Camera3D)
package away3d.cameras {
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.base.*;
import away3d.core.utils.*;
import away3d.sprites.dof.*;
public class Camera3D extends Object3D {
private var _flipY:Matrix3D;
public var invView:Matrix3D;
public var doflevels:Number;// = 16
private var _view:Matrix3D;
public var usedof:Boolean;// = false
private var _focus:Number;
var screenProjection:Projection;
public var zoom:Number;
private var _aperture:Number;// = 22
public var maxblur:Number;// = 150
public function Camera3D(_arg1:Object=null){
var _local2:Number3D;
_aperture = 22;
maxblur = 150;
doflevels = 16;
usedof = false;
_view = new Matrix3D();
screenProjection = new Projection();
_flipY = new Matrix3D();
super(_arg1);
_arg1 = Init.parse(_arg1);
zoom = (_arg1 as Init).getNumber("zoom", 10);
focus = (_arg1 as Init).getNumber("focus", 100);
usedof = (_arg1 as Init).getBoolean("dof", false);
if (usedof){
aperture = (_arg1 as Init).getNumber("aperture", 22);
maxblur = (_arg1 as Init).getNumber("maxblur", 150);
doflevels = (_arg1 as Init).getNumber("doflevels", 16);
enableDof();
} else {
disableDof();
};
_local2 = (_arg1 as Init).getPosition("lookat");
_flipY.syy = -1;
if (_local2 != null){
lookAt(_local2);
};
}
public function screen(_arg1:Object3D, _arg2:Vertex=null):ScreenVertex{
if (_arg2 == null){
_arg2 = new Vertex(0, 0, 0);
};
_arg1.viewTransform.multiply(view, _arg1.sceneTransform);
screenProjection.view = _arg1.viewTransform;
screenProjection.focus = focus;
screenProjection.zoom = zoom;
return (_arg2.project(screenProjection));
}
public function set aperture(_arg1:Number):void{
_aperture = _arg1;
DofCache.aperture = _aperture;
}
override public function clone(_arg1=null){
var _local2:Camera3D;
_local2 = ((_arg1) || (new Camera3D()));
super.clone(_local2);
_local2.zoom = zoom;
_local2.focus = focus;
return (_local2);
}
public function get view():Matrix3D{
_view.multiply(sceneTransform, _flipY);
invView = _view.clone();
_view.inverse(invView);
return (_view);
}
public function disableDof():void{
DofCache.resetDof(false);
}
public function pan(_arg1:Number):void{
super.yaw(_arg1);
}
public function set focus(_arg1:Number):void{
_focus = _arg1;
DofCache.focus = _focus;
}
public function get aperture():Number{
return (_aperture);
}
public function enableDof():void{
DofCache.doflevels = doflevels;
DofCache.aperture = aperture;
DofCache.maxblur = maxblur;
DofCache.focus = focus;
DofCache.resetDof(true);
}
public function tilt(_arg1:Number):void{
super.pitch(_arg1);
}
public function get focus():Number{
return (_focus);
}
}
}//package away3d.cameras
Section 2
//ILODObject (away3d.containers.ILODObject)
package away3d.containers {
public interface ILODObject {
function matchLOD(_arg1:View3D):Boolean;
}
}//package away3d.containers
Section 3
//IPhysicsScene (away3d.containers.IPhysicsScene)
package away3d.containers {
public interface IPhysicsScene {
function updateTime(_arg1:int):void;
}
}//package away3d.containers
Section 4
//ObjectContainer3D (away3d.containers.ObjectContainer3D)
package away3d.containers {
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.base.*;
import away3d.events.*;
import away3d.core.traverse.*;
import away3d.core.*;
public class ObjectContainer3D extends Object3D implements IPrimitiveProvider {
private var _minZChild:Object3D;// = null
private var _maxY:Number;
private var _maxZ:Number;
private var _maxX:Number;
private var _minYDirty:Boolean;// = false
private var _maxZDirty:Boolean;// = false
private var _maxXChild:Object3D;// = null
private var _radiusDirty:Boolean;// = false
private var _minZDirty:Boolean;// = false
private var _minXChild:Object3D;// = null
private var _needNotifyDimensionsChange:Boolean;// = false
private var _minY:Number;// = INF
private var _minZ:Number;// = INF
private var _maxYChild:Object3D;// = null
private var _minX:Number;// = INF
private var _maxXDirty:Boolean;// = false
private var _needNotifyRadiusChange:Boolean;// = false
private var _children:Array;
private var _minYChild:Object3D;// = null
private var _minXDirty:Boolean;// = false
private var _radius:Number;// = 0
private var _maxZChild:Object3D;// = null
private var _maxYDirty:Boolean;// = false
private var _radiusChild:Object3D;// = null
public function ObjectContainer3D(_arg1:Object=null, ... _args){
var _local3:Object3D;
_children = new Array();
_radiusChild = null;
_radiusDirty = false;
_radius = 0;
_maxXChild = null;
_maxXDirty = false;
_maxX = -(Infinity);
_minXChild = null;
_minXDirty = false;
_minX = Infinity;
_maxYChild = null;
_maxYDirty = false;
_maxY = -(Infinity);
_minYChild = null;
_minYDirty = false;
_minY = Infinity;
_maxZChild = null;
_maxZDirty = false;
_maxZ = -(Infinity);
_minZChild = null;
_minZDirty = false;
_minZ = Infinity;
_needNotifyRadiusChange = false;
_needNotifyDimensionsChange = false;
if (_arg1 != null){
if ((_arg1 is Object3D)){
addChild((_arg1 as Object3D));
_arg1 = null;
};
};
super(_arg1);
for each (_local3 in _args) {
addChild(_local3);
};
}
override public function get minX():Number{
var _local1:Number;
var _local2:Object3D;
var _local3:Number;
if (_minXDirty){
_minXChild = null;
_local1 = Infinity;
for each (_local2 in _children) {
_local3 = _local2.parentminX;
if (_local3 < _local1){
_local1 = _local3;
_minXChild = _local2;
};
};
_minX = _local1;
_minXDirty = false;
};
return (_minX);
}
override public function get minZ():Number{
var _local1:Number;
var _local2:Object3D;
var _local3:Number;
if (_minZDirty){
_local1 = Infinity;
_minZChild = null;
for each (_local2 in _children) {
_local3 = _local2.parentminZ;
if (_local3 < _local1){
_local1 = _local3;
_minZChild = _local2;
};
};
_minZ = _local1;
_minZDirty = false;
};
return (_minZ);
}
override public function get minY():Number{
var _local1:Number;
var _local2:Object3D;
var _local3:Number;
if (_minYDirty){
_local1 = Infinity;
_minYChild = null;
for each (_local2 in _children) {
_local3 = _local2.parentminY;
if (_local3 < _local1){
_local1 = _local3;
_minYChild = _local2;
};
};
_minY = _local1;
_minYDirty = false;
};
return (_minY);
}
private function rememberChild(_arg1:Object3D):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local2 = _arg1.parentradius;
if (_local2 > _radius){
_radius = _local2;
_radiusChild = _arg1;
_radiusDirty = false;
_needNotifyRadiusChange = true;
};
_local3 = _arg1.parentmaxX;
if (_local3 > _maxX){
_maxX = _local3;
_maxXChild = _arg1;
_maxXDirty = false;
_needNotifyDimensionsChange = true;
};
_local4 = _arg1.parentminX;
if (_local4 < _minX){
_minX = _local4;
_minXChild = _arg1;
_minXDirty = false;
_needNotifyDimensionsChange = true;
};
_local5 = _arg1.parentmaxY;
if (_local5 > _maxY){
_maxY = _local5;
_maxYChild = _arg1;
_maxYDirty = false;
_needNotifyDimensionsChange = true;
};
_local6 = _arg1.parentminY;
if (_local6 < _minY){
_minY = _local6;
_minYChild = _arg1;
_minYDirty = false;
_needNotifyDimensionsChange = true;
};
_local7 = _arg1.parentmaxZ;
if (_local7 > _maxZ){
_maxZ = _local7;
_maxZChild = _arg1;
_maxZDirty = false;
_needNotifyDimensionsChange = true;
};
_local8 = _arg1.parentminZ;
if (_local8 < _minZ){
_minZ = _local8;
_minZChild = _arg1;
_minZDirty = false;
_needNotifyDimensionsChange = true;
};
}
override public function get radius():Number{
var _local1:Number;
var _local2:Object3D;
var _local3:Number;
if (_radiusDirty){
_radiusChild = null;
_local1 = 0;
for each (_local2 in _children) {
_local3 = _local2.parentradius;
if (_local3 > _local1){
_local1 = _local3;
_radiusChild = _local2;
};
};
_radius = _local1;
_radiusDirty = false;
};
return (_radius);
}
private function onChildChange(_arg1:Object3DEvent):void{
var _local2:Object3D;
_local2 = _arg1.object;
forgetChild(_local2);
rememberChild(_local2);
launchNotifies();
}
public function getChildByName(_arg1:String):Object3D{
var _local2:Object3D;
for each (_local2 in children) {
if (_local2.name == _arg1){
return (_local2);
};
};
return (null);
}
public function removeChildByName(_arg1:String):void{
removeChild(getChildByName(_arg1));
}
private function launchNotifies():void{
if (_needNotifyRadiusChange){
_needNotifyRadiusChange = false;
notifyRadiusChange();
};
if (_needNotifyDimensionsChange){
_needNotifyDimensionsChange = false;
notifyDimensionsChange();
};
}
arcane function internalAddChild(_arg1:Object3D):void{
_children.push(_arg1);
_arg1.addOnTransformChange(onChildChange);
_arg1.addOnRadiusChange(onChildChange);
rememberChild(_arg1);
launchNotifies();
}
public function movePivot(_arg1:Number, _arg2:Number, _arg3:Number):void{
var _local4:Object3D;
var _local5:Number3D;
for each (_local4 in _children) {
_local4.x = (_local4.x - _arg1);
_local4.y = (_local4.y - _arg2);
_local4.z = (_local4.z - _arg3);
};
_local5 = new Number3D(_arg1, _arg2, _arg3);
new Number3D(_arg1, _arg2, _arg3).rotate(_local5.clone(), _transform);
_local5.add(_local5, position);
moveTo(_local5);
}
public function removeChild(_arg1:Object3D):void{
if (_arg1 == null){
throw (new Error("ObjectContainer3D.removeChild(null)"));
};
if (_arg1.parent != this){
return;
};
_arg1.parent = null;
}
public function addChild(_arg1:Object3D):void{
if (_arg1 == null){
throw (new Error("ObjectContainer3D.addChild(null)"));
};
if (_arg1.parent == this){
return;
};
_arg1.parent = this;
}
private function forgetChild(_arg1:Object3D):void{
if (_arg1 == _radiusChild){
_radiusChild = null;
_radiusDirty = true;
_needNotifyRadiusChange = true;
};
if (_arg1 == _maxXChild){
_maxXChild = null;
_maxXDirty = true;
_needNotifyDimensionsChange = true;
};
if (_arg1 == _minXChild){
_minXChild = null;
_minXDirty = true;
_needNotifyDimensionsChange = true;
};
if (_arg1 == _maxYChild){
_maxYChild = null;
_maxYDirty = true;
_needNotifyDimensionsChange = true;
};
if (_arg1 == _minYChild){
_minYChild = null;
_minYDirty = true;
_needNotifyDimensionsChange = true;
};
if (_arg1 == _maxZChild){
_maxZChild = null;
_maxZDirty = true;
_needNotifyDimensionsChange = true;
};
if (_arg1 == _minZChild){
_minZChild = null;
_minZDirty = true;
_needNotifyDimensionsChange = true;
};
}
override public function scale(_arg1:Number):void{
var _local2:Object3D;
for each (_local2 in children) {
_local2.x = (_local2.x * _arg1);
_local2.y = (_local2.y * _arg1);
_local2.z = (_local2.z * _arg1);
_local2.scale(_arg1);
};
}
override public function clone(_arg1=null){
var _local2:ObjectContainer3D;
var _local3:Object3D;
_local2 = ((_arg1) || (new ObjectContainer3D()));
super.clone(_local2);
for each (_local3 in children) {
_local2.addChild(_local3.clone());
};
return (_local2);
}
override public function traverse(_arg1:Traverser):void{
var _local2:Object3D;
if (_arg1.match(this)){
_arg1.enter(this);
_arg1.apply(this);
for each (_local2 in children) {
_local2.traverse(_arg1);
};
_arg1.leave(this);
};
}
override public function get maxX():Number{
var _local1:Number;
var _local2:Object3D;
var _local3:Number;
if (_maxXDirty){
_maxXChild = null;
_local1 = -(Infinity);
for each (_local2 in _children) {
_local3 = _local2.parentmaxX;
if (_local3 > _local1){
_local1 = _local3;
_maxXChild = _local2;
};
};
_maxX = _local1;
_maxXDirty = false;
};
return (_maxX);
}
override public function get maxY():Number{
var _local1:Number;
var _local2:Object3D;
var _local3:Number;
if (_maxYDirty){
_local1 = -(Infinity);
_maxYChild = null;
for each (_local2 in _children) {
_local3 = _local2.parentmaxY;
if (_local3 > _local1){
_local1 = _local3;
_maxYChild = _local2;
};
};
_maxY = _local1;
_maxYDirty = false;
};
return (_maxY);
}
override public function get maxZ():Number{
var _local1:Number;
var _local2:Object3D;
var _local3:Number;
if (_maxZDirty){
_local1 = -(Infinity);
_maxZChild = null;
for each (_local2 in _children) {
_local3 = _local2.parentmaxZ;
if (_local3 > _local1){
_local1 = _local3;
_maxZChild = _local2;
};
};
_maxZ = _local1;
_maxZDirty = false;
};
return (_maxZ);
}
public function addChildren(... _args):void{
var _local2:Object3D;
for each (_local2 in _args) {
addChild(_local2);
};
}
arcane function internalRemoveChild(_arg1:Object3D):void{
var _local2:int;
_local2 = children.indexOf(_arg1);
if (_local2 == -1){
return;
};
forgetChild(_arg1);
_arg1.removeOnTransformChange(onChildChange);
_arg1.removeOnRadiusChange(onChildChange);
_children.splice(_local2, 1);
launchNotifies();
}
public function get children():Array{
return (_children);
}
}
}//package away3d.containers
Section 5
//Scene3D (away3d.containers.Scene3D)
package away3d.containers {
import flash.utils.*;
import away3d.core.math.*;
import away3d.core.base.*;
import away3d.core.utils.*;
import away3d.core.traverse.*;
public class Scene3D extends ObjectContainer3D {
public var tickTraverser:TickTraverser;
public var physics:IPhysicsScene;
public function Scene3D(_arg1:Object=null, ... _args){
var _local3:Init;
var _local4:Object;
var _local5:Object3D;
tickTraverser = new TickTraverser();
super();
if (_arg1 != null){
if ((_arg1 is Object3D)){
addChild((_arg1 as Object3D));
_arg1 = null;
};
};
_local3 = Init.parse(_arg1);
_local4 = _local3.getObject("physics");
if ((_local4 is IPhysicsScene)){
physics = (_local4 as IPhysicsScene);
};
if ((_local4 is Boolean)){
if (_local4 == true){
physics = null;
};
};
if ((_local4 is Object)){
physics = null;
};
for each (_local5 in _args) {
addChild(_local5);
};
}
public function updateTime(_arg1:int=-1):void{
if (_arg1 == -1){
_arg1 = getTimer();
};
tickTraverser.now = _arg1;
traverse(tickTraverser);
if (physics != null){
physics.updateTime(_arg1);
};
}
override public function get sceneTransform():Matrix3D{
return (transform);
}
override public function set parent(_arg1:ObjectContainer3D):void{
if (_arg1 != null){
throw (new Error("Scene can't be parented"));
};
}
}
}//package away3d.containers
Section 6
//View3D (away3d.containers.View3D)
package away3d.containers {
import flash.display.*;
import away3d.materials.*;
import flash.events.*;
import away3d.core.render.*;
import away3d.core.base.*;
import away3d.events.*;
import away3d.core.utils.*;
import away3d.cameras.*;
import away3d.core.stats.*;
import away3d.core.*;
public class View3D extends Sprite {
public var mouseMaterial:IUVMaterial;
private var _lastmove_mouseX:Number;
private var defaultclip:Clipping;
var _renderer:IRenderer;
public var camera:Camera3D;
public var background:Sprite;
public var findhit:FindHit;
public var clip:Clipping;
var _session:AbstractRenderSession;
public var sourceURL:String;
public var mouseObject:Object3D;
public var mouseZeroMove:Boolean;
public var primitives:Array;
public var statsOpen:Boolean;
public var interactiveLayer:Sprite;
public var stats:Boolean;
public var scene:Scene3D;
public var statsPanel:Stats;
protected var mousedown:Boolean;
private var _lastmove_mouseY:Number;
public var hud:Sprite;
public function View3D(_arg1:Object=null){
var _local2:Init;
var _local3:Boolean;
background = new Sprite();
interactiveLayer = new Sprite();
hud = new Sprite();
defaultclip = new Clipping();
super();
_local2 = (Init.parse(_arg1) as Init);
_local3 = _local2.getBoolean("stats", true);
scene = (((_local2.getObjectOrInit("scene", Scene3D) as Scene3D)) || (new Scene3D()));
camera = (((_local2.getObjectOrInit("camera", Camera3D) as Camera3D)) || (new Camera3D({x:0, y:0, z:1000, lookat:"center"})));
_renderer = (((_local2.getObject("renderer") as IRenderer)) || (new BasicRenderer()));
session = (((_local2.getObject("session") as AbstractRenderSession)) || (new SpriteRenderSession()));
clip = (_local2.getObject("clip", Clipping) as Clipping);
x = _local2.getNumber("x", 0);
y = _local2.getNumber("y", 0);
interactiveLayer.blendMode = BlendMode.ALPHA;
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
if (!clip){
clip = defaultclip;
};
if (_local3){
addEventListener(Event.ADDED_TO_STAGE, createStatsMenu);
};
}
private function onMouseOver(_arg1:MouseEvent):void{
if (_arg1.eventPhase != EventPhase.AT_TARGET){
return;
};
fireMouseEvent(MouseEvent3D.MOUSE_OVER, _arg1.localX, _arg1.localY, _arg1.ctrlKey, _arg1.shiftKey);
}
public function createStatsMenu(_arg1:Event):void{
statsPanel = new Stats(this, stage.frameRate);
statsOpen = false;
}
public function flush():void{
_session.flush();
}
public function removeOnMouseOut(_arg1:Function):void{
removeEventListener(MouseEvent3D.MOUSE_OUT, _arg1, false);
}
public function fireMouseMoveEvent(_arg1:Boolean=false):void{
if (!((mouseZeroMove) || (_arg1))){
if ((((mouseX == _lastmove_mouseX)) && ((mouseY == _lastmove_mouseY)))){
return;
};
};
fireMouseEvent(MouseEvent3D.MOUSE_MOVE, mouseX, mouseY);
_lastmove_mouseX = mouseX;
_lastmove_mouseY = mouseY;
}
public function set session(_arg1:AbstractRenderSession):void{
_session = _arg1;
_session.view = this;
_renderer.renderSession = _session;
while (numChildren) {
removeChildAt(0);
};
addChild(background);
addChild(_session.container);
addChild(interactiveLayer);
addChild(hud);
}
arcane function dispatchMouseEvent(_arg1:MouseEvent3D):void{
if (!hasEventListener(_arg1.type)){
return;
};
dispatchEvent(_arg1);
}
public function removeOnMouseUp(_arg1:Function):void{
removeEventListener(MouseEvent3D.MOUSE_UP, _arg1, false);
}
private function onMouseUp(_arg1:MouseEvent):void{
mousedown = false;
fireMouseEvent(MouseEvent3D.MOUSE_UP, _arg1.localX, _arg1.localY, _arg1.ctrlKey, _arg1.shiftKey);
}
public function addOnMouseDown(_arg1:Function):void{
addEventListener(MouseEvent3D.MOUSE_DOWN, _arg1, false, 0, false);
}
public function clear():void{
_session.clear();
}
public function getBitmapData():BitmapData{
if ((_session is BitmapRenderSession)){
return ((_session.container as Bitmap).bitmapData);
};
throw (new Error("incorrect session object - require BitmapRenderSession"));
}
private function onMouseOut(_arg1:MouseEvent):void{
if (_arg1.eventPhase != EventPhase.AT_TARGET){
return;
};
fireMouseEvent(MouseEvent3D.MOUSE_OUT, _arg1.localX, _arg1.localY, _arg1.ctrlKey, _arg1.shiftKey);
}
public function set renderer(_arg1:IRenderer):void{
_renderer = _arg1;
_renderer.renderSession = _session;
}
public function addOnMouseOver(_arg1:Function):void{
addEventListener(MouseEvent3D.MOUSE_OVER, _arg1, false, 0, false);
}
public function get session():AbstractRenderSession{
return (_session);
}
public function bubbleMouseEvent(_arg1:MouseEvent3D):void{
var _local2:Object3D;
_local2 = _arg1.object;
while (_local2 != null) {
if (_local2.dispatchMouseEvent(_arg1)){
break;
};
_local2 = _local2.parent;
};
}
public function addOnMouseUp(_arg1:Function):void{
addEventListener(MouseEvent3D.MOUSE_UP, _arg1, false, 0, false);
}
public function addSourceURL(_arg1:String):void{
sourceURL = _arg1;
if (statsPanel){
statsPanel.addSourceURL(_arg1);
};
}
protected function onMouseDown(_arg1:MouseEvent):void{
mousedown = true;
fireMouseEvent(MouseEvent3D.MOUSE_DOWN, _arg1.localX, _arg1.localY, _arg1.ctrlKey, _arg1.shiftKey);
}
public function get renderer():IRenderer{
return (_renderer);
}
public function render():void{
var _local1:Clipping;
clear();
_local1 = clip;
if (clip == defaultclip){
clip = defaultclip.screen(this);
};
primitives = _renderer.render(this);
clip = _local1;
flush();
Init.checkUnusedArguments();
fireMouseMoveEvent();
}
public function removeOnMouseDown(_arg1:Function):void{
removeEventListener(MouseEvent3D.MOUSE_DOWN, _arg1, false);
}
public function fireMouseEvent(_arg1:String, _arg2:Number, _arg3:Number, _arg4:Boolean=false, _arg5:Boolean=false):void{
var _local6:MouseEvent3D;
var _local7:Object3D;
var _local8:IUVMaterial;
findhit = new FindHit(this, primitives, _arg2, _arg3);
_local6 = findhit.getMouseEvent(_arg1);
_local7 = _local6.object;
_local8 = _local6.material;
_local6.ctrlKey = _arg4;
_local6.shiftKey = _arg5;
if (((!((_arg1 == MouseEvent3D.MOUSE_OUT))) && (!((_arg1 == MouseEvent3D.MOUSE_OVER))))){
dispatchMouseEvent(_local6);
bubbleMouseEvent(_local6);
};
if (((!((mouseObject == _local7))) || (!((mouseMaterial == _local8))))){
if (mouseObject != null){
_local6 = findhit.getMouseEvent(MouseEvent3D.MOUSE_OUT);
_local6.object = mouseObject;
_local6.material = mouseMaterial;
dispatchMouseEvent(_local6);
bubbleMouseEvent(_local6);
mouseObject = null;
buttonMode = false;
};
if (((!((_local7 == null))) && ((mouseObject == null)))){
_local6 = findhit.getMouseEvent(MouseEvent3D.MOUSE_OVER);
_local6.object = (mouseObject = _local7);
_local6.material = (mouseMaterial = _local8);
dispatchMouseEvent(_local6);
bubbleMouseEvent(_local6);
buttonMode = mouseObject.useHandCursor;
};
};
}
public function removeOnMouseMove(_arg1:Function):void{
removeEventListener(MouseEvent3D.MOUSE_MOVE, _arg1, false);
}
public function removeOnMouseOver(_arg1:Function):void{
removeEventListener(MouseEvent3D.MOUSE_OVER, _arg1, false);
}
public function addOnMouseOut(_arg1:Function):void{
addEventListener(MouseEvent3D.MOUSE_OUT, _arg1, false, 0, false);
}
public function addOnMouseMove(_arg1:Function):void{
addEventListener(MouseEvent3D.MOUSE_MOVE, _arg1, false, 0, false);
}
}
}//package away3d.containers
Section 7
//Animation (away3d.core.base.Animation)
package away3d.core.base {
import flash.utils.*;
import away3d.materials.*;
import away3d.core.math.*;
import flash.events.*;
import away3d.core.*;
public class Animation extends EventDispatcher implements IAnimation {
private var _running:Boolean;
private var _loop:Boolean;// = false
private var _delay:Number;// = 0
private var _sequence:Array;
private var _latest:Number;// = 0
private var _fps:Number;// = 24
private var _time:uint;
public var object:BaseMesh;
private var _smooth:Boolean;// = false
private var _frame:Number;// = 0
private var _cycleEvent:Boolean;// = false
public function Animation(_arg1:BaseMesh){
_frame = 0;
_fps = 24;
_loop = false;
_smooth = false;
_cycleEvent = false;
_delay = 0;
_sequence = [];
_latest = 0;
super();
object = _arg1;
}
public function set sequence(_arg1:Array):void{
_sequence = _arg1;
}
public function stop():void{
_running = false;
_latest = 0;
}
public function get run():Boolean{
return (_running);
}
public function set delay(_arg1:int):void{
_delay = _arg1;
}
public function get loop():Boolean{
return (_loop);
}
public function set cycleEvent(_arg1:Boolean):void{
_cycleEvent = _arg1;
}
public function get smooth():Boolean{
return (_smooth);
}
public function get sequence():Array{
return (_sequence);
}
public function set loop(_arg1:Boolean):void{
_loop = _arg1;
}
public function update(_arg1:BaseMesh):void{
var _local2:uint;
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (!_running){
return;
};
_local2 = getTimer();
_frame = (_frame + (((_local2 - _time) * fps) / 1000));
_time = _local2;
if (_sequence.length == 1){
_frame = 0;
_running = false;
} else {
if (_loop){
while (_frame > ((_sequence.length - 1) + _delay)) {
_frame = (_frame - ((_sequence.length - 1) + _delay));
};
} else {
if (_frame > ((_sequence.length - 1) + _delay)){
_frame = ((_sequence.length - 1) + _delay);
_running = false;
};
};
};
_local3 = _frame;
if (!_smooth){
_local3 = Math.round(_local3);
};
if (_local3 < 0){
_local3 = 0;
};
if (_local3 > (_sequence.length - 1)){
_local3 = (_sequence.length - 1);
};
if (_local3 == Math.round(_local3)){
_arg1.frames[_sequence[int(_local3)].frame].adjust(1);
} else {
_local4 = Math.floor(_local3);
_local5 = Math.ceil(_local3);
_arg1.frames[_sequence[int(_local4)].frame].adjust(1);
_arg1.frames[_sequence[int(_local5)].frame].adjust((_local3 - _local4));
if (_loop){
if ((((((_latest == 0)) || (((_latest + 1) == _sequence[int(_local4)].frame)))) || ((_latest == _sequence[int(_local4)].frame)))){
_latest = _sequence[int(_local4)].frame;
} else {
_latest = 0;
if (_cycleEvent){
dispatchEvent(new Event("CYCLE"));
};
};
};
};
}
public function set fps(_arg1:Number):void{
_fps = _arg1;
}
public function set frame(_arg1:Number):void{
_frame = _arg1;
}
public function start():void{
_time = getTimer();
_running = true;
_latest = 0;
_frame = 0;
}
public function set smooth(_arg1:Boolean):void{
_smooth = _arg1;
}
public function get fps():Number{
return (_fps);
}
public function get frame():Number{
return (_frame);
}
}
}//package away3d.core.base
Section 8
//AnimationFrame (away3d.core.base.AnimationFrame)
package away3d.core.base {
public class AnimationFrame {
public var frame:Number;
public var time:uint;
public var sort:String;
public function AnimationFrame(_arg1:Number, _arg2:String=null){
this.frame = _arg1;
this.sort = _arg2;
}
}
}//package away3d.core.base
Section 9
//BaseMesh (away3d.core.base.BaseMesh)
package away3d.core.base {
import flash.utils.*;
import away3d.materials.*;
import flash.events.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.events.*;
import away3d.core.utils.*;
import away3d.core.*;
public class BaseMesh extends Object3D {
private var _maxYElement:IMeshElement;// = null
public var framenames:Dictionary;
private var _radiusElement:IMeshElement;// = null
private var _minXElement:IMeshElement;// = null
private var _maxY:Number;
private var _maxZ:Number;
private var _maxX:Number;
private var _minYDirty:Boolean;// = false
protected var _dsStore:Array;
private var _frame:int;
var seg:DrawSegment;
private var _maxZDirty:Boolean;// = false
private var _radiusDirty:Boolean;// = false
public var frames:Dictionary;
private var sequencedone:Event;
private var _playsequence:Object;
private var cycle:Event;
private var _maxZElement:IMeshElement;// = null
private var _minZDirty:Boolean;// = false
private var _minYElement:IMeshElement;// = null
public var pushback:Boolean;
private var _needNotifyDimensionsChange:Boolean;// = false
private var _minY:Number;// = INF
private var _minZ:Number;// = INF
private var _needNotifyRadiusChange:Boolean;// = false
private var _maxXElement:IMeshElement;// = null
public var type:String;
private var _minX:Number;// = INF
private var _maxXDirty:Boolean;// = false
public var pushfront:Boolean;
private var _verticesDirty:Boolean;// = true
private var _vertices:Array;
public var url:String;
public var animation:Animation;
private var _minXDirty:Boolean;// = false
private var _radius:Number;// = 0
protected var _dsActive:Array;
private var _minZElement:IMeshElement;// = null
private var _maxYDirty:Boolean;// = false
public function BaseMesh(_arg1:Object=null){
_verticesDirty = true;
_radiusElement = null;
_radiusDirty = false;
_radius = 0;
_maxXElement = null;
_maxXDirty = false;
_maxX = -(Infinity);
_minXElement = null;
_minXDirty = false;
_minX = Infinity;
_maxYElement = null;
_maxYDirty = false;
_maxY = -(Infinity);
_minYElement = null;
_minYDirty = false;
_minY = Infinity;
_maxZElement = null;
_maxZDirty = false;
_maxZ = -(Infinity);
_minZElement = null;
_minZDirty = false;
_minZ = Infinity;
_needNotifyRadiusChange = false;
_needNotifyDimensionsChange = false;
_dsStore = new Array();
_dsActive = new Array();
super(_arg1);
_arg1 = Init.parse(_arg1);
pushback = (_arg1 as Init).getBoolean("pushback", false);
pushfront = (_arg1 as Init).getBoolean("pushfront", false);
}
public function removeOnSequenceDone(_arg1:Function):void{
removeEventListener("SEQUENCE_DONE", _arg1, false);
}
override public function get minX():Number{
var _local1:Number;
var _local2:IMeshElement;
var _local3:Number;
if (_minXDirty){
_minXElement = null;
_local1 = Infinity;
for each (_local2 in elements) {
_local3 = _local2.minX;
if (_local3 < _local1){
_local1 = _local3;
_minXElement = _local2;
};
};
_minX = _local1;
_minXDirty = false;
};
return (_minX);
}
override public function get minZ():Number{
var _local1:Number;
var _local2:IMeshElement;
var _local3:Number;
if (_minZDirty){
_local1 = Infinity;
_minZElement = null;
for each (_local2 in elements) {
_local3 = _local2.minZ;
if (_local3 < _local1){
_local1 = _local3;
_minZElement = _local2;
};
};
_minZ = _local1;
_minZDirty = false;
};
return (_minZ);
}
override public function get minY():Number{
var _local1:Number;
var _local2:IMeshElement;
var _local3:Number;
if (_minYDirty){
_local1 = Infinity;
_minYElement = null;
for each (_local2 in elements) {
_local3 = _local2.minY;
if (_local3 < _local1){
_local1 = _local3;
_minYElement = _local2;
};
};
_minY = _local1;
_minYDirty = false;
};
return (_minY);
}
public function scaleZ(_arg1:Number):void{
if (_arg1 != 1){
scaleXYZ(1, 1, _arg1);
};
}
private function clear():void{
throw (new Error("Not implemented"));
}
public function scaleY(_arg1:Number):void{
if (_arg1 != 1){
scaleXYZ(1, _arg1, 1);
};
}
public function onSequenceDone(_arg1:Function):void{
addEventListener("SEQUENCE_DONE", _arg1, false, 0, false);
}
public function scaleX(_arg1:Number):void{
if (_arg1 != 1){
scaleXYZ(_arg1, 1, 1);
};
}
public function onCycle(_arg1:Function):void{
animation.cycleEvent = true;
cycle = new Event("CYCLE");
animation.addEventListener("CYCLE", _arg1, false, 0, false);
}
override public function primitives(_arg1:IPrimitiveConsumer, _arg2:AbstractRenderSession):void{
super.primitives(_arg1, _arg2);
_dsStore = _dsStore.concat(_dsActive);
_dsActive = new Array();
}
private function launchNotifies():void{
if (_needNotifyRadiusChange){
_needNotifyRadiusChange = false;
notifyRadiusChange();
};
if (_needNotifyDimensionsChange){
_needNotifyDimensionsChange = false;
notifyDimensionsChange();
};
}
override public function get radius():Number{
var _local1:Number;
var _local2:IMeshElement;
var _local3:Number;
if (_radiusDirty){
_radiusElement = null;
_local1 = 0;
for each (_local2 in elements) {
_local3 = _local2.radius2;
if (_local3 > _local1){
_local1 = _local3;
_radiusElement = _local2;
};
};
_radius = Math.sqrt(_local1);
_radiusDirty = false;
};
return (_radius);
}
private function updatePlaySequence(_arg1:Event):void{
if (_playsequence.playlist.length == 0){
animation.removeEventListener("CYCLE", updatePlaySequence);
if (sequencedone == null){
sequencedone = new Event("SEQUENCE_DONE");
};
dispatchEvent(sequencedone);
};
play(_playsequence.playlist.shift());
if (cycle != null){
dispatchEvent(cycle);
};
}
public function createDrawSegment(_arg1:ISegmentMaterial, _arg2:Projection, _arg3:ScreenVertex, _arg4:ScreenVertex):DrawSegment{
if (_dsStore.length){
_dsActive.push((seg = _dsStore.pop()));
seg.create = createDrawSegment;
} else {
_dsActive.push((seg = new DrawSegment()));
seg.source = this;
seg.create = createDrawSegment;
};
seg.material = _arg1;
seg.projection = _arg2;
seg.v0 = _arg3;
seg.v1 = _arg4;
seg.calc();
return (seg);
}
public function setPlaySequences(_arg1:Array, _arg2:Boolean=false):void{
if (_arg1.length == 0){
return;
};
play(_arg1.shift());
if (!animation.hasEventListener("CYCLE")){
_playsequence = new Object();
_playsequence.playlist = _arg1;
_playsequence.loopLast = _arg2;
loop = true;
animation.addEventListener("CYCLE", updatePlaySequence);
};
}
public function gotoAndPlay(_arg1:int):void{
animation.frame = _arg1;
_frame = _arg1;
if (!animation.run){
animation.start();
};
}
public function set frame(_arg1:int):void{
if (animation.frame == _arg1){
return;
};
_frame = _arg1;
animation.frame = _arg1;
frames[_arg1].adjust(1);
}
public function get hasSequenceEvent():Boolean{
return (hasEventListener("SEQUENCE_DONE"));
}
public function get elements():Array{
throw (new Error("Not implemented"));
}
protected function addElement(_arg1:IMeshElement):void{
_verticesDirty = true;
_arg1.addOnVertexChange(onElementVertexChange);
_arg1.addOnVertexValueChange(onElementVertexValueChange);
rememberElementRadius(_arg1);
launchNotifies();
}
private function rememberElementRadius(_arg1:IMeshElement):void{
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local2 = _arg1.radius2;
if (_local2 > (_radius * _radius)){
_radius = Math.sqrt(_local2);
_radiusElement = _arg1;
_radiusDirty = false;
_needNotifyRadiusChange = true;
};
_local3 = _arg1.maxX;
if (_local3 > _maxX){
_maxX = _local3;
_maxXElement = _arg1;
_maxXDirty = false;
_needNotifyDimensionsChange = true;
};
_local4 = _arg1.minX;
if (_local4 < _minX){
_minX = _local4;
_minXElement = _arg1;
_minXDirty = false;
_needNotifyDimensionsChange = true;
};
_local5 = _arg1.maxY;
if (_local5 > _maxY){
_maxY = _local5;
_maxYElement = _arg1;
_maxYDirty = false;
_needNotifyDimensionsChange = true;
};
_local6 = _arg1.minY;
if (_local6 < _minY){
_minY = _local6;
_minYElement = _arg1;
_minYDirty = false;
_needNotifyDimensionsChange = true;
};
_local7 = _arg1.maxZ;
if (_local7 > _maxZ){
_maxZ = _local7;
_maxZElement = _arg1;
_maxZDirty = false;
_needNotifyDimensionsChange = true;
};
_local8 = _arg1.minZ;
if (_local8 < _minZ){
_minZ = _local8;
_minZElement = _arg1;
_minZDirty = false;
_needNotifyDimensionsChange = true;
};
}
public function removeOnCycle(_arg1:Function):void{
animation.cycleEvent = false;
animation.removeEventListener("CYCLE", _arg1, false);
}
private function onElementVertexChange(_arg1:MeshElementEvent):void{
var _local2:IMeshElement;
_local2 = _arg1.element;
forgetElementRadius(_local2);
rememberElementRadius(_local2);
_verticesDirty = true;
launchNotifies();
}
public function set loop(_arg1:Boolean):void{
animation.loop = _arg1;
}
override public function scale(_arg1:Number):void{
scaleXYZ(_arg1, _arg1, _arg1);
}
public function play(_arg1:Object=null):void{
var _local2:Number;
var _local3:String;
var _local4:Boolean;
var _local5:Boolean;
var _local6:Boolean;
var _local7:String;
_arg1 = Init.parse(_arg1);
_local2 = _arg1.getNumber("fps", 24);
_local3 = _arg1.getString("prefix", null);
_local4 = _arg1.getBoolean("smooth", false);
_local5 = _arg1.getBoolean("loop", false);
if (!animation){
animation = new Animation(this);
} else {
animation.sequence = new Array();
};
animation.fps = _local2;
animation.smooth = _local4;
animation.loop = _local5;
if (_local3 != null){
for (_local7 in framenames) {
if (_local7.indexOf(_local3) == 0){
_local6 = true;
animation.sequence.push(new AnimationFrame(framenames[_local7], ("" + parseInt(_local7.substring(_local3.length)))));
};
};
if (_local6){
animation.sequence.sortOn("sort", Array.NUMERIC);
frames[_frame].adjust(1);
animation.start();
} else {
trace((("--------- \n--> unable to play animation: unvalid prefix [" + _local3) + "]\n--------- "));
};
};
}
public function set smooth(_arg1:Boolean):void{
animation.smooth = _arg1;
}
public function get frame():int{
return (animation.frame);
}
override public function get maxX():Number{
var _local1:Number;
var _local2:IMeshElement;
var _local3:Number;
if (_maxXDirty){
_maxXElement = null;
_local1 = -(Infinity);
for each (_local2 in elements) {
_local3 = _local2.maxX;
if (_local3 > _local1){
_local1 = _local3;
_maxXElement = _local2;
};
};
_maxX = _local1;
_maxXDirty = false;
};
return (_maxX);
}
override public function get maxY():Number{
var _local1:Number;
var _local2:IMeshElement;
var _local3:Number;
if (_maxYDirty){
_local1 = -(Infinity);
_maxYElement = null;
for each (_local2 in elements) {
_local3 = _local2.maxY;
if (_local3 > _local1){
_local1 = _local3;
_maxYElement = _local2;
};
};
_maxY = _local1;
_maxYDirty = false;
};
return (_maxY);
}
override public function get maxZ():Number{
var _local1:Number;
var _local2:IMeshElement;
var _local3:Number;
if (_maxZDirty){
_local1 = -(Infinity);
_maxZElement = null;
for each (_local2 in elements) {
_local3 = _local2.maxZ;
if (_local3 > _local1){
_local1 = _local3;
_maxZElement = _local2;
};
};
_maxZ = _local1;
_maxZDirty = false;
};
return (_maxZ);
}
public function scaleAnimation(_arg1:Number):void{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:String;
var _local6:Frame;
_local2 = new Array();
_local3 = 0;
_local4 = 0;
for (_local5 in framenames) {
_local2.push(_local5);
};
_local3 = 0;
while (_local3 < _local2.length) {
_local6 = frames[framenames[_local2[_local3]]];
_local4 = 0;
while (_local4 < _local6.vertexpositions.length) {
_local6.vertexpositions[_local4].x = (_local6.vertexpositions[_local4].x * _arg1);
_local6.vertexpositions[_local4].y = (_local6.vertexpositions[_local4].y * _arg1);
_local6.vertexpositions[_local4].z = (_local6.vertexpositions[_local4].z * _arg1);
_local4++;
};
_local3++;
};
}
public function get hasCycleEvent():Boolean{
return (animation.hasEventListener("CYCLE"));
}
override public function tick(_arg1:int):void{
if (((!((animation == null))) && (!((frames == null))))){
animation.update(this);
};
}
public function gotoAndStop(_arg1:int):void{
animation.frame = _arg1;
_frame = _arg1;
if (animation.run){
animation.stop();
};
}
private function onElementVertexValueChange(_arg1:MeshElementEvent):void{
var _local2:IMeshElement;
_local2 = _arg1.element;
forgetElementRadius(_local2);
rememberElementRadius(_local2);
launchNotifies();
}
public function get running():Boolean{
return (animation.run);
}
private function forgetElementRadius(_arg1:IMeshElement):void{
if (_arg1 == _radiusElement){
_radiusElement = null;
_radiusDirty = true;
_needNotifyRadiusChange = true;
};
if (_arg1 == _maxXElement){
_maxXElement = null;
_maxXDirty = true;
_needNotifyDimensionsChange = true;
};
if (_arg1 == _minXElement){
_minXElement = null;
_minXDirty = true;
_needNotifyDimensionsChange = true;
};
if (_arg1 == _maxYElement){
_maxYElement = null;
_maxYDirty = true;
_needNotifyDimensionsChange = true;
};
if (_arg1 == _minYElement){
_minYElement = null;
_minYDirty = true;
_needNotifyDimensionsChange = true;
};
if (_arg1 == _maxZElement){
_maxZElement = null;
_maxZDirty = true;
_needNotifyDimensionsChange = true;
};
if (_arg1 == _minZElement){
_minZElement = null;
_minZDirty = true;
_needNotifyDimensionsChange = true;
};
}
public function set fps(_arg1:int):void{
animation.fps = ((_arg1)>=1) ? _arg1 : 1;
}
protected function removeElement(_arg1:IMeshElement):void{
forgetElementRadius(_arg1);
_arg1.removeOnVertexValueChange(onElementVertexValueChange);
_arg1.removeOnVertexChange(onElementVertexChange);
_verticesDirty = true;
launchNotifies();
}
protected function scaleXYZ(_arg1:Number, _arg2:Number, _arg3:Number):void{
var _local4:Vertex;
for each (_local4 in vertices) {
_local4.x = (_local4.x * _arg1);
_local4.y = (_local4.y * _arg2);
_local4.z = (_local4.z * _arg3);
};
}
public function get vertices():Array{
var _local1:Dictionary;
var _local2:IMeshElement;
var _local3:Vertex;
if (_verticesDirty){
_vertices = [];
_local1 = new Dictionary();
for each (_local2 in elements) {
for each (_local3 in _local2.vertices) {
if (!_local1[_local3]){
_vertices.push(_local3);
_local1[_local3] = true;
};
};
};
_verticesDirty = false;
};
return (_vertices);
}
}
}//package away3d.core.base
Section 10
//BaseMeshElement (away3d.core.base.BaseMeshElement)
package away3d.core.base {
import away3d.events.*;
import away3d.core.utils.*;
import away3d.core.*;
public class BaseMeshElement extends LazyEventDispatcher implements IMeshElement {
private var visiblechanged:MeshElementEvent;
private var vertexchanged:MeshElementEvent;
arcane var _visible:Boolean;// = true
private var vertexvaluechanged:MeshElementEvent;
public function BaseMeshElement(){
_visible = true;
super();
}
protected function notifyVisibleChange():void{
if (!hasEventListener("visiblechanged")){
return;
};
if (visiblechanged == null){
visiblechanged = new MeshElementEvent("visiblechanged", this);
};
dispatchEvent(visiblechanged);
}
public function removeOnVertexValueChange(_arg1:Function):void{
removeEventListener("vertexvaluechanged", _arg1, false);
}
public function get visible():Boolean{
return (_visible);
}
protected function notifyVertexValueChange():void{
if (!hasEventListener("vertexvaluechanged")){
return;
};
if (vertexvaluechanged == null){
vertexvaluechanged = new MeshElementEvent("vertexvaluechanged", this);
};
dispatchEvent(vertexvaluechanged);
}
public function removeOnVertexChange(_arg1:Function):void{
removeEventListener("vertexchanged", _arg1, false);
}
public function removeOnVisibleChange(_arg1:Function):void{
removeEventListener("visiblechanged", _arg1, false);
}
public function addOnVertexValueChange(_arg1:Function):void{
addEventListener("vertexvaluechanged", _arg1, false, 0, true);
}
public function addOnVisibleChange(_arg1:Function):void{
addEventListener("visiblechanged", _arg1, false, 0, true);
}
public function get minX():Number{
return (-(Math.sqrt(radius2)));
}
public function get minY():Number{
return (-(Math.sqrt(radius2)));
}
public function get minZ():Number{
return (-(Math.sqrt(radius2)));
}
protected function notifyVertexChange():void{
if (!hasEventListener("vertexchanged")){
return;
};
if (vertexchanged == null){
vertexchanged = new MeshElementEvent("vertexchanged", this);
};
dispatchEvent(vertexchanged);
}
public function set visible(_arg1:Boolean):void{
if (_arg1 == _visible){
return;
};
_visible = _arg1;
notifyVisibleChange();
}
public function get radius2():Number{
var _local1:Number;
var _local2:Vertex;
var _local3:Number;
_local1 = 0;
for each (_local2 in vertices) {
_local3 = (((_local2._x * _local2._x) + (_local2._y * _local2._y)) + (_local2._z * _local2._z));
if (_local3 > _local1){
_local1 = _local3;
};
};
return (_local1);
}
public function get maxX():Number{
return (Math.sqrt(radius2));
}
public function get maxZ():Number{
return (Math.sqrt(radius2));
}
public function get vertices():Array{
throw (new Error("Not implemented"));
}
public function addOnVertexChange(_arg1:Function):void{
addEventListener("vertexchanged", _arg1, false, 0, true);
}
public function get maxY():Number{
return (Math.sqrt(radius2));
}
}
}//package away3d.core.base
Section 11
//Face (away3d.core.base.Face)
package away3d.core.base {
import away3d.materials.*;
import away3d.core.math.*;
import flash.events.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import flash.geom.*;
import away3d.events.*;
import away3d.core.*;
public class Face extends BaseMeshElement {
private var _normal:Number3D;
public var extra:Object;
arcane var _v0:Vertex;
arcane var _v1:Vertex;
arcane var _v2:Vertex;
private var mappingchanged:FaceEvent;
arcane var _dt:DrawTriangle;
var a:Number;
var b:Number;
var c:Number;
var s:Number;
arcane var _material:ITriangleMaterial;
public var parent:Mesh;
private var materialchanged:FaceEvent;
arcane var bitmapRect:Rectangle;
arcane var _back:ITriangleMaterial;
arcane var _uv0:UV;
arcane var _uv1:UV;
arcane var _uv2:UV;
public function Face(_arg1:Vertex, _arg2:Vertex, _arg3:Vertex, _arg4:ITriangleMaterial=null, _arg5:UV=null, _arg6:UV=null, _arg7:UV=null){
_dt = new DrawTriangle();
super();
this.v0 = _arg1;
this.v1 = _arg2;
this.v2 = _arg3;
this.material = _arg4;
this.uv0 = _arg5;
this.uv1 = _arg6;
this.uv2 = _arg7;
_dt.face = this;
}
public function get uvs():Array{
return ([_uv0, _uv1, _uv2]);
}
public function set v0(_arg1:Vertex):void{
if (_arg1 == _v0){
return;
};
if (_v0 != null){
if (((!((_v0 == _v1))) && (!((_v0 == _v2))))){
_v0.removeOnChange(onVertexValueChange);
};
};
_v0 = _arg1;
if (_v0 != null){
if (((!((_v0 == _v1))) && (!((_v0 == _v2))))){
_v0.addOnChange(onVertexValueChange);
};
};
notifyVertexChange();
}
private function onVertexValueChange(_arg1:Event):void{
_normal = null;
notifyVertexValueChange();
}
public function set v2(_arg1:Vertex):void{
if (_arg1 == _v2){
return;
};
if (_v2 != null){
if (((!((_v2 == _v1))) && (!((_v2 == _v0))))){
_v2.removeOnChange(onVertexValueChange);
};
};
_v2 = _arg1;
if (_v2 != null){
if (((!((_v2 == _v1))) && (!((_v2 == _v0))))){
_v2.addOnChange(onVertexValueChange);
};
};
notifyVertexChange();
}
public function get material():ITriangleMaterial{
return (_material);
}
arcane function front(_arg1:Projection):Number{
var _local2:ScreenVertex;
var _local3:ScreenVertex;
var _local4:ScreenVertex;
_local2 = _v0.project(_arg1);
_local3 = _v1.project(_arg1);
_local4 = _v2.project(_arg1);
return ((((_local2.x * (_local4.y - _local3.y)) + (_local3.x * (_local2.y - _local4.y))) + (_local4.x * (_local3.y - _local2.y))));
}
public function addOnMaterialChange(_arg1:Function):void{
addEventListener("materialchanged", _arg1, false, 0, true);
}
public function removeOnMaterialChange(_arg1:Function):void{
removeEventListener("materialchanged", _arg1, false);
}
public function get minU():Number{
if (_uv0._u < _uv1._u){
if (_uv0._u < _uv2._u){
return (_uv0._u);
};
return (_uv2._u);
//unresolved jump
};
if (_uv1._u < _uv2._u){
return (_uv1._u);
};
return (_uv2._u);
}
public function get minV():Number{
if (_uv0._v < _uv1._v){
if (_uv0._v < _uv2._v){
return (_uv0._v);
};
return (_uv2._v);
//unresolved jump
};
if (_uv1._v < _uv2._v){
return (_uv1._v);
};
return (_uv2._v);
}
override public function get minX():Number{
if (_v0._x < _v1._x){
if (_v0._x < _v2._x){
return (_v0._x);
};
return (_v2._x);
//unresolved jump
};
if (_v1._x < _v2._x){
return (_v1._x);
};
return (_v2._x);
}
override public function get minY():Number{
if (_v0._y < _v1._y){
if (_v0._y < _v2._y){
return (_v0._y);
};
return (_v2._y);
//unresolved jump
};
if (_v1._y < _v2._y){
return (_v1._y);
};
return (_v2._y);
}
override public function get minZ():Number{
if (_v0._z < _v1._z){
if (_v0._z < _v2._z){
return (_v0._z);
};
return (_v2._z);
//unresolved jump
};
if (_v1._z < _v2._z){
return (_v1._z);
};
return (_v2._z);
}
public function set material(_arg1:ITriangleMaterial):void{
if (_arg1 == _material){
return;
};
_material = _arg1;
notifyMaterialChange();
}
public function removeOnMappingChange(_arg1:Function):void{
removeEventListener("mappingchanged", _arg1, false);
}
protected function notifyMappingChange():void{
_dt.texturemapping = null;
if (!hasEventListener("mappingchanged")){
return;
};
if (mappingchanged == null){
mappingchanged = new FaceEvent("mappingchanged", this);
};
dispatchEvent(mappingchanged);
}
public function set uv1(_arg1:UV):void{
if (_arg1 == _uv1){
return;
};
if (_uv1 != null){
if (((!((_uv1 == _uv0))) && (!((_uv1 == _uv2))))){
_uv1.removeOnChange(onUVChange);
};
};
_uv1 = _arg1;
if (_uv1 != null){
if (((!((_uv1 == _uv0))) && (!((_uv1 == _uv2))))){
_uv1.addOnChange(onUVChange);
};
};
notifyMappingChange();
}
public function set uv0(_arg1:UV):void{
if (_arg1 == _uv0){
return;
};
if (_uv0 != null){
if (((!((_uv0 == _uv1))) && (!((_uv0 == _uv2))))){
_uv0.removeOnChange(onUVChange);
};
};
_uv0 = _arg1;
if (_uv0 != null){
if (((!((_uv0 == _uv1))) && (!((_uv0 == _uv2))))){
_uv0.addOnChange(onUVChange);
};
};
notifyMappingChange();
}
protected function notifyMaterialChange():void{
_dt.texturemapping = null;
if (!hasEventListener("materialchanged")){
return;
};
if (materialchanged == null){
materialchanged = new FaceEvent("materialchanged", this);
};
dispatchEvent(materialchanged);
}
public function set uv2(_arg1:UV):void{
if (_arg1 == _uv2){
return;
};
if (_uv2 != null){
if (((!((_uv2 == _uv1))) && (!((_uv2 == _uv0))))){
_uv2.removeOnChange(onUVChange);
};
};
_uv2 = _arg1;
if (_uv2 != null){
if (((!((_uv2 == _uv1))) && (!((_uv2 == _uv0))))){
_uv2.addOnChange(onUVChange);
};
};
notifyMappingChange();
}
public function get maxU():Number{
if (_uv0._u > _uv1._u){
if (_uv0.u > _uv2._u){
return (_uv0._u);
};
return (_uv2._u);
//unresolved jump
};
if (_uv1._u > _uv2._u){
return (_uv1._u);
};
return (_uv2._u);
}
override public function get maxX():Number{
if (_v0._x > _v1._x){
if (_v0._x > _v2._x){
return (_v0._x);
};
return (_v2._x);
//unresolved jump
};
if (_v1._x > _v2._x){
return (_v1._x);
};
return (_v2._x);
}
public function get maxV():Number{
if (_uv0._v > _uv1._v){
if (_uv0._v > _uv2._v){
return (_uv0._v);
};
return (_uv2._v);
//unresolved jump
};
if (_uv1._v > _uv2._v){
return (_uv1._v);
};
return (_uv2._v);
}
public function get v0():Vertex{
return (_v0);
}
public function get v1():Vertex{
return (_v1);
}
public function get v2():Vertex{
return (_v2);
}
override public function get maxZ():Number{
if (_v0._z > _v1._z){
if (_v0._z > _v2._z){
return (_v0._z);
};
return (_v2._z);
//unresolved jump
};
if (_v1._z > _v2._z){
return (_v1._z);
};
return (_v2._z);
}
override public function get maxY():Number{
if (_v0._y > _v1._y){
if (_v0._y > _v2._y){
return (_v0._y);
};
return (_v2._y);
//unresolved jump
};
if (_v1._y > _v2._y){
return (_v1._y);
};
return (_v2._y);
}
private function onUVChange(_arg1:Event):void{
notifyMappingChange();
}
public function get area():Number{
a = v0.position.distance(v1.position);
b = v1.position.distance(v2.position);
c = v2.position.distance(v0.position);
s = (((a + b) + c) / 2);
return (Math.sqrt((((s * (s - a)) * (s - b)) * (s - c))));
}
public function addOnMappingChange(_arg1:Function):void{
addEventListener("mappingchanged", _arg1, false, 0, true);
}
public function get uv0():UV{
return (_uv0);
}
public function get uv1():UV{
return (_uv1);
}
public function get uv2():UV{
return (_uv2);
}
public function set back(_arg1:ITriangleMaterial):void{
if (_arg1 == _back){
return;
};
_back = _arg1;
}
public function invert():void{
var _local1:Vertex;
var _local2:Vertex;
var _local3:UV;
var _local4:UV;
_local1 = this._v1;
_local2 = this._v2;
_local3 = this._uv1;
_local4 = this._uv2;
this._v1 = _local2;
this._v2 = _local1;
this._uv1 = _local4;
this._uv2 = _local3;
notifyVertexChange();
notifyMappingChange();
}
public function get normal():Number3D{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
if (!_normal){
_normal = new Number3D();
_local1 = (_v1.x - _v0.x);
_local2 = (_v1.y - _v0.y);
_local3 = (_v1.z - _v0.z);
_local4 = (_v2.x - _v0.x);
_local5 = (_v2.y - _v0.y);
_local6 = (_v2.z - _v0.z);
_local7 = ((_local2 * _local6) - (_local3 * _local5));
_local8 = ((_local3 * _local4) - (_local1 * _local6));
_local9 = ((_local1 * _local5) - (_local2 * _local4));
_local10 = Math.sqrt((((_local7 * _local7) + (_local8 * _local8)) + (_local9 * _local9)));
_normal.x = (_local7 / _local10);
_normal.y = (_local8 / _local10);
_normal.z = (_local9 / _local10);
};
return (_normal);
}
public function get back():ITriangleMaterial{
return (_back);
}
override public function get radius2():Number{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = (((_v0._x * _v0._x) + (_v0._y * _v0._y)) + (_v0._z * _v0._z));
_local2 = (((_v1._x * _v1._x) + (_v1._y * _v1._y)) + (_v1._z * _v1._z));
_local3 = (((_v2._x * _v2._x) + (_v2._y * _v2._y)) + (_v2._z * _v2._z));
if (_local1 > _local2){
if (_local1 > _local3){
return (_local1);
};
return (_local3);
//unresolved jump
};
if (_local2 > _local3){
return (_local2);
};
return (_local3);
}
private function onVertexChange(_arg1:Event):void{
_normal = null;
notifyVertexChange();
}
public function set v1(_arg1:Vertex):void{
if (_arg1 == _v1){
return;
};
if (_v1 != null){
if (((!((_v1 == _v0))) && (!((_v1 == _v2))))){
_v1.removeOnChange(onVertexValueChange);
};
};
_v1 = _arg1;
if (_v1 != null){
if (((!((_v1 == _v0))) && (!((_v1 == _v2))))){
_v1.addOnChange(onVertexValueChange);
};
};
notifyVertexChange();
}
override public function get vertices():Array{
return ([_v0, _v1, _v2]);
}
}
}//package away3d.core.base
Section 12
//Frame (away3d.core.base.Frame)
package away3d.core.base {
public class Frame {
public var vertexpositions:Array;
public function Frame(){
vertexpositions = [];
super();
}
public function adjust(_arg1:Number=1):void{
var _local2:VertexPosition;
for each (_local2 in vertexpositions) {
_local2.adjust(_arg1);
};
}
}
}//package away3d.core.base
Section 13
//IAnimation (away3d.core.base.IAnimation)
package away3d.core.base {
public interface IAnimation {
function update(_arg1:BaseMesh):void;
}
}//package away3d.core.base
Section 14
//IMeshElement (away3d.core.base.IMeshElement)
package away3d.core.base {
public interface IMeshElement {
function get radius2():Number;
function addOnVisibleChange(_arg1:Function):void;
function get minX():Number;
function get minZ():Number;
function get minY():Number;
function get visible():Boolean;
function get maxX():Number;
function get maxY():Number;
function get maxZ():Number;
function removeOnVertexChange(_arg1:Function):void;
function get vertices():Array;
function removeOnVertexValueChange(_arg1:Function):void;
function addOnVertexChange(_arg1:Function):void;
function addOnVertexValueChange(_arg1:Function):void;
function removeOnVisibleChange(_arg1:Function):void;
}
}//package away3d.core.base
Section 15
//Mesh (away3d.core.base.Mesh)
package away3d.core.base {
import flash.utils.*;
import flash.display.*;
import away3d.materials.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.events.*;
import away3d.core.utils.*;
import away3d.primitives.*;
import away3d.core.*;
public class Mesh extends BaseMesh implements IPrimitiveProvider {
private var _scenevertnormalsDirty:Boolean;// = true
var fAngle:Number;
public var outline:ISegmentMaterial;
var fVectors:Array;
private var _vertnormals:Dictionary;
private var _scenevertnormals:Dictionary;
private var _material:ITriangleMaterial;
private var _faces:Array;
var vt:ScreenVertex;
var uvmaterial:Boolean;
private var _vertnormalsDirty:Boolean;// = true
public var back:ITriangleMaterial;
var fNormal:Number3D;
var n01:Face;
public var indexes:Array;
public var _dtStore:Array;
public var _dtActive:Array;
private var _neighbour01:Dictionary;
public var bothsides:Boolean;
var n12:Face;
var n20:Face;
private var _neighboursDirty:Boolean;// = true
private var _neighbour12:Dictionary;
var transparent:ITriangleMaterial;
var backmat:ITriangleMaterial;
private var _neighbour20:Dictionary;
private var _vertfaces:Dictionary;
var tri:DrawTriangle;
var backface:Boolean;
private var _vertfacesDirty:Boolean;// = true
public var debugbb:Boolean;
var _debugboundingbox:WireCube;
var uvt:UV;
public function Mesh(_arg1:Object=null){
_faces = [];
_neighboursDirty = true;
_vertfacesDirty = true;
_vertnormalsDirty = true;
_scenevertnormalsDirty = true;
_dtStore = new Array();
_dtActive = new Array();
super(_arg1);
_arg1 = Init.parse(_arg1);
_arg1;
(material = _arg1.getMaterial("material"));
(outline = _arg1.getSegmentMaterial("outline"));
(back = _arg1.getMaterial("back"));
(bothsides = _arg1.getBoolean("bothsides", false));
(debugbb = _arg1.getBoolean("debugbb", false));
if ((((material == null)) && ((outline == null)))){
(material = new WireColorMaterial());
};
}
arcane function getVertexNormal(_arg1:Vertex):Number3D{
if (_vertfacesDirty){
findVertFaces();
};
if (_vertnormalsDirty){
findVertNormals();
};
return (_vertnormals[_arg1]);
}
private function rememberFaceNeighbours(_arg1:Face):void{
var _local2:Face;
if (_neighboursDirty){
return;
};
for each (var _local5 in _faces) {
_local2 = _local5;
_local5;
if (_arg1 == _local2){
} else {
if ((((_arg1._v0 == _local2._v2)) && ((_arg1._v1 == _local2._v1)))){
(_neighbour01[_arg1] = _local2);
(_neighbour12[_local2] = _arg1);
};
if ((((_arg1._v0 == _local2._v0)) && ((_arg1._v1 == _local2._v2)))){
(_neighbour01[_arg1] = _local2);
(_neighbour20[_local2] = _arg1);
};
if ((((_arg1._v0 == _local2._v1)) && ((_arg1._v1 == _local2._v0)))){
(_neighbour01[_arg1] = _local2);
(_neighbour01[_local2] = _arg1);
};
if ((((_arg1._v1 == _local2._v2)) && ((_arg1._v2 == _local2._v1)))){
(_neighbour12[_arg1] = _local2);
(_neighbour12[_local2] = _arg1);
};
if ((((_arg1._v1 == _local2._v0)) && ((_arg1._v2 == _local2._v2)))){
(_neighbour12[_arg1] = _local2);
(_neighbour20[_local2] = _arg1);
};
if ((((_arg1._v1 == _local2._v1)) && ((_arg1._v2 == _local2._v0)))){
(_neighbour12[_arg1] = _local2);
(_neighbour01[_local2] = _arg1);
};
if ((((_arg1._v2 == _local2._v2)) && ((_arg1._v0 == _local2._v1)))){
(_neighbour20[_arg1] = _local2);
(_neighbour12[_local2] = _arg1);
};
if ((((_arg1._v2 == _local2._v0)) && ((_arg1._v0 == _local2._v2)))){
(_neighbour20[_arg1] = _local2);
(_neighbour20[_local2] = _arg1);
};
if ((((_arg1._v2 == _local2._v1)) && ((_arg1._v0 == _local2._v0)))){
(_neighbour20[_arg1] = _local2);
(_neighbour01[_local2] = _arg1);
};
};
};
}
private function clear():void{
var _local1:Face;
for each (var _local4 in _faces.concat([])) {
_local1 = _local4;
_local4;
removeFace(_local1);
};
}
public function quarterFaces():void{
var _local1:Dictionary;
var _local2:Face;
var _local3:Vertex;
var _local4:Vertex;
var _local5:Vertex;
var _local6:Vertex;
var _local7:Vertex;
var _local8:Vertex;
var _local9:UV;
var _local10:UV;
var _local11:UV;
var _local12:UV;
var _local13:UV;
var _local14:UV;
var _local15:ITriangleMaterial;
_local1 = new Dictionary();
for each (var _local18 in _faces.concat([])) {
_local2 = _local18;
_local18;
_local3 = _local2.v0;
_local4 = _local2.v1;
_local5 = _local2.v2;
if (_local1[_local3] == null){
(_local1[_local3] = new Dictionary());
};
if (_local1[_local4] == null){
(_local1[_local4] = new Dictionary());
};
if (_local1[_local5] == null){
(_local1[_local5] = new Dictionary());
};
_local6 = _local1[_local3][_local4];
if (_local6 == null){
_local6 = Vertex.median(_local3, _local4);
_local6;
(_local1[_local3][_local4] = _local6);
(_local1[_local4][_local3] = _local6);
};
_local7 = _local1[_local4][_local5];
if (_local7 == null){
_local7 = Vertex.median(_local4, _local5);
_local7;
(_local1[_local4][_local5] = _local7);
(_local1[_local5][_local4] = _local7);
};
_local8 = _local1[_local5][_local3];
if (_local8 == null){
_local8 = Vertex.median(_local5, _local3);
_local8;
(_local1[_local5][_local3] = _local8);
(_local1[_local3][_local5] = _local8);
};
_local9 = _local2.uv0;
_local10 = _local2.uv1;
_local11 = _local2.uv2;
_local12 = UV.median(_local9, _local10);
_local13 = UV.median(_local10, _local11);
_local14 = UV.median(_local11, _local9);
_local15 = _local2.material;
removeFace(_local2);
addFace(new Face(_local3, _local6, _local8, _local15, _local9, _local12, _local14));
addFace(new Face(_local6, _local4, _local7, _local15, _local12, _local10, _local13));
addFace(new Face(_local8, _local7, _local5, _local15, _local14, _local13, _local11));
addFace(new Face(_local7, _local8, _local6, _local15, _local13, _local14, _local12));
};
}
override public function primitives(_arg1:IPrimitiveConsumer, _arg2:AbstractRenderSession):void{
var _local3:Face;
super.primitives(_arg1, _arg2);
(_dtStore = _dtStore.concat(_dtActive));
(_dtActive = new Array());
if (outline != null){
if (_neighboursDirty){
findNeighbours();
};
};
if (debugbb){
if (_debugboundingbox == null){
(_debugboundingbox = new WireCube({material:"#white"}));
};
(_debugboundingbox.v000.x = minX);
(_debugboundingbox.v001.x = minX);
(_debugboundingbox.v010.x = minX);
(_debugboundingbox.v011.x = minX);
(_debugboundingbox.v100.x = maxX);
(_debugboundingbox.v101.x = maxX);
(_debugboundingbox.v110.x = maxX);
(_debugboundingbox.v111.x = maxX);
(_debugboundingbox.v000.y = minY);
(_debugboundingbox.v001.y = minY);
(_debugboundingbox.v010.y = maxY);
(_debugboundingbox.v011.y = maxY);
(_debugboundingbox.v100.y = minY);
(_debugboundingbox.v101.y = minY);
(_debugboundingbox.v110.y = maxY);
(_debugboundingbox.v111.y = maxY);
(_debugboundingbox.v000.z = minZ);
(_debugboundingbox.v001.z = maxZ);
(_debugboundingbox.v010.z = minZ);
(_debugboundingbox.v011.z = maxZ);
(_debugboundingbox.v100.z = minZ);
(_debugboundingbox.v101.z = maxZ);
(_debugboundingbox.v110.z = minZ);
(_debugboundingbox.v111.z = maxZ);
if (_faces.length > 0){
_debugboundingbox.primitives(_arg1, _arg2);
};
};
(transparent = TransparentMaterial.INSTANCE);
(backmat = ((back) || (material)));
for each (var _local6 in _faces) {
_local3 = _local6;
_local6;
if (!_local3._visible){
} else {
(tri = _local3._dt);
(tri.v0 = _local3._v0.project(projection));
(tri.v1 = _local3._v1.project(projection));
(tri.v2 = _local3._v2.project(projection));
if (!tri.v0.visible){
} else {
if (!tri.v1.visible){
} else {
if (!tri.v2.visible){
} else {
tri.calc();
if (tri.maxZ < 0){
} else {
(backface = (tri.area < 0));
if (backface){
if (!bothsides){
continue;
};
(tri.material = _local3._back);
} else {
(tri.material = _local3._material);
};
if (tri.material == null){
if (backface){
(tri.material = backmat);
} else {
(tri.material = material);
};
};
if (tri.material != null){
if (!tri.material.visible){
(tri.material = null);
};
};
if (outline == null){
//unresolved if
} else {
if (pushback){
(tri.screenZ = tri.maxZ);
};
if (pushfront){
(tri.screenZ = tri.minZ);
};
(uvmaterial = (((tri.material is IUVMaterial)) || ((tri.material is ILayerMaterial))));
if (backface){
(vt = tri.v1);
(tri.v1 = tri.v2);
(tri.v2 = vt);
(tri.area = -(tri.area));
if (uvmaterial){
(tri.uv0 = _local3._uv0);
(tri.uv1 = _local3._uv2);
(tri.uv2 = _local3._uv1);
};
} else {
if (uvmaterial){
(tri.uv0 = _local3._uv0);
(tri.uv1 = _local3._uv1);
(tri.uv2 = _local3._uv2);
};
};
if (tri.backface != backface){
(tri.backface = backface);
(tri.texturemapping = null);
};
if (((!((outline == null))) && (!(backface)))){
(n01 = _neighbour01[_local3]);
if ((((n01 == null)) || ((n01.front(projection) <= 0)))){
_arg1.primitive(createDrawSegment(outline, projection, tri.v0, tri.v1));
};
(n12 = _neighbour12[_local3]);
if ((((n12 == null)) || ((n12.front(projection) <= 0)))){
_arg1.primitive(createDrawSegment(outline, projection, tri.v1, tri.v2));
};
(n20 = _neighbour20[_local3]);
if ((((n20 == null)) || ((n20.front(projection) <= 0)))){
_arg1.primitive(createDrawSegment(outline, projection, tri.v2, tri.v0));
};
//unresolved if
} else {
(tri.projection = projection);
_arg1.primitive(tri);
};
};
};
};
};
};
};
};
}
public function set material(_arg1:ITriangleMaterial):void{
var _local2:Face;
if (_material == _arg1){
return;
};
_material = _arg1;
if ((((_material is IUVMaterial)) || ((_material is ILayerMaterial)))){
for each (_local2 in _faces) {
_local2._dt.texturemapping = null;
};
};
}
private function findVertNormals():void{
var _local1:Vertex;
var _local2:Array;
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Face;
var _local7:Number3D;
var _local8:Vertex;
if (!_vertnormalsDirty){
return;
};
_vertnormals = new Dictionary();
for each (_local1 in vertices) {
_local2 = _vertfaces[_local1];
_local3 = 0;
_local4 = 0;
_local5 = 0;
for each (_local6 in _local2) {
fNormal = _local6.normal;
fVectors = new Array();
for each (_local8 in _local6.vertices) {
if (_local8 != _local1){
fVectors.push(new Number3D((_local8.x - _local1.x), (_local8.y - _local1.y), (_local8.z - _local1.z), true));
};
};
fVectors;
fAngle = Math.acos((fVectors[0] as Number3D).dot((fVectors[1] as Number3D)));
_local3 = (_local3 + (fNormal.x * fAngle));
_local4 = (_local4 + (fNormal.y * fAngle));
_local5 = (_local5 + (fNormal.z * fAngle));
};
_local7 = new Number3D(_local3, _local4, _local5);
_local7.normalize();
_vertnormals[_local1] = _local7;
};
_vertnormalsDirty = false;
}
private function findNeighbours():void{
var _local1:Face;
var _local2:Boolean;
var _local3:Face;
if (!_neighboursDirty){
return;
};
(_neighbour01 = new Dictionary());
(_neighbour12 = new Dictionary());
(_neighbour20 = new Dictionary());
for each (var _local6 in _faces) {
_local1 = _local6;
_local6;
_local2 = true;
for each (var _local8 in _faces) {
_local3 = _local8;
_local8;
if (_local2){
if (_local1 == _local3){
_local2 = false;
_local2;
};
} else {
if ((((_local1._v0 == _local3._v2)) && ((_local1._v1 == _local3._v1)))){
(_neighbour01[_local1] = _local3);
(_neighbour12[_local3] = _local1);
};
if ((((_local1._v0 == _local3._v0)) && ((_local1._v1 == _local3._v2)))){
(_neighbour01[_local1] = _local3);
(_neighbour20[_local3] = _local1);
};
if ((((_local1._v0 == _local3._v1)) && ((_local1._v1 == _local3._v0)))){
(_neighbour01[_local1] = _local3);
(_neighbour01[_local3] = _local1);
};
if ((((_local1._v1 == _local3._v2)) && ((_local1._v2 == _local3._v1)))){
(_neighbour12[_local1] = _local3);
(_neighbour12[_local3] = _local1);
};
if ((((_local1._v1 == _local3._v0)) && ((_local1._v2 == _local3._v2)))){
(_neighbour12[_local1] = _local3);
(_neighbour20[_local3] = _local1);
};
if ((((_local1._v1 == _local3._v1)) && ((_local1._v2 == _local3._v0)))){
(_neighbour12[_local1] = _local3);
(_neighbour01[_local3] = _local1);
};
if ((((_local1._v2 == _local3._v2)) && ((_local1._v0 == _local3._v1)))){
(_neighbour20[_local1] = _local3);
(_neighbour12[_local3] = _local1);
};
if ((((_local1._v2 == _local3._v0)) && ((_local1._v0 == _local3._v2)))){
(_neighbour20[_local1] = _local3);
(_neighbour20[_local3] = _local1);
};
if ((((_local1._v2 == _local3._v1)) && ((_local1._v0 == _local3._v0)))){
(_neighbour20[_local1] = _local3);
(_neighbour01[_local3] = _local1);
};
};
};
};
(_neighboursDirty = false);
}
public function createDrawTriangle(_arg1:Face, _arg2:ITriangleMaterial, _arg3:Projection, _arg4:ScreenVertex, _arg5:ScreenVertex, _arg6:ScreenVertex, _arg7:UV, _arg8:UV, _arg9:UV):DrawTriangle{
if (_dtStore.length){
_dtActive.push((tri = _dtStore.pop()));
(tri.texturemapping = null);
(tri.create = createDrawTriangle);
} else {
_dtActive.push((tri = new DrawTriangle()));
(tri.source = this);
(tri.create = createDrawTriangle);
};
(tri.face = _arg1);
(tri.material = _arg2);
(tri.projection = _arg3);
(tri.v0 = _arg4);
(tri.v1 = _arg5);
(tri.v2 = _arg6);
(tri.uv0 = _arg7);
(tri.uv1 = _arg8);
(tri.uv2 = _arg9);
tri.calc();
return (tri);
}
public function asXML():XML{
var result:XML;
var refvertices:Dictionary;
var verticeslist:Array;
var remembervertex:Function;
var refuvs:Dictionary;
var uvslist:Array;
var rememberuv:Function;
var face:Face;
var vn:int;
var v:Vertex;
var uvn:int;
var uv:UV;
var f:Face;
result = <mesh></mesh>
;
refvertices = new Dictionary();
verticeslist = [];
remembervertex = function (_arg1:Vertex):void{
if (refvertices[_arg1] == null){
(refvertices[_arg1] = verticeslist.length);
verticeslist.push(_arg1);
};
};
refuvs = new Dictionary();
uvslist = [];
rememberuv = function (_arg1:UV):void{
if (_arg1 == null){
return;
};
if (refuvs[_arg1] == null){
(refuvs[_arg1] = uvslist.length);
uvslist.push(_arg1);
};
};
for each (var _local4 in _faces) {
face = _local4;
_local4;
remembervertex(face._v0);
remembervertex(face._v1);
remembervertex(face._v2);
rememberuv(face._uv0);
rememberuv(face._uv1);
rememberuv(face._uv2);
};
vn = 0;
for each (_local4 in verticeslist) {
v = _local4;
_local4;
result.appendChild(new XML((((((((("<vertex id=\"" + ??esc_xattr
) + "\" x=\"") + ??esc_xattr
) + "\" y=\"") + ??esc_xattr
) + "\" z=\"") + ??esc_xattr
) + "\"/>")));
vn = (vn + 1);
vn;
};
uvn = 0;
for each (_local4 in uvslist) {
uv = _local4;
_local4;
result.appendChild(new XML((((((("<uv id=\"" + ??esc_xattr
) + "\" u=\"") + ??esc_xattr
) + "\" v=\"") + ??esc_xattr
) + "\"/>")));
uvn = (uvn + 1);
uvn;
};
for each (_local4 in _faces) {
f = _local4;
_local4;
result.appendChild(new XML((((((((((((("<face v0=\"" + ??esc_xattr
) + "\" v1=\"") + ??esc_xattr
) + "\" v2=\"") + ??esc_xattr
) + "\" uv0=\"") + ??esc_xattr
) + "\" uv1=\"") + ??esc_xattr
) + "\" uv2=\"") + ??esc_xattr
) + "\"/>")));
};
return (result);
}
public function addFace(_arg1:Face):void{
addElement(_arg1);
_faces.push(_arg1);
(_arg1._dt.source = (_arg1.parent = this));
(_arg1._dt.create = createDrawTriangle);
_arg1.addOnVertexChange(onFaceVertexChange);
rememberFaceNeighbours(_arg1);
(_vertfacesDirty = true);
}
arcane function neighbour01(_arg1:Face):Face{
if (_neighboursDirty){
findNeighbours();
};
return (_neighbour01[_arg1]);
}
public function movePivot(_arg1:Number, _arg2:Number, _arg3:Number):void{
var _local4:Boolean;
var _local5:Vertex;
var _local6:Number3D;
_local4 = _neighboursDirty;
(_neighboursDirty = true);
for each (var _local9 in vertices) {
_local5 = _local9;
_local9;
(_local5.x = (_local5.x - _arg1));
(_local5.y = (_local5.y - _arg2));
(_local5.z = (_local5.z - _arg3));
};
_local6 = new Number3D(_arg1, _arg2, _arg3);
new Number3D(_arg1, _arg2, _arg3).rotate(_local6.clone(), _transform);
_local6.add(_local6, position);
moveTo(_local6);
(_neighboursDirty = _local4);
}
override public function get elements():Array{
return (_faces);
}
arcane function neighbour12(_arg1:Face):Face{
if (_neighboursDirty){
findNeighbours();
};
return (_neighbour12[_arg1]);
}
arcane function getFacesByVertex(_arg1:Vertex):Array{
if (_vertfacesDirty){
findVertFaces();
};
return (_vertfaces[_arg1]);
}
public function removeFace(_arg1:Face):void{
var _local2:int;
_local2 = _faces.indexOf(_arg1);
if (_local2 == -1){
return;
};
removeElement(_arg1);
(_vertfacesDirty = true);
forgetFaceNeighbours(_arg1);
_arg1.removeOnVertexChange(onFaceVertexChange);
_faces.splice(_local2, 1);
}
arcane function neighbour20(_arg1:Face):Face{
if (_neighboursDirty){
findNeighbours();
};
return (_neighbour20[_arg1]);
}
arcane function recalcNeighbours():void{
var _local1:Dictionary;
var _local2:Dictionary;
var _local3:Dictionary;
if (!_neighboursDirty){
(_neighboursDirty = true);
_local1 = _neighbour01;
_local2 = _neighbour12;
_local3 = _neighbour20;
findNeighbours();
};
}
public function get material():ITriangleMaterial{
return (_material);
}
override public function clone(_arg1=null){
var mesh:Mesh;
var clonedvertices:Dictionary;
var clonevertex:Function;
var cloneduvs:Dictionary;
var cloneuv:Function;
var face:Face;
var object = _arg1;
mesh = ((object) || (new Mesh()));
super.clone(mesh);
(mesh.material = material);
(mesh.outline = outline);
(mesh.back = back);
(mesh.bothsides = bothsides);
(mesh.debugbb = debugbb);
clonedvertices = new Dictionary();
clonevertex = function (_arg1:Vertex):Vertex{
var _local2:Vertex;
_local2 = clonedvertices[_arg1];
if (_local2 == null){
_local2 = new Vertex(_arg1._x, _arg1._y, _arg1._z);
_local2;
(_local2.extra = ((_arg1.extra is IClonable)) ? (_arg1.extra as IClonable).clone() : _arg1.extra);
(clonedvertices[_arg1] = _local2);
};
return (_local2);
};
cloneduvs = new Dictionary();
cloneuv = function (_arg1:UV):UV{
var _local2:UV;
if (_arg1 == null){
return (null);
};
_local2 = cloneduvs[_arg1];
if (_local2 == null){
_local2 = new UV(_arg1._u, _arg1._v);
_local2;
(cloneduvs[_arg1] = _local2);
};
return (_local2);
};
for each (var _local5 in _faces) {
face = _local5;
_local5;
mesh.addFace(new Face(clonevertex(face._v0), clonevertex(face._v1), clonevertex(face._v2), face.material, cloneuv(face._uv0), cloneuv(face._uv1), cloneuv(face._uv2)));
};
return (mesh);
}
private function onFaceVertexChange(_arg1:MeshElementEvent):void{
var _local2:Face;
if (!_neighboursDirty){
_local2 = (_arg1.element as Face);
forgetFaceNeighbours(_local2);
rememberFaceNeighbours(_local2);
};
(_vertfacesDirty = true);
}
private function findVertFaces():void{
var _local1:Face;
var _local2:Vertex;
var _local3:Vertex;
var _local4:Vertex;
if (!_vertfacesDirty){
return;
};
_vertfaces = new Dictionary();
for each (_local1 in faces) {
_local2 = _local1.v0;
if (_vertfaces[_local1.v0] == null){
_vertfaces[_local1.v0] = [_local1];
} else {
_vertfaces[_local1.v0].push(_local1);
};
_local3 = _local1.v1;
if (_vertfaces[_local1.v1] == null){
_vertfaces[_local1.v1] = [_local1];
} else {
_vertfaces[_local1.v1].push(_local1);
};
_local4 = _local1.v2;
if (_vertfaces[_local1.v2] == null){
_vertfaces[_local1.v2] = [_local1];
} else {
_vertfaces[_local1.v2].push(_local1);
};
};
_vertfacesDirty = false;
}
private function forgetFaceNeighbours(_arg1:Face):void{
if (_neighboursDirty){
return;
};
(n01 = _neighbour01[_arg1]);
if (n01 != null){
delete _neighbour01[_arg1];
if (_neighbour01[n01] == _arg1){
delete _neighbour01[n01];
};
if (_neighbour12[n01] == _arg1){
delete _neighbour12[n01];
};
if (_neighbour20[n01] == _arg1){
delete _neighbour20[n01];
};
};
(n12 = _neighbour12[_arg1]);
if (n12 != null){
delete _neighbour12[_arg1];
if (_neighbour01[n12] == _arg1){
delete _neighbour01[n12];
};
if (_neighbour12[n12] == _arg1){
delete _neighbour12[n12];
};
if (_neighbour20[n12] == _arg1){
delete _neighbour20[n12];
};
};
(n20 = _neighbour20[_arg1]);
if (n20 != null){
delete _neighbour20[_arg1];
if (_neighbour01[n20] == _arg1){
delete _neighbour01[n20];
};
if (_neighbour12[n20] == _arg1){
delete _neighbour12[n20];
};
if (_neighbour20[n20] == _arg1){
delete _neighbour20[n20];
};
};
}
public function invertFaces():void{
var _local1:Face;
for each (var _local4 in _faces) {
_local1 = _local4;
_local4;
_local1.invert();
};
}
arcane function getSceneVertexNormal(_arg1:Vertex):Number3D{
if (_vertfacesDirty){
findVertFaces();
};
if (_vertnormalsDirty){
findVertNormals();
};
if (_scenevertnormalsDirty){
findSceneVertNormals();
};
return (_scenevertnormals[_arg1]);
}
private function findSceneVertNormals():void{
var _local1:Vertex;
if (!_scenevertnormalsDirty){
return;
};
_scenevertnormals = new Dictionary();
for each (_local1 in vertices) {
};
(_scenevertnormalsDirty = false);
}
public function get faces():Array{
return (_faces);
}
public function asAS3Class(_arg1:String=null, _arg2:String="", _arg3:Boolean=false, _arg4:Boolean=false):String{
var importextra:String;
var source:String;
var refvertices:Dictionary;
var verticeslist:Array;
var remembervertex:Function;
var refuvs:Dictionary;
var uvslist:Array;
var rememberuv:Function;
var face:Face;
var uv:UV;
var v:Vertex;
var myPattern:RegExp;
var myPattern2:RegExp;
var f:Face;
var tmp:String;
var ind:Array;
var auv:Array;
var i:int;
var afn:Array;
var avp:Array;
var tmpnames:Array;
var y:int;
var framename:String;
var fr:Frame;
var classname = _arg1;
var packagename = _arg2;
var round = _arg3;
var animated = _arg4;
var _local6 = ((((classname) || (name))) || ("Away3DObject"));
classname = _local6;
_local6;
importextra = (animated) ? "\timport flash.utils.Dictionary;\n" : "";
source = (((((("package " + packagename) + "\n{\n\timport away3d.core.base.*;\n\timport away3d.core.utils.*;\n") + importextra) + "\n\tpublic class ") + classname) + " extends Mesh\n\t{\n");
_local6 = (source + "\t\tprivate var varr:Array = [];\n\t\tprivate var uvarr:Array = [];\n\t\tprivate var scaling:Number;\n");
source = _local6;
_local6;
if (animated){
_local6 = (source + "\t\tprivate var fnarr:Array = [];\n\n");
source = _local6;
_local6;
_local6 = (source + "\n\t\tprivate function v():void\n\t\t{\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\tfor(var i:int = 0;i<vcount;i++){\n\t\t\t\tvarr.push(new Vertex(0,0,0));\n\t\t\t}\n\t\t}\n\n");
source = _local6;
_local6;
} else {
_local6 = (source + "\n\t\tprivate function v(x:Number,y:Number,z:Number):void\n\t\t{\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\tvarr.push(new Vertex(x*scaling, y*scaling, z*scaling));\n\t\t}\n\n");
source = _local6;
_local6;
};
_local6 = (source + "\t\tprivate function uv(u:Number,v:Number):void\n\t\t{\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\tuvarr.push(new UV(u,v));\n\t\t}\n\n");
source = _local6;
_local6;
_local6 = (source + "\t\tprivate function f(vn0:int, vn1:int, vn2:int, uvn0:int, uvn1:int, uvn2:int):void\n\t\t{\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\taddFace(new Face(varr[vn0],varr[vn1],varr[vn2], null, uvarr[uvn0],uvarr[uvn1],uvarr[uvn2]));\n\t\t}\n\n");
source = _local6;
_local6;
_local6 = (source + (("\t\tpublic function " + classname) + "(init:Object = null)\n\t\t{\n\t\t\tsuper(init);\n\t\t\tinit = Init.parse(init);\n\t\t\tscaling = init.getNumber(\"scaling\", 1);\n\t\t\tbuild();\n\t\t\ttype = \".as\";\n\t\t}\n\n"));
source = _local6;
_local6;
_local6 = (source + "\t\tprivate function build():void\n\t\t{\n");
source = _local6;
_local6;
refvertices = new Dictionary();
verticeslist = [];
remembervertex = function (_arg1:Vertex):void{
if (refvertices[_arg1] == null){
(refvertices[_arg1] = verticeslist.length);
verticeslist.push(_arg1);
};
};
refuvs = new Dictionary();
uvslist = [];
rememberuv = function (_arg1:UV):void{
if (_arg1 == null){
return;
};
if (refuvs[_arg1] == null){
(refuvs[_arg1] = uvslist.length);
uvslist.push(_arg1);
};
};
for each (var _local8 in _faces) {
face = _local8;
_local8;
remembervertex(face._v0);
remembervertex(face._v1);
remembervertex(face._v2);
rememberuv(face._uv0);
rememberuv(face._uv1);
rememberuv(face._uv2);
};
if (animated){
_local6 = new RegExp("vcount", "g");
myPattern = _local6;
_local6;
_local6 = source.replace(myPattern, verticeslist.length);
source = _local6;
_local6;
_local6 = (source + "\n\t\t\tv();\n\n");
source = _local6;
_local6;
} else {
for each (_local8 in verticeslist) {
v = _local8;
_local8;
_local8 = (source + (round) ? (((((("\t\t\tv(" + v._x.toFixed(4)) + ",") + v._y.toFixed(4)) + ",") + v._z.toFixed(4)) + ");\n") : (((((("\t\t\tv(" + v._x) + ",") + v._y) + ",") + v._z) + ");\n"));
source = _local8;
_local8;
};
};
for each (_local8 in uvslist) {
uv = _local8;
_local8;
_local8 = (source + (round) ? (((("\t\t\tuv(" + uv._u.toFixed(4)) + ",") + uv._v.toFixed(4)) + ");\n") : (((("\t\t\tuv(" + uv._u) + ",") + uv._v) + ");\n"));
source = _local8;
_local8;
};
if (round){
_local6 = new RegExp(".0000", "g");
myPattern2 = _local6;
_local6;
};
if (animated){
auv = [];
for each (_local8 in _faces) {
f = _local8;
_local8;
auv.push((round) ? ((((refuvs[f._uv0].toFixed(4) + ",") + refuvs[f._uv1].toFixed(4)) + ",") + refuvs[f._uv2].toFixed(4)) : ((((refuvs[f._uv0] + ",") + refuvs[f._uv1]) + ",") + refuvs[f._uv2]));
};
i = 0;
while (i < indexes.length) {
_local6 = indexes[i];
ind = _local6;
_local6;
_local6 = (source + (((((((("\t\t\tf(" + ind[0]) + ",") + ind[1]) + ",") + ind[2]) + ",") + auv[i]) + ");\n"));
source = _local6;
_local6;
i = (i + 1);
};
} else {
for each (_local8 in _faces) {
f = _local8;
_local8;
_local8 = (source + (((((((((((("\t\t\tf(" + refvertices[f._v0]) + ",") + refvertices[f._v1]) + ",") + refvertices[f._v2]) + ",") + refuvs[f._uv0]) + ",") + refuvs[f._uv1]) + ",") + refuvs[f._uv2]) + ");\n"));
source = _local8;
_local8;
};
};
if (round){
_local6 = source.replace(myPattern2, "");
source = _local6;
_local6;
};
if (animated){
afn = new Array();
tmpnames = new Array();
_local6 = 0;
i = _local6;
_local6;
y = 0;
_local6 = (source + "\n\t\t\tframes = new Dictionary();\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\tframenames = new Dictionary();\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\tvar oFrames:Object = new Object();\n");
source = _local6;
_local6;
_local6 = new RegExp(" ", "g");
myPattern = _local6;
_local6;
for (_local8 in framenames) {
framename = _local8;
_local8;
tmpnames.push(framename);
};
tmpnames.sort();
i = 0;
while (i < tmpnames.length) {
_local6 = new Array();
avp = _local6;
_local6;
_local6 = frames[framenames[tmpnames[i]]];
fr = _local6;
_local6;
if (tmpnames[i].indexOf(" ") != -1){
(tmpnames[i] = tmpnames[i].replace(myPattern, ""));
};
afn.push((("\"" + tmpnames[i]) + "\""));
_local6 = (source + (("\n\t\t\toFrames." + tmpnames[i]) + "=["));
source = _local6;
_local6;
y = 0;
while (y < verticeslist.length) {
if (round){
avp.push(fr.vertexpositions[y].x.toFixed(4));
avp.push(fr.vertexpositions[y].y.toFixed(4));
avp.push(fr.vertexpositions[y].z.toFixed(4));
} else {
avp.push(fr.vertexpositions[y].x);
avp.push(fr.vertexpositions[y].y);
avp.push(fr.vertexpositions[y].z);
};
y = (y + 1);
};
if (round){
_local6 = avp.toString();
tmp = _local6;
_local6;
_local6 = tmp.replace(myPattern2, "");
tmp = _local6;
_local6;
_local6 = (source + (tmp + "];\n"));
source = _local6;
_local6;
} else {
_local6 = (source + (avp.toString() + "];\n"));
source = _local6;
_local6;
};
i = (i + 1);
};
_local6 = (source + (("\n\t\t\tfnarr = [" + afn.toString()) + "];\n"));
source = _local6;
_local6;
_local6 = (source + "\n\t\t\tvar y:int;\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\tvar z:int;\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\tvar frame:Frame;\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\tfor(var i:int = 0;i<fnarr.length; i++){\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\ttrace(\"[ \"+fnarr[i]+\" ]\");\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\tframe = new Frame();\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\tframenames[fnarr[i]] = i;\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\tframes[i] = frame;\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\tz=0;\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\tfor (y = 0; y < oFrames[fnarr[i]].length; y+=3){\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\t\tvar vp:VertexPosition = new VertexPosition(varr[z]);\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\t\tz++;\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\t\tvp.x = oFrames[fnarr[i]][y]*scaling;\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\t\tvp.y = oFrames[fnarr[i]][y+1]*scaling;\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\t\tvp.z = oFrames[fnarr[i]][y+2]*scaling;\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\t\tframe.vertexpositions.push(vp);\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\t}\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\tif (i == 0)\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t\t\tframe.adjust();\n");
source = _local6;
_local6;
_local6 = (source + "\t\t\t}\n");
source = _local6;
_local6;
};
_local6 = (source + "\n\t\t}\n\t}\n}");
source = _local6;
_local6;
return (source);
}
}
}//package away3d.core.base
Section 16
//Object3D (away3d.core.base.Object3D)
package away3d.core.base {
import flash.utils.*;
import flash.display.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.containers.*;
import away3d.events.*;
import away3d.core.utils.*;
import away3d.core.traverse.*;
import away3d.core.*;
public class Object3D extends LazyEventDispatcher implements IClonable {
public var filters:Array;
public var extra:Object;
private var _rotationX:Number;
private var _rotationY:Number;
private var _rotationZ:Number;
public var ownSession:AbstractRenderSession;
var xAxis:Number3D;
var vector:Number3D;
public var viewTransform:Matrix3D;
public var projection:Projection;
private var _localTransformDirty:Boolean;
var zAxis:Number3D;
public var canvas:Dictionary;
arcane var _sceneTransform:Matrix3D;
var c:Sprite;
var m:Matrix3D;
var q:Quaternion;
public var visible:Boolean;// = true
var v:View3D;
public var ownCanvas:Boolean;// = false
var _position:Number3D;
public var name:String;
public var useHandCursor:Boolean;// = false
private var _scene:Scene3D;
public var inverseSceneTransform:Matrix3D;
public var blendMode:String;
public var session:AbstractRenderSession;
public var _sceneTransformDirty:Boolean;
private var scenetransformchanged:Object3DEvent;
var yAxis:Number3D;
private var scenechanged:Object3DEvent;
private var transformchanged:Object3DEvent;
private var _parent:ObjectContainer3D;
var rot:Number3D;
public var mouseEnabled:Boolean;// = true
private var dimensionschanged:Object3DEvent;
public var sceneTransformed:Boolean;
arcane var _transformDirty:Boolean;
private var radiuschanged:Object3DEvent;
arcane var _transform:Matrix3D;
private var _rotationDirty:Boolean;
private static var toDEGREES:Number = 57.2957795130823;
private static var toRADIANS:Number = 0.0174532925199433;
public function Object3D(_arg1:Object=null):void{
_transform = new Matrix3D();
_sceneTransform = new Matrix3D();
projection = new Projection();
inverseSceneTransform = new Matrix3D();
viewTransform = new Matrix3D();
visible = true;
canvas = new Dictionary();
mouseEnabled = true;
useHandCursor = false;
ownCanvas = false;
_position = new Number3D();
q = new Quaternion();
vector = new Number3D();
m = new Matrix3D();
xAxis = new Number3D();
yAxis = new Number3D();
zAxis = new Number3D();
super();
_arg1 = Init.parse(_arg1);
name = (_arg1 as Init).getString("name", name);
ownCanvas = (_arg1 as Init).getBoolean("ownCanvas", ownCanvas);
ownSession = ((_arg1 as Init).getObject("ownSession", AbstractRenderSession) as AbstractRenderSession);
visible = (_arg1 as Init).getBoolean("visible", visible);
mouseEnabled = (_arg1 as Init).getBoolean("mouseEnabled", mouseEnabled);
useHandCursor = (_arg1 as Init).getBoolean("useHandCursor", useHandCursor);
filters = (_arg1 as Init).getArray("filters");
x = (_arg1 as Init).getNumber("x", 0);
y = (_arg1 as Init).getNumber("y", 0);
z = (_arg1 as Init).getNumber("z", 0);
rotationX = (_arg1 as Init).getNumber("rotationX", 0);
rotationY = (_arg1 as Init).getNumber("rotationY", 0);
rotationZ = (_arg1 as Init).getNumber("rotationZ", 0);
extra = (_arg1 as Init).getObject("extra");
parent = ((_arg1 as Init).getObject3D("parent") as ObjectContainer3D);
if (ownSession){
ownCanvas = true;
};
if ((this is Scene3D)){
_scene = (this as Scene3D);
};
}
protected function notifySceneTransformChange():void{
_sceneTransformDirty = false;
sceneTransformed = true;
if (!hasEventListener("scenetransformchanged")){
return;
};
if (scenetransformchanged == null){
scenetransformchanged = new Object3DEvent("scenetransformchanged", this);
};
dispatchEvent(scenetransformchanged);
}
public function removeOnRadiusChange(_arg1:Function):void{
removeEventListener("radiuschanged", _arg1, false);
}
public function removeOnMouseOut(_arg1:Function):void{
removeEventListener(MouseEvent3D.MOUSE_OUT, _arg1, false);
}
public function moveDown(_arg1:Number):void{
translate(Number3D.DOWN, _arg1);
}
arcane function get parentmaxX():Number{
return ((radius + _transform.tx));
}
arcane function get parentmaxY():Number{
return ((radius + _transform.ty));
}
public function removeOnMouseUp(_arg1:Function):void{
removeEventListener(MouseEvent3D.MOUSE_UP, _arg1, false);
}
public function get position():Number3D{
if (_transformDirty){
updateTransform();
};
_position.x = _transform.tx;
_position.y = _transform.ty;
_position.z = _transform.tz;
return (_position);
}
arcane function get parentmaxZ():Number{
return ((radius + _transform.tz));
}
arcane function dispatchMouseEvent(_arg1:MouseEvent3D):Boolean{
if (!hasEventListener(_arg1.type)){
return (false);
};
dispatchEvent(_arg1);
return (true);
}
public function lookAt(_arg1:Number3D, _arg2:Number3D=null):void{
zAxis.sub(_arg1, position);
zAxis.normalize();
if ((((zAxis.modulo > 0.1)) && (((((!((zAxis.x == _transform.sxz))) || (!((zAxis.y == _transform.syz))))) || (!((zAxis.z == _transform.szz))))))){
xAxis.cross(zAxis, ((_arg2) || (Number3D.UP)));
xAxis.normalize();
yAxis.cross(zAxis, xAxis);
yAxis.normalize();
_transform.sxx = xAxis.x;
_transform.syx = xAxis.y;
_transform.szx = xAxis.z;
_transform.sxy = -(yAxis.x);
_transform.syy = -(yAxis.y);
_transform.szy = -(yAxis.z);
_transform.sxz = zAxis.x;
_transform.syz = zAxis.y;
_transform.szz = zAxis.z;
_transformDirty = false;
_rotationDirty = true;
_sceneTransformDirty = true;
_localTransformDirty = true;
};
}
public function set rotationX(_arg1:Number):void{
_rotationX = (-(_arg1) * toRADIANS);
_transformDirty = true;
}
public function moveTo(_arg1:Number3D):void{
_transform.tx = _arg1.x;
_transform.ty = _arg1.y;
_transform.tz = _arg1.z;
_localTransformDirty = true;
}
public function set rotationY(_arg1:Number):void{
_rotationY = (-(_arg1) * toRADIANS);
_transformDirty = true;
}
public function set rotationZ(_arg1:Number):void{
_rotationZ = (-(_arg1) * toRADIANS);
_transformDirty = true;
}
private function onParentSceneChange(_arg1:Object3DEvent):void{
if (_scene == _parent.scene){
return;
};
_scene = _parent.scene;
notifySceneChange();
}
public function get minX():Number{
return (-(radius));
}
public function get sceneTransform():Matrix3D{
sceneTransformed = false;
if (_scene == null){
if (_transformDirty){
_sceneTransformDirty = true;
};
if (_sceneTransformDirty){
_sceneTransformDirty = false;
notifySceneTransformChange();
};
return (transform);
};
if (_transformDirty){
updateTransform();
};
if (_sceneTransformDirty){
updateSceneTransform();
};
if (_localTransformDirty){
notifyTransformChange();
};
return (_sceneTransform);
}
public function get minZ():Number{
return (-(radius));
}
public function removeOnSceneTransformChange(_arg1:Function):void{
removeEventListener("scenetransformchanged", _arg1, false);
}
public function moveUp(_arg1:Number):void{
translate(Number3D.UP, _arg1);
}
public function distanceTo(_arg1:Object3D):Number{
var _local2:Matrix3D;
var _local3:Matrix3D;
var _local4:Number;
var _local5:Number;
var _local6:Number;
_local2 = ((scene == null)) ? transform : sceneTransform;
_local3 = ((_arg1.scene == null)) ? _arg1.transform : _arg1.sceneTransform;
_local4 = (_local2.tx - _local3.tx);
_local5 = (_local2.ty - _local3.ty);
_local6 = (_local2.tz - _local3.tz);
return (Math.sqrt((((_local4 * _local4) + (_local5 * _local5)) + (_local6 * _local6))));
}
public function scale(_arg1:Number):void{
}
public function set parent(_arg1:ObjectContainer3D):void{
var _local2:Scene3D;
if (_arg1 == _parent){
return;
};
_local2 = scene;
if (_parent != null){
_parent.removeOnSceneChange(onParentSceneChange);
_parent.internalRemoveChild(this);
};
_parent = _arg1;
if (_parent != null){
_parent.internalAddChild(this);
_parent.addOnSceneChange(onParentSceneChange);
_parent.addOnSceneTransformChange(onParentTransformChange);
};
_scene = (_parent) ? _parent.scene : null;
if (_scene != _local2){
notifySceneChange();
};
_sceneTransformDirty = true;
_localTransformDirty = true;
}
public function translate(_arg1:Number3D, _arg2:Number):void{
vector.rotate(_arg1, transform);
x = (x + (_arg2 * vector.x));
y = (y + (_arg2 * vector.y));
z = (z + (_arg2 * vector.z));
}
public function get minY():Number{
return (-(radius));
}
public function set position(_arg1:Number3D):void{
_transform.tx = _arg1.x;
_transform.ty = _arg1.y;
_transform.tz = _arg1.z;
_sceneTransformDirty = true;
_localTransformDirty = true;
}
protected function notifySceneChange():void{
if (!hasEventListener("scenechanged")){
return;
};
if (scenechanged == null){
scenechanged = new Object3DEvent("scenechanged", this);
};
dispatchEvent(scenechanged);
}
public function rotate(_arg1:Number3D, _arg2:Number):void{
vector.rotate(_arg1, transform);
m.rotationMatrix(vector.x, vector.y, vector.z, (_arg2 * toRADIANS));
m.tx = _transform.tx;
m.ty = _transform.ty;
m.tz = _transform.tz;
_transform.multiply3x3(m, transform);
_rotationDirty = true;
_sceneTransformDirty = true;
_localTransformDirty = true;
}
public function clone(_arg1=null){
var _local2:Object3D;
_local2 = ((_arg1) || (new Object3D()));
_local2.transform = transform;
_local2.name = name;
_local2.visible = visible;
_local2.mouseEnabled = mouseEnabled;
_local2.useHandCursor = useHandCursor;
_local2.extra = ((extra is IClonable)) ? (extra as IClonable).clone() : extra;
return (_local2);
}
protected function notifyDimensionsChange():void{
if (!hasEventListener("dimensionschanged")){
return;
};
if (dimensionschanged == null){
dimensionschanged = new Object3DEvent("dimensionschanged", this);
};
dispatchEvent(dimensionschanged);
}
public function pitch(_arg1:Number):void{
rotate(Number3D.RIGHT, _arg1);
}
private function updateRotation():void{
rot = _transform.matrix2euler();
_rotationX = (rot.x * toRADIANS);
_rotationY = (rot.y * toRADIANS);
_rotationZ = (rot.z * toRADIANS);
_rotationDirty = false;
}
private function updateSceneTransform():void{
if (!_sceneTransformDirty){
return;
};
_sceneTransform.multiply(_parent.sceneTransform, transform);
inverseSceneTransform.inverse(_sceneTransform);
_sceneTransformDirty = false;
notifySceneTransformChange();
}
public function get transform():Matrix3D{
if (_transformDirty){
updateTransform();
};
return (_transform);
}
public function addOnMouseDown(_arg1:Function):void{
addEventListener(MouseEvent3D.MOUSE_DOWN, _arg1, false, 0, false);
}
public function yaw(_arg1:Number):void{
rotate(Number3D.UP, _arg1);
}
public function primitives(_arg1:IPrimitiveConsumer, _arg2:AbstractRenderSession):void{
v = _arg2.view;
if (ownCanvas){
if (!ownSession){
ownSession = _arg2.clone();
};
_arg2.registerChildSession(ownSession);
ownSession.view = v;
ownSession.container.filters = filters;
if (blendMode != null){
ownSession.container.blendMode = blendMode;
} else {
ownSession.container.blendMode = BlendMode.NORMAL;
};
ownSession.lightarray = _arg2.lightarray;
this.session = ownSession;
_arg1.primitive(new DrawDisplayObject(this, ownSession.container, new ScreenVertex(ownSession.container.x, ownSession.container.y, Math.sqrt(((((viewTransform.tz * viewTransform.tz) + viewTransform.tx) + viewTransform.tx) + (viewTransform.ty * viewTransform.ty)))), _arg2));
} else {
this.session = _arg2;
};
}
public function get maxX():Number{
return (radius);
}
public function get maxY():Number{
return (radius);
}
public function get maxZ():Number{
return (radius);
}
public function get x():Number{
return (_transform.tx);
}
public function get y():Number{
return (_transform.ty);
}
public function get z():Number{
return (_transform.tz);
}
public function moveLeft(_arg1:Number):void{
translate(Number3D.LEFT, _arg1);
}
public function removeOnDimensionsChange(_arg1:Function):void{
removeEventListener("dimensionschanged", _arg1, false);
}
public function roll(_arg1:Number):void{
rotate(Number3D.FORWARD, _arg1);
}
public function traverse(_arg1:Traverser):void{
if (_arg1.match(this)){
_arg1.enter(this);
_arg1.apply(this);
_arg1.leave(this);
};
}
public function addOnRadiusChange(_arg1:Function):void{
addEventListener("radiuschanged", _arg1, false, 0, true);
}
private function onParentTransformChange(_arg1:Object3DEvent):void{
_sceneTransformDirty = true;
}
public function get radius():Number{
return (0);
}
public function get rotationX():Number{
if (_rotationDirty){
updateRotation();
};
return ((-(_rotationX) * toDEGREES));
}
public function get rotationY():Number{
if (_rotationDirty){
updateRotation();
};
return ((-(_rotationY) * toDEGREES));
}
public function get rotationZ():Number{
if (_rotationDirty){
updateRotation();
};
return ((-(_rotationZ) * toDEGREES));
}
public function tick(_arg1:int):void{
}
public function addOnMouseUp(_arg1:Function):void{
addEventListener(MouseEvent3D.MOUSE_UP, _arg1, false, 0, false);
}
private function updateTransform():void{
if (!_transformDirty){
return;
};
q.euler2quaternion(-(_rotationY), -(_rotationZ), _rotationX);
_transform.quaternion2matrix(q);
_transformDirty = false;
_sceneTransformDirty = true;
_localTransformDirty = true;
}
public function toString():String{
return ((((((((name) ? name : "$" + ": x:") + Math.round(x)) + " y:") + Math.round(y)) + " z:") + Math.round(z)));
}
public function addOnSceneTransformChange(_arg1:Function):void{
addEventListener("scenetransformchanged", _arg1, false, 0, true);
}
public function get parent():ObjectContainer3D{
return (_parent);
}
public function removeOnMouseDown(_arg1:Function):void{
removeEventListener(MouseEvent3D.MOUSE_DOWN, _arg1, false);
}
public function removeOnTransformChange(_arg1:Function):void{
removeEventListener("transformchanged", _arg1, false);
}
public function addOnDimensionsChange(_arg1:Function):void{
addEventListener("dimensionschanged", _arg1, false, 0, true);
}
public function moveForward(_arg1:Number):void{
translate(Number3D.FORWARD, _arg1);
}
public function get scene():Scene3D{
return (_scene);
}
public function addOnMouseOver(_arg1:Function):void{
addEventListener(MouseEvent3D.MOUSE_OVER, _arg1, false, 0, false);
}
arcane function get parentradius():Number{
var _local1:Number;
var _local2:Number;
var _local3:Number;
_local1 = _transform.tx;
_local2 = _transform.ty;
_local3 = _transform.tz;
return ((Math.sqrt((((_local1 * _local1) + (_local2 * _local2)) + (_local3 * _local3))) + radius));
}
protected function notifyTransformChange():void{
_localTransformDirty = false;
if (!hasEventListener("transformchanged")){
return;
};
if (transformchanged == null){
transformchanged = new Object3DEvent("transformchanged", this);
};
dispatchEvent(transformchanged);
}
public function addOnTransformChange(_arg1:Function):void{
addEventListener("transformchanged", _arg1, false, 0, true);
}
public function moveRight(_arg1:Number):void{
translate(Number3D.RIGHT, _arg1);
}
public function addOnMouseMove(_arg1:Function):void{
addEventListener(MouseEvent3D.MOUSE_MOVE, _arg1, false, 0, false);
}
protected function notifyRadiusChange():void{
if (!hasEventListener("radiuschanged")){
return;
};
if (radiuschanged == null){
radiuschanged = new Object3DEvent("radiuschanged", this);
};
dispatchEvent(radiuschanged);
}
public function removeOnMouseMove(_arg1:Function):void{
removeEventListener(MouseEvent3D.MOUSE_MOVE, _arg1, false);
}
public function moveBackward(_arg1:Number):void{
translate(Number3D.BACKWARD, _arg1);
}
public function get scenePosition():Number3D{
return (new Number3D(sceneTransform.tx, sceneTransform.ty, sceneTransform.tz));
}
public function removeOnMouseOver(_arg1:Function):void{
removeEventListener(MouseEvent3D.MOUSE_OVER, _arg1, false);
}
public function set transform(_arg1:Matrix3D):void{
if (_arg1 == _transform){
return;
};
_transform = _arg1.clone();
_transformDirty = false;
_rotationDirty = true;
_sceneTransformDirty = true;
_localTransformDirty = true;
}
public function removeOnSceneChange(_arg1:Function):void{
removeEventListener("scenechanged", _arg1, false);
}
public function addOnSceneChange(_arg1:Function):void{
addEventListener("scenechanged", _arg1, false, 0, true);
}
arcane function get parentminX():Number{
return ((-(radius) + _transform.tx));
}
arcane function get parentminY():Number{
return ((-(radius) + _transform.ty));
}
public function set y(_arg1:Number):void{
if (isNaN(_arg1)){
throw (new Error("isNaN(y)"));
};
if (_arg1 == Infinity){
Debug.warning("y == Infinity");
};
if (_arg1 == -(Infinity)){
Debug.warning("y == -Infinity");
};
_transform.ty = _arg1;
_sceneTransformDirty = true;
_localTransformDirty = true;
}
public function set z(_arg1:Number):void{
if (isNaN(_arg1)){
throw (new Error("isNaN(z)"));
};
if (_arg1 == Infinity){
Debug.warning("z == Infinity");
};
if (_arg1 == -(Infinity)){
Debug.warning("z == -Infinity");
};
_transform.tz = _arg1;
_sceneTransformDirty = true;
_localTransformDirty = true;
}
public function set x(_arg1:Number):void{
if (isNaN(_arg1)){
throw (new Error("isNaN(x)"));
};
if (_arg1 == Infinity){
Debug.warning("x == Infinity");
};
if (_arg1 == -(Infinity)){
Debug.warning("x == -Infinity");
};
_transform.tx = _arg1;
_sceneTransformDirty = true;
_localTransformDirty = true;
}
public function addOnMouseOut(_arg1:Function):void{
addEventListener(MouseEvent3D.MOUSE_OUT, _arg1, false, 0, false);
}
arcane function get parentminZ():Number{
return ((-(radius) + _transform.tz));
}
}
}//package away3d.core.base
Section 17
//Segment (away3d.core.base.Segment)
package away3d.core.base {
import away3d.materials.*;
import flash.events.*;
import away3d.core.draw.*;
import away3d.events.*;
import away3d.core.*;
public class Segment extends BaseMeshElement {
arcane var _material:ISegmentMaterial;
public var extra:Object;
arcane var _v0:Vertex;
arcane var _v1:Vertex;
public var parent:BaseMesh;
arcane var _ds:DrawSegment;
private var materialchanged:SegmentEvent;
public function Segment(_arg1:Vertex, _arg2:Vertex, _arg3:ISegmentMaterial=null){
_ds = new DrawSegment();
super();
this.v0 = _arg1;
this.v1 = _arg2;
this.material = _arg3;
}
override public function get vertices():Array{
return ([_v0, _v1]);
}
public function get v1():Vertex{
return (_v1);
}
override public function get maxX():Number{
if (_v0._x > _v1._x){
return (_v0._x);
};
return (_v1._x);
}
public function set v1(_arg1:Vertex):void{
if (_arg1 == _v1){
return;
};
if (_v1 != null){
if (_v1 != _v0){
_v1.removeOnChange(onVertexValueChange);
};
};
_v1 = _arg1;
if (_v1 != null){
if (_v1 != _v0){
_v1.addOnChange(onVertexValueChange);
};
};
notifyVertexChange();
}
public function get v0():Vertex{
return (_v0);
}
private function onVertexValueChange(_arg1:Event):void{
notifyVertexValueChange();
}
public function removeOnMaterialChange(_arg1:Function):void{
removeEventListener("materialchanged", _arg1, false);
}
public function set v0(_arg1:Vertex):void{
if (_arg1 == _v0){
return;
};
if (_v0 != null){
if (_v0 != _v1){
_v0.removeOnChange(onVertexValueChange);
};
};
_v0 = _arg1;
if (_v0 != null){
if (_v0 != _v1){
_v0.addOnChange(onVertexValueChange);
};
};
notifyVertexChange();
}
public function get material():ISegmentMaterial{
return (_material);
}
public function addOnMaterialChange(_arg1:Function):void{
addEventListener("materialchanged", _arg1, false, 0, true);
}
override public function get minX():Number{
if (_v0._x < _v1._x){
return (_v0._x);
};
return (_v1._x);
}
override public function get minY():Number{
if (_v0._y < _v1._y){
return (_v0._y);
};
return (_v1._y);
}
override public function get minZ():Number{
if (_v0._z < _v1._z){
return (_v0._z);
};
return (_v1._z);
}
override public function get radius2():Number{
var _local1:Number;
var _local2:Number;
_local1 = (((_v0._x * _v0._x) + (_v0._y * _v0._y)) + (_v0._z * _v0._z));
_local2 = (((_v1._x * _v1._x) + (_v1._y * _v1._y)) + (_v1._z * _v1._z));
if (_local1 > _local2){
return (_local1);
};
return (_local2);
}
protected function notifyMaterialChange():void{
if (!hasEventListener("materialchanged")){
return;
};
if (materialchanged == null){
materialchanged = new SegmentEvent("materialchanged", this);
};
dispatchEvent(materialchanged);
}
public function set material(_arg1:ISegmentMaterial):void{
if (_arg1 == _material){
return;
};
_material = _arg1;
notifyMaterialChange();
}
private function onVertexChange(_arg1:Event):void{
notifyVertexChange();
}
override public function get maxY():Number{
if (_v0._y > _v1._y){
return (_v0._y);
};
return (_v1._y);
}
override public function get maxZ():Number{
if (_v0._z > _v1._z){
return (_v0._z);
};
return (_v1._z);
}
}
}//package away3d.core.base
Section 18
//UV (away3d.core.base.UV)
package away3d.core.base {
import away3d.core.utils.*;
import away3d.core.*;
public class UV extends ValueObject {
arcane var _u:Number;
arcane var _v:Number;
public var extra:Object;
public function UV(_arg1:Number=0, _arg2:Number=0){
_u = _arg1;
_v = _arg2;
}
public function clone():UV{
return (new UV(_u, _v));
}
public function toString():String{
return ((((("new UV(" + _u) + ", ") + _v) + ")"));
}
public function set u(_arg1:Number):void{
if (_arg1 == _u){
return;
};
_u = _arg1;
notifyChange();
}
public function set v(_arg1:Number):void{
if (_arg1 == _v){
return;
};
_v = _arg1;
notifyChange();
}
public function get u():Number{
return (_u);
}
public function get v():Number{
return (_v);
}
arcane static function median(_arg1:UV, _arg2:UV):UV{
if (_arg1 == null){
return (null);
};
if (_arg2 == null){
return (null);
};
return (new UV(((_arg1._u + _arg2._u) / 2), ((_arg1._v + _arg2._v) / 2)));
}
arcane static function weighted(_arg1:UV, _arg2:UV, _arg3:Number, _arg4:Number):UV{
var _local5:Number;
var _local6:Number;
var _local7:Number;
if (_arg1 == null){
return (null);
};
if (_arg2 == null){
return (null);
};
_local5 = (_arg3 + _arg4);
_local6 = (_arg3 / _local5);
_local7 = (_arg4 / _local5);
return (new UV(((_arg1._u * _local6) + (_arg2._u * _local7)), ((_arg1._v * _local6) + (_arg2._v * _local7))));
}
}
}//package away3d.core.base
Section 19
//Vertex (away3d.core.base.Vertex)
package away3d.core.base {
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.utils.*;
import away3d.core.*;
public class Vertex extends ValueObject {
arcane var _y:Number;
private var _position:Number3D;
private var persp:Number;
public var extra:Object;
private var view:Matrix3D;
private var sz:Number;
arcane var _x:Number;
arcane var _z:Number;
private var projectionTime:int;
private var projected:ScreenVertex;
public function Vertex(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){
_position = new Number3D();
projected = new ScreenVertex();
super();
_x = (_position.x = _arg1);
_y = (_position.y = _arg2);
_z = (_position.z = _arg3);
}
public function toString():String{
return ((((((("new Vertex(" + _x) + ", ") + _y) + ", ") + z) + ")"));
}
public function get y():Number{
return (_y);
}
arcane function perspective(_arg1:Number):ScreenVertex{
persp = (1 / (1 + (_z / _arg1)));
return (new ScreenVertex((_x * persp), (_y * persp), z));
}
public function set position(_arg1:Number3D):void{
_x = (_position.x = _arg1.x);
_y = (_position.y = _arg1.y);
_z = (_position.z = _arg1.z);
notifyChange();
}
public function set y(_arg1:Number):void{
if (_arg1 == _y){
return;
};
if (isNaN(_arg1)){
Debug.warning("isNaN(y)");
};
if (_arg1 == Infinity){
Debug.warning("y == Infinity");
};
if (_arg1 == -(Infinity)){
Debug.warning("y == -Infinity");
};
_y = _arg1;
notifyChange();
}
public function clone():Vertex{
return (new Vertex(_x, _y, _z));
}
public function project(_arg1:Projection):ScreenVertex{
if (projectionTime == _arg1.time){
return (projected);
};
projectionTime = _arg1.time;
view = _arg1.view;
sz = ((((_x * view.szx) + (_y * view.szy)) + (_z * view.szz)) + view.tz);
if (isNaN(sz)){
throw (new Error("isNaN(sz)"));
};
if ((sz * 2) <= -(_arg1.focus)){
projected.visible = false;
return (projected);
};
projected.visible = true;
persp = (_arg1.zoom / (1 + (sz / _arg1.focus)));
projected.x = (((((_x * view.sxx) + (_y * view.sxy)) + (_z * view.sxz)) + view.tx) * persp);
projected.y = (((((_x * view.syx) + (_y * view.syy)) + (_z * view.syz)) + view.ty) * persp);
projected.z = sz;
return (projected);
}
public function get position():Number3D{
_position.x = _x;
_position.y = _y;
_position.z = _z;
return (_position);
}
arcane function transform(_arg1:Matrix3D):void{
setValue(((((_x * _arg1.sxx) + (_y * _arg1.sxy)) + (_z * _arg1.sxz)) + _arg1.tx), ((((_x * _arg1.syx) + (_y * _arg1.syy)) + (_z * _arg1.syz)) + _arg1.ty), ((((_x * _arg1.szx) + (_y * _arg1.szy)) + (_z * _arg1.szz)) + _arg1.tz));
}
arcane function setValue(_arg1:Number, _arg2:Number, _arg3:Number):void{
_x = (_position.x = _arg1);
_y = (_position.y = _arg2);
_z = (_position.z = _arg3);
notifyChange();
}
public function set z(_arg1:Number):void{
if (_arg1 == _z){
return;
};
if (isNaN(_arg1)){
throw (new Error("isNaN(z)"));
};
if (_arg1 == Infinity){
Debug.warning("z == Infinity");
};
if (_arg1 == -(Infinity)){
Debug.warning("z == -Infinity");
};
_z = _arg1;
notifyChange();
}
public function set x(_arg1:Number):void{
if (_arg1 == _x){
return;
};
if (isNaN(_arg1)){
Debug.warning("isNaN(x)");
};
if (_arg1 == Infinity){
Debug.warning("x == Infinity");
};
if (_arg1 == -(Infinity)){
Debug.warning("x == -Infinity");
};
_x = _arg1;
notifyChange();
}
public function get x():Number{
return (_x);
}
public function get z():Number{
return (_z);
}
arcane static function median(_arg1:Vertex, _arg2:Vertex):Vertex{
return (new Vertex(((_arg1._x + _arg2._x) / 2), ((_arg1._y + _arg2._y) / 2), ((_arg1._z + _arg2._z) / 2)));
}
arcane static function weighted(_arg1:Vertex, _arg2:Vertex, _arg3:Number, _arg4:Number):Vertex{
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local5 = (_arg3 + _arg4);
_local6 = (_arg3 / _local5);
_local7 = (_arg4 / _local5);
return (new Vertex(((_arg1._x * _local6) + (_arg2._x * _local7)), ((_arg1._y * _local6) + (_arg2._y * _local7)), ((_arg1._z * _local6) + (_arg2._z * _local7))));
}
arcane static function distanceSqr(_arg1:Vertex, _arg2:Vertex):Number{
return (((((_arg1._x + _arg2._x) * (_arg1._x + _arg2._x)) + ((_arg1._y + _arg2._y) * (_arg1._y + _arg2._y))) + ((_arg1._z + _arg2._z) * (_arg1._z + _arg2._z))));
}
}
}//package away3d.core.base
Section 20
//VertexPosition (away3d.core.base.VertexPosition)
package away3d.core.base {
public class VertexPosition {
public var vertex:Vertex;
public var x:Number;
public var y:Number;
public var z:Number;
public function VertexPosition(_arg1:Vertex){
this.vertex = _arg1;
this.x = 0;
this.y = 0;
this.z = 0;
}
public function adjust(_arg1:Number=1):void{
vertex._x = ((vertex._x * (1 - _arg1)) + (x * _arg1));
vertex._y = ((vertex._y * (1 - _arg1)) + (y * _arg1));
vertex._z = ((vertex._z * (1 - _arg1)) + (z * _arg1));
}
}
}//package away3d.core.base
Section 21
//WireMesh (away3d.core.base.WireMesh)
package away3d.core.base {
import away3d.materials.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.utils.*;
import away3d.core.*;
public class WireMesh extends BaseMesh implements IPrimitiveProvider {
private var _segments:Array;
public var material:ISegmentMaterial;
public function WireMesh(_arg1:Object=null){
_segments = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
material = _arg1.getSegmentMaterial("material");
if (material == null){
material = new WireframeMaterial();
};
}
public function removeSegment(_arg1:Segment):void{
var _local2:int;
_local2 = _segments.indexOf(_arg1);
if (_local2 == -1){
return;
};
removeElement(_arg1);
_segments.splice(_local2, 1);
}
private function clear():void{
var _local1:Segment;
for each (_local1 in _segments.concat([])) {
removeSegment(_local1);
};
}
override public function primitives(_arg1:IPrimitiveConsumer, _arg2:AbstractRenderSession):void{
var _local3:DrawSegment;
var _local4:Segment;
super.primitives(_arg1, _arg2);
for each (_local4 in _segments) {
_local3 = _local4._ds;
_local3.v0 = _local4._v0.project(projection);
_local3.v1 = _local4._v1.project(projection);
if (!_local3.v0.visible){
} else {
if (!_local3.v1.visible){
} else {
_local3.calc();
if (_local3.maxZ < 0){
} else {
_local3.material = ((_local4.material) || (material));
if (_local3.material == null){
} else {
if (!_local3.material.visible){
} else {
_local3.projection = projection;
_arg1.primitive(_local3);
};
};
};
};
};
};
}
override public function get elements():Array{
return (_segments);
}
public function addSegment(_arg1:Segment):void{
addElement(_arg1);
_segments.push(_arg1);
_arg1._ds.source = (_arg1.parent = this);
_arg1._ds.create = createDrawSegment;
}
public function get segments():Array{
return (_segments);
}
}
}//package away3d.core.base
Section 22
//Blocker (away3d.core.block.Blocker)
package away3d.core.block {
import away3d.core.draw.*;
public class Blocker extends DrawPrimitive {
public function block(_arg1:DrawPrimitive):Boolean{
return (false);
}
}
}//package away3d.core.block
Section 23
//BlockerArray (away3d.core.block.BlockerArray)
package away3d.core.block {
import away3d.core.render.*;
public class BlockerArray implements IBlockerConsumer {
private var _clip:Clipping;
private var _blockers:Array;
var blockers:Array;
public function set clip(_arg1:Clipping):void{
_clip = _arg1;
_blockers = [];
}
public function list():Array{
blockers = _blockers;
_blockers = null;
blockers.sortOn("screenZ", Array.NUMERIC);
return (blockers);
}
public function blocker(_arg1:Blocker):void{
if (_clip.check(_arg1)){
_blockers.push(_arg1);
};
}
}
}//package away3d.core.block
Section 24
//IBlockerConsumer (away3d.core.block.IBlockerConsumer)
package away3d.core.block {
public interface IBlockerConsumer {
function blocker(_arg1:Blocker):void;
}
}//package away3d.core.block
Section 25
//IBlockerProvider (away3d.core.block.IBlockerProvider)
package away3d.core.block {
public interface IBlockerProvider {
function blockers(_arg1:IBlockerConsumer):void;
}
}//package away3d.core.block
Section 26
//DrawDisplayObject (away3d.core.draw.DrawDisplayObject)
package away3d.core.draw {
import flash.display.*;
import away3d.core.render.*;
import away3d.core.base.*;
public class DrawDisplayObject extends DrawPrimitive {
public var v:ScreenVertex;
public var displayobject:DisplayObject;
public var session:AbstractRenderSession;
public function DrawDisplayObject(_arg1:Object3D, _arg2:DisplayObject, _arg3:ScreenVertex, _arg4:AbstractRenderSession){
this.source = _arg1;
this.displayobject = _arg2;
this.v = _arg3;
this.session = _arg4;
calc();
}
override public function clear():void{
displayobject = null;
}
public function calc():void{
screenZ = v.z;
minZ = screenZ;
maxZ = screenZ;
minX = (v.x - (displayobject.width / 2));
minY = (v.y - (displayobject.height / 2));
maxX = (v.x + (displayobject.width / 2));
maxY = (v.y + (displayobject.height / 2));
}
override public function render():void{
displayobject.x = v.x;
displayobject.y = v.y;
session.addDisplayObject(displayobject);
}
override public function contains(_arg1:Number, _arg2:Number):Boolean{
return (true);
}
}
}//package away3d.core.draw
Section 27
//DrawFog (away3d.core.draw.DrawFog)
package away3d.core.draw {
import away3d.materials.*;
public class DrawFog extends DrawPrimitive {
public var material:IFogMaterial;
override public function render():void{
material.renderFog(this);
}
}
}//package away3d.core.draw
Section 28
//DrawPrimitive (away3d.core.draw.DrawPrimitive)
package away3d.core.draw {
import away3d.core.render.*;
import away3d.core.base.*;
public class DrawPrimitive {
public var create:Function;
public var minX:Number;
public var minZ:Number;
public var projection:Projection;
public var source:Object3D;
public var minY:Number;
public var screenZ:Number;
public var maxX:Number;
public var maxY:Number;
public var quadrant:PrimitiveQuadrantTreeNode;
public var maxZ:Number;
public function getZ(_arg1:Number, _arg2:Number):Number{
return (screenZ);
}
public function clear():void{
}
public function render():void{
throw (new Error("Not implemented"));
}
public function contains(_arg1:Number, _arg2:Number):Boolean{
return (false);
}
public function shade():void{
throw (new Error("Not implemented"));
}
public function quarter(_arg1:Number):Array{
return (null);
}
public function toString():String{
return ((((((("P{ screenZ = " + screenZ) + ", minZ = ") + minZ) + ", maxZ = ") + maxZ) + " }"));
}
protected static function assert(_arg1:Boolean, _arg2:String="Assert failure"):void{
if (!_arg1){
throw (new Error(_arg2));
};
}
}
}//package away3d.core.draw
Section 29
//DrawScaledBitmap (away3d.core.draw.DrawScaledBitmap)
package away3d.core.draw {
import flash.display.*;
import away3d.core.base.*;
import flash.geom.*;
public class DrawScaledBitmap extends DrawPrimitive {
private var sinh:Number;
public var width:Number;
private var sinw:Number;
public var height:Number;
public var left:ScreenVertex;
public var smooth:Boolean;
public var bitmap:BitmapData;
public var bottomleft:ScreenVertex;
private var cos:Number;
private var bounds:ScreenVertex;
private var cosh:Number;
public var scale:Number;
private var cosw:Number;
public var bottomright:ScreenVertex;
public var top:ScreenVertex;
private var sin:Number;
public var topleft:ScreenVertex;
private var mapping:Matrix;
public var topright:ScreenVertex;
public var v:ScreenVertex;
public var rotation:Number;
public function DrawScaledBitmap(_arg1:Object3D, _arg2:Boolean, _arg3:BitmapData=null){
topleft = new ScreenVertex();
topright = new ScreenVertex();
bottomleft = new ScreenVertex();
bottomright = new ScreenVertex();
left = new ScreenVertex();
top = new ScreenVertex();
mapping = new Matrix();
super();
this.source = _arg1;
this.bitmap = _arg3;
this.smooth = _arg2;
}
override public function render():void{
source.session.renderScaledBitmap(this, bitmap, mapping, smooth);
}
override public function contains(_arg1:Number, _arg2:Number):Boolean{
var _local3:Point;
var _local4:uint;
if (rotation != 0){
if ((((topleft.x * (_arg2 - topright.y)) + (topright.x * (topleft.y - _arg2))) + (_arg1 * (topright.y - topleft.y))) > 0.001){
return (false);
};
if ((((topright.x * (_arg2 - bottomright.y)) + (bottomright.x * (topright.y - _arg2))) + (_arg1 * (bottomright.y - topright.y))) > 0.001){
return (false);
};
if ((((bottomright.x * (_arg2 - bottomleft.y)) + (bottomleft.x * (bottomright.y - _arg2))) + (_arg1 * (bottomleft.y - bottomright.y))) > 0.001){
return (false);
};
if ((((bottomleft.x * (_arg2 - topleft.y)) + (topleft.x * (bottomleft.y - _arg2))) + (_arg1 * (topleft.y - bottomleft.y))) > 0.001){
return (false);
};
};
if (!bitmap.transparent){
return (true);
};
mapping = new Matrix((scale * cos), (-(scale) * sin), (scale * sin), (scale * cos), topleft.x, topleft.y);
mapping.invert();
_local3 = mapping.transformPoint(new Point(_arg1, _arg2));
if (_local3.x < 0){
_local3.x = 0;
};
if (_local3.y < 0){
_local3.y = 0;
};
if (_local3.x >= bitmap.width){
_local3.x = (bitmap.width - 1);
};
if (_local3.y >= bitmap.height){
_local3.y = (bitmap.height - 1);
};
_local4 = bitmap.getPixel32(int(_local3.x), int(_local3.y));
return ((uint((_local4 >> 24)) > 128));
}
override public function clear():void{
bitmap = null;
}
public function calc():void{
var _local1:Array;
screenZ = v.z;
minZ = screenZ;
maxZ = screenZ;
width = (bitmap.width * scale);
height = (bitmap.height * scale);
if (rotation != 0){
cos = Math.cos(((rotation * Math.PI) / 180));
sin = Math.sin(((rotation * Math.PI) / 180));
cosw = ((cos * width) / 2);
cosh = ((cos * height) / 2);
sinw = ((sin * width) / 2);
sinh = ((sin * height) / 2);
topleft.x = ((v.x - cosw) - sinh);
topleft.y = ((v.y + sinw) - cosh);
topright.x = ((v.x + cosw) - sinh);
topright.y = ((v.y - sinw) - cosh);
bottomleft.x = ((v.x - cosw) + sinh);
bottomleft.y = ((v.y + sinw) + cosh);
bottomright.x = ((v.x + cosw) + sinh);
bottomright.y = ((v.y - sinw) + cosh);
_local1 = new Array();
_local1.push(topleft);
_local1.push(topright);
_local1.push(bottomleft);
_local1.push(bottomright);
minX = 100000;
minY = 100000;
maxX = -100000;
maxY = -100000;
for each (bounds in _local1) {
if (minX > bounds.x){
minX = bounds.x;
};
if (maxX < bounds.x){
maxX = bounds.x;
};
if (minY > bounds.y){
minY = bounds.y;
};
if (maxY < bounds.y){
maxY = bounds.y;
};
};
mapping.a = (scale * cos);
mapping.b = (-(scale) * sin);
mapping.c = (scale * sin);
mapping.d = (scale * cos);
mapping.tx = topleft.x;
mapping.ty = topleft.y;
} else {
topleft.x = (v.x - (width / 2));
topleft.y = (v.y - (height / 2));
topright.x = (topleft.x + width);
topright.y = topleft.y;
bottomleft.x = topleft.x;
bottomleft.y = (topleft.y + height);
bottomright.x = topright.x;
bottomright.y = bottomleft.y;
minX = topleft.x;
minY = topleft.y;
maxX = bottomright.x;
maxY = bottomright.y;
mapping.a = (mapping.d = scale);
mapping.c = (mapping.b = 0);
mapping.tx = topleft.x;
mapping.ty = topleft.y;
};
}
}
}//package away3d.core.draw
Section 30
//DrawSegment (away3d.core.draw.DrawSegment)
package away3d.core.draw {
import away3d.materials.*;
public class DrawSegment extends DrawPrimitive {
var db:Number;
var yfocus:Number;
var det:Number;
var dx:Number;
var dy:Number;
var bzf:Number;
var faz:Number;
public var material:ISegmentMaterial;
var axf:Number;
var ayf:Number;
var ax:Number;
var ay:Number;
var az:Number;
var da:Number;
var fbz:Number;
var bxf:Number;
var azf:Number;
var bx:Number;
var by:Number;
var focus:Number;
var bz:Number;
var xfocus:Number;
public var length:Number;
var byf:Number;
public var v0:ScreenVertex;
public var v1:ScreenVertex;
override public function render():void{
material.renderSegment(this);
}
public function onepointcut(_arg1:ScreenVertex):Array{
return ([create(material, projection, v0, _arg1), create(material, projection, _arg1, v1)]);
}
override public function contains(_arg1:Number, _arg2:Number):Boolean{
if (Math.abs((((v0.x * (_arg2 - v1.y)) + (v1.x * (v0.y - _arg2))) + (_arg1 * (v1.y - v0.y)))) > ((0.001 * 1000) * 1000)){
return (false);
};
if ((distanceToCenter(_arg1, _arg2) * 2) > length){
return (false);
};
return (true);
}
override public function quarter(_arg1:Number):Array{
var _local2:ScreenVertex;
if (length < 5){
return (null);
};
_local2 = ScreenVertex.median(v0, v1, _arg1);
return ([create(material, projection, v0, _local2), create(material, projection, _local2, v1)]);
}
override public function getZ(_arg1:Number, _arg2:Number):Number{
if (projection == null){
return (screenZ);
};
focus = projection.focus;
ax = v0.x;
ay = v0.y;
az = v0.z;
bx = v1.x;
by = v1.y;
bz = v1.z;
if ((((ax == _arg1)) && ((ay == _arg2)))){
return (az);
};
if ((((bx == _arg1)) && ((by == _arg2)))){
return (bz);
};
dx = (bx - ax);
dy = (by - ay);
azf = (az / focus);
bzf = (bz / focus);
faz = (1 + azf);
fbz = (1 + bzf);
xfocus = _arg1;
yfocus = _arg2;
axf = ((ax * faz) - (_arg1 * azf));
bxf = ((bx * fbz) - (_arg1 * bzf));
ayf = ((ay * faz) - (_arg2 * azf));
byf = ((by * fbz) - (_arg2 * bzf));
det = ((dx * (axf - bxf)) + (dy * (ayf - byf)));
db = ((dx * (axf - _arg1)) + (dy * (ayf - _arg2)));
da = ((dx * (_arg1 - bxf)) + (dy * (_arg2 - byf)));
return ((((da * az) + (db * bz)) / det));
}
override public function clear():void{
v0 = null;
v1 = null;
}
public function calc():void{
if (v0.z < v1.z){
minZ = v0.z;
maxZ = (v1.z + 1);
} else {
minZ = v1.z;
maxZ = (v0.z + 1);
};
screenZ = ((v0.z + v1.z) / 2);
if (v0.x < v1.x){
minX = v0.x;
maxX = (v1.x + 1);
} else {
minX = v1.x;
maxX = (v0.x + 1);
};
if (v0.y < v1.y){
minY = v0.y;
maxY = (v1.y + 1);
} else {
minY = v1.y;
maxY = (v0.y + 1);
};
length = Math.sqrt((((maxX - minX) * (maxX - minX)) + ((maxY - minY) * (maxY - minY))));
}
public function distanceToCenter(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
var _local4:Number;
_local3 = ((v0.x + v1.x) / 2);
_local4 = ((v0.y + v1.y) / 2);
return (Math.sqrt((((_local3 - _arg1) * (_local3 - _arg1)) + ((_local4 - _arg2) * (_local4 - _arg2)))));
}
override public function toString():String{
return ((((((("S{ screenZ = " + screenZ) + ", minZ = ") + minZ) + ", maxZ = ") + maxZ) + " }"));
}
}
}//package away3d.core.draw
Section 31
//DrawTriangle (away3d.core.draw.DrawTriangle)
package away3d.core.draw {
import flash.display.*;
import away3d.materials.*;
import away3d.core.base.*;
import flash.geom.*;
public class DrawTriangle extends DrawPrimitive {
var _u2:Number;
var det:Number;
var bzf:Number;
var axf:Number;
var v12:ScreenVertex;
var _v0:Number;
var _v1:Number;
var _v2:Number;
var faz:Number;
public var material:ITriangleMaterial;
var materialHeight:Number;
public var bitmapDisplacementY:BitmapData;
var ayf:Number;
var ax:Number;
var ay:Number;
public var bitmapDisplacementX:BitmapData;
var av:Number;
var az:Number;
var au:Number;
var fbz:Number;
var v20:ScreenVertex;
public var texturemapping:Matrix;
var azf:Number;
var bx:Number;
var by:Number;
var bz:Number;
var bu:Number;
var bv:Number;
public var face:Face;
var d01:Number;
var uv01:UV;
public var normalRect:Rectangle;
var cv:Number;
public var bitmapMaterial:BitmapData;
var cz:Number;
var cu:Number;
public var v0:ScreenVertex;
public var v2:ScreenVertex;
var db:Number;
var fcz:Number;
public var v1:ScreenVertex;
public var invtexturemapping:Matrix;
var d12:Number;
var uv12:UV;
public var area:Number;
var cxf:Number;
var da:Number;
var cx:Number;
var cy:Number;
public var bitmapPhong:BitmapData;
var uv20:UV;
var dd12:Number;
var d20:Number;
var dd01:Number;
var t:Matrix;
public var uv0:UV;
public var uv1:UV;
public var uv2:UV;
var dc:Number;
var dd20:Number;
public var bitmapReflection:BitmapData;
var cyf:Number;
public var backface:Boolean;// = false
var czf:Number;
var bxf:Number;
var focus:Number;
var materialWidth:Number;
public var bitmapNormal:BitmapData;
var v01:ScreenVertex;
var _u0:Number;
var _u1:Number;
var byf:Number;
public function DrawTriangle(){
backface = false;
super();
}
final public function transformUV(_arg1:IUVMaterial):Matrix{
materialWidth = _arg1.width;
materialHeight = _arg1.height;
if ((((((uv0 == null)) || ((uv1 == null)))) || ((uv2 == null)))){
return (null);
};
_u0 = (materialWidth * uv0._u);
_u1 = (materialWidth * uv1._u);
_u2 = (materialWidth * uv2._u);
_v0 = (materialHeight * (1 - uv0._v));
_v1 = (materialHeight * (1 - uv1._v));
_v2 = (materialHeight * (1 - uv2._v));
if ((((((_u0 == _u1)) && ((_v0 == _v1)))) || ((((_u0 == _u2)) && ((_v0 == _v2)))))){
if (_u0 > 0.05){
_u0 = (_u0 - 0.05);
} else {
_u0 = (_u0 + 0.05);
};
if (_v0 > 0.07){
_v0 = (_v0 - 0.07);
} else {
_v0 = (_v0 + 0.07);
};
};
if ((((_u2 == _u1)) && ((_v2 == _v1)))){
if (_u2 > 0.04){
_u2 = (_u2 - 0.04);
} else {
_u2 = (_u2 + 0.04);
};
if (_v2 > 0.06){
_v2 = (_v2 - 0.06);
} else {
_v2 = (_v2 + 0.06);
};
};
if ((_arg1 is BitmapMaterialContainer)){
invtexturemapping = new Matrix((_u1 - _u0), (_v1 - _v0), (_u2 - _u0), (_v2 - _v0), (_u0 - face.bitmapRect.x), (_v0 - face.bitmapRect.y));
texturemapping = invtexturemapping.clone();
texturemapping.invert();
return (texturemapping);
};
texturemapping = new Matrix((_u1 - _u0), (_v1 - _v0), (_u2 - _u0), (_v2 - _v0), _u0, _v0);
texturemapping.invert();
return (texturemapping);
}
final public function bisect(_arg1:Number):Array{
d01 = v0.distanceSqr(v1);
d12 = v1.distanceSqr(v2);
d20 = v2.distanceSqr(v0);
if ((((d12 >= d01)) && ((d12 >= d20)))){
return (bisect12(_arg1));
};
if (d01 >= d20){
return (bisect01(_arg1));
};
return (bisect20(_arg1));
}
final override public function contains(_arg1:Number, _arg2:Number):Boolean{
if ((((v0.x * (_arg2 - v1.y)) + (v1.x * (v0.y - _arg2))) + (_arg1 * (v1.y - v0.y))) < -0.001){
return (false);
};
if ((((v0.x * (v2.y - _arg2)) + (_arg1 * (v0.y - v2.y))) + (v2.x * (_arg2 - v0.y))) < -0.001){
return (false);
};
if ((((_arg1 * (v2.y - v1.y)) + (v1.x * (_arg2 - v2.y))) + (v2.x * (v1.y - _arg2))) < -0.001){
return (false);
};
return (true);
}
final public function minEdgeSqr():Number{
return (Math.min(Math.min(v0.distanceSqr(v1), v1.distanceSqr(v2)), v2.distanceSqr(v0)));
}
final public function minDistortSqr(_arg1:Number):Number{
return (Math.min(Math.min(v0.distortSqr(v1, _arg1), v1.distortSqr(v2, _arg1)), v2.distortSqr(v0, _arg1)));
}
override public function clear():void{
v0 = null;
v1 = null;
v2 = null;
uv0 = null;
uv1 = null;
uv2 = null;
texturemapping = null;
}
final public function acuteAngled():Boolean{
d01 = v0.distanceSqr(v1);
d12 = v1.distanceSqr(v2);
d20 = v2.distanceSqr(v0);
dd01 = (d01 * d01);
dd12 = (d12 * d12);
dd20 = (d20 * d20);
return ((((((dd01 <= (dd12 + dd20))) && ((dd12 <= (dd20 + dd01))))) && ((dd20 <= (dd01 + dd12)))));
}
override public function toString():String{
var _local1:String;
_local1 = "";
if ((material is WireColorMaterial)){
switch ((material as WireColorMaterial).color){
case 0xFF00:
_local1 = "green";
break;
case 0xFFFF00:
_local1 = "yellow";
break;
case 0xFF0000:
_local1 = "red";
break;
case 0xFF:
_local1 = "blue";
break;
};
};
return (((((((((("T{" + _local1) + int(area)) + " screenZ = ") + num(screenZ)) + ", minZ = ") + num(minZ)) + ", maxZ = ") + num(maxZ)) + " }"));
}
final public function distortbisect(_arg1:Number):Array{
d01 = v0.distortSqr(v1, _arg1);
d12 = v1.distortSqr(v2, _arg1);
d20 = v2.distortSqr(v0, _arg1);
if ((((d12 >= d01)) && ((d12 >= d20)))){
return (bisect12(_arg1));
};
if (d01 >= d20){
return (bisect01(_arg1));
};
return (bisect20(_arg1));
}
public function getUV(_arg1:Number, _arg2:Number):UV{
if (uv0 == null){
return (null);
};
if (uv1 == null){
return (null);
};
if (uv2 == null){
return (null);
};
au = uv0._u;
av = uv0._v;
bu = uv1._u;
bv = uv1._v;
cu = uv2._u;
cv = uv2._v;
focus = projection.focus;
ax = v0.x;
ay = v0.y;
az = v0.z;
bx = v1.x;
by = v1.y;
bz = v1.z;
cx = v2.x;
cy = v2.y;
cz = v2.z;
if ((((ax == _arg1)) && ((ay == _arg2)))){
return (uv0);
};
if ((((bx == _arg1)) && ((by == _arg2)))){
return (uv1);
};
if ((((cx == _arg1)) && ((cy == _arg2)))){
return (uv2);
};
azf = (az / focus);
bzf = (bz / focus);
czf = (cz / focus);
faz = (1 + azf);
fbz = (1 + bzf);
fcz = (1 + czf);
axf = ((ax * faz) - (_arg1 * azf));
bxf = ((bx * fbz) - (_arg1 * bzf));
cxf = ((cx * fcz) - (_arg1 * czf));
ayf = ((ay * faz) - (_arg2 * azf));
byf = ((by * fbz) - (_arg2 * bzf));
cyf = ((cy * fcz) - (_arg2 * czf));
det = (((axf * (byf - cyf)) + (bxf * (cyf - ayf))) + (cxf * (ayf - byf)));
da = (((_arg1 * (byf - cyf)) + (bxf * (cyf - _arg2))) + (cxf * (_arg2 - byf)));
db = (((axf * (_arg2 - cyf)) + (_arg1 * (cyf - ayf))) + (cxf * (ayf - _arg2)));
dc = (((axf * (byf - _arg2)) + (bxf * (_arg2 - ayf))) + (_arg1 * (ayf - byf)));
return (new UV(((((da * au) + (db * bu)) + (dc * cu)) / det), ((((da * av) + (db * bv)) + (dc * cv)) / det)));
}
final private function bisect01(_arg1:Number):Array{
var _local2:ScreenVertex;
var _local3:UV;
_local2 = ScreenVertex.median(v0, v1, _arg1);
_local3 = UV.median(uv0, uv1);
return ([create(face, material, projection, v2, v0, _local2, uv2, uv0, _local3), create(face, material, projection, _local2, v1, v2, _local3, uv1, uv2)]);
}
override public function render():void{
material.renderTriangle(this);
}
public function calc():void{
if (v0.x > v1.x){
if (v0.x > v2.x){
maxX = v0.x;
} else {
maxX = v2.x;
};
} else {
if (v1.x > v2.x){
maxX = v1.x;
} else {
maxX = v2.x;
};
};
if (v0.x < v1.x){
if (v0.x < v2.x){
minX = v0.x;
} else {
minX = v2.x;
};
} else {
if (v1.x < v2.x){
minX = v1.x;
} else {
minX = v2.x;
};
};
if (v0.y > v1.y){
if (v0.y > v2.y){
maxY = v0.y;
} else {
maxY = v2.y;
};
} else {
if (v1.y > v2.y){
maxY = v1.y;
} else {
maxY = v2.y;
};
};
if (v0.y < v1.y){
if (v0.y < v2.y){
minY = v0.y;
} else {
minY = v2.y;
};
} else {
if (v1.y < v2.y){
minY = v1.y;
} else {
minY = v2.y;
};
};
if (v0.z > v1.z){
if (v0.z > v2.z){
maxZ = v0.z;
} else {
maxZ = v2.z;
};
} else {
if (v1.z > v2.z){
maxZ = v1.z;
} else {
maxZ = v2.z;
};
};
if (v0.z < v1.z){
if (v0.z < v2.z){
minZ = v0.z;
} else {
minZ = v2.z;
};
} else {
if (v1.z < v2.z){
minZ = v1.z;
} else {
minZ = v2.z;
};
};
screenZ = (((v0.z + v1.z) + v2.z) / 3);
area = (0.5 * (((v0.x * (v2.y - v1.y)) + (v1.x * (v0.y - v2.y))) + (v2.x * (v1.y - v0.y))));
}
public function fivepointcut(_arg1:ScreenVertex, _arg2:ScreenVertex, _arg3:ScreenVertex, _arg4:ScreenVertex, _arg5:ScreenVertex, _arg6:UV, _arg7:UV, _arg8:UV, _arg9:UV, _arg10:UV):Array{
if (_arg1.distanceSqr(_arg4) < _arg2.distanceSqr(_arg5)){
return ([create(face, material, projection, _arg1, _arg2, _arg4, _arg6, _arg7, _arg9), create(face, material, projection, _arg2, _arg3, _arg4, _arg7, _arg8, _arg9), create(face, material, projection, _arg1, _arg4, _arg5, _arg6, _arg9, _arg10)]);
};
return ([create(face, material, projection, _arg1, _arg2, _arg5, _arg6, _arg7, _arg10), create(face, material, projection, _arg2, _arg3, _arg4, _arg7, _arg8, _arg9), create(face, material, projection, _arg2, _arg4, _arg5, _arg7, _arg9, _arg10)]);
}
final private function bisect12(_arg1:Number):Array{
var _local2:ScreenVertex;
var _local3:UV;
_local2 = ScreenVertex.median(v1, v2, _arg1);
_local3 = UV.median(uv1, uv2);
return ([create(face, material, projection, v0, v1, _local2, uv0, uv1, _local3), create(face, material, projection, _local2, v2, v0, _local3, uv2, uv0)]);
}
final override public function quarter(_arg1:Number):Array{
if (area < 20){
return (null);
};
v01 = ScreenVertex.median(v0, v1, _arg1);
v12 = ScreenVertex.median(v1, v2, _arg1);
v20 = ScreenVertex.median(v2, v0, _arg1);
uv01 = UV.median(uv0, uv1);
uv12 = UV.median(uv1, uv2);
uv20 = UV.median(uv2, uv0);
return ([create(face, material, projection, v0, v01, v20, uv0, uv01, uv20), create(face, material, projection, v1, v12, v01, uv1, uv12, uv01), create(face, material, projection, v2, v20, v12, uv2, uv20, uv12), create(face, material, projection, v01, v12, v20, uv01, uv12, uv20)]);
}
final override public function getZ(_arg1:Number, _arg2:Number):Number{
if (projection == null){
return (screenZ);
};
focus = projection.focus;
ax = v0.x;
ay = v0.y;
az = v0.z;
bx = v1.x;
by = v1.y;
bz = v1.z;
cx = v2.x;
cy = v2.y;
cz = v2.z;
if ((((ax == _arg1)) && ((ay == _arg2)))){
return (az);
};
if ((((bx == _arg1)) && ((by == _arg2)))){
return (bz);
};
if ((((cx == _arg1)) && ((cy == _arg2)))){
return (cz);
};
azf = (az / focus);
bzf = (bz / focus);
czf = (cz / focus);
faz = (1 + azf);
fbz = (1 + bzf);
fcz = (1 + czf);
axf = ((ax * faz) - (_arg1 * azf));
bxf = ((bx * fbz) - (_arg1 * bzf));
cxf = ((cx * fcz) - (_arg1 * czf));
ayf = ((ay * faz) - (_arg2 * azf));
byf = ((by * fbz) - (_arg2 * bzf));
cyf = ((cy * fcz) - (_arg2 * czf));
det = (((axf * (byf - cyf)) + (bxf * (cyf - ayf))) + (cxf * (ayf - byf)));
da = (((_arg1 * (byf - cyf)) + (bxf * (cyf - _arg2))) + (cxf * (_arg2 - byf)));
db = (((axf * (_arg2 - cyf)) + (_arg1 * (cyf - ayf))) + (cxf * (ayf - _arg2)));
dc = (((axf * (byf - _arg2)) + (bxf * (_arg2 - ayf))) + (_arg1 * (ayf - byf)));
return (((((da * az) + (db * bz)) + (dc * cz)) / det));
}
final public function distanceToCenter(_arg1:Number, _arg2:Number):Number{
var _local3:Number;
var _local4:Number;
_local3 = (((v0.x + v1.x) + v2.x) / 3);
_local4 = (((v0.y + v1.y) + v2.y) / 3);
return (Math.sqrt((((_local3 - _arg1) * (_local3 - _arg1)) + ((_local4 - _arg2) * (_local4 - _arg2)))));
}
final public function maxDistortSqr(_arg1:Number):Number{
return (Math.max(Math.max(v0.distortSqr(v1, _arg1), v1.distortSqr(v2, _arg1)), v2.distortSqr(v0, _arg1)));
}
final public function maxEdgeSqr():Number{
return (Math.max(Math.max(v0.distanceSqr(v1), v1.distanceSqr(v2)), v2.distanceSqr(v0)));
}
final private function bisect20(_arg1:Number):Array{
var _local2:ScreenVertex;
var _local3:UV;
_local2 = ScreenVertex.median(v2, v0, _arg1);
_local3 = UV.median(uv2, uv0);
return ([create(face, material, projection, v1, v2, _local2, uv1, uv2, _local3), create(face, material, projection, _local2, v0, v1, _local3, uv0, uv1)]);
}
private static function num(_arg1:Number):Number{
return ((int((_arg1 * 1000)) / 1000));
}
}
}//package away3d.core.draw
Section 32
//IPrimitiveConsumer (away3d.core.draw.IPrimitiveConsumer)
package away3d.core.draw {
public interface IPrimitiveConsumer {
function primitive(_arg1:DrawPrimitive):void;
}
}//package away3d.core.draw
Section 33
//IPrimitiveProvider (away3d.core.draw.IPrimitiveProvider)
package away3d.core.draw {
import away3d.core.render.*;
public interface IPrimitiveProvider {
function primitives(_arg1:IPrimitiveConsumer, _arg2:AbstractRenderSession):void;
}
}//package away3d.core.draw
Section 34
//PrimitiveArray (away3d.core.draw.PrimitiveArray)
package away3d.core.draw {
import away3d.core.render.*;
import away3d.core.block.*;
public class PrimitiveArray implements IPrimitiveConsumer {
private var primitives:Array;
private var _clip:Clipping;
private var _blockers:Array;
public function set clip(_arg1:Clipping):void{
_clip = _arg1;
primitives = [];
}
public function list():Array{
return (primitives);
}
public function primitive(_arg1:DrawPrimitive):void{
var _local2:int;
var _local3:int;
var _local4:Blocker;
if (_clip.check(_arg1)){
_local2 = _blockers.length;
_local3 = 0;
while (_local3 < _local2) {
_local4 = _blockers[_local3];
if (_local4.screenZ > _arg1.minZ){
break;
};
if (_local4.block(_arg1)){
return;
};
_local3++;
};
primitives.push(_arg1);
};
}
public function set blockers(_arg1:Array):void{
_blockers = _arg1;
}
}
}//package away3d.core.draw
Section 35
//PrimitiveQuadrantTreeNode (away3d.core.draw.PrimitiveQuadrantTreeNode)
package away3d.core.draw {
import away3d.core.base.*;
public final class PrimitiveQuadrantTreeNode {
public var level:int;
public var xdiv:Number;
public var halfheight:Number;
public var maxlevel:int;// = 4
public var render_center_length:int;// = -1
public var parent:PrimitiveQuadrantTreeNode;
public var righttop:PrimitiveQuadrantTreeNode;
public var righttopFlag:Boolean;
public var rightbottom:PrimitiveQuadrantTreeNode;
public var onlysourceFlag:Boolean;// = true
public var center:Array;
public var onlysource:Object3D;
public var rightbottomFlag:Boolean;
private var i:int;
public var lefttop:PrimitiveQuadrantTreeNode;
public var render_center_index:int;// = -1
public var leftbottom:PrimitiveQuadrantTreeNode;
public var halfwidth:Number;
public var ydiv:Number;
public var lefttopFlag:Boolean;
public var create:Function;
public var leftbottomFlag:Boolean;
public function PrimitiveQuadrantTreeNode(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:int, _arg6:PrimitiveQuadrantTreeNode=null){
onlysourceFlag = true;
maxlevel = 4;
render_center_length = -1;
render_center_index = -1;
super();
this.level = _arg5;
this.xdiv = _arg1;
this.ydiv = _arg2;
halfwidth = (_arg3 / 2);
halfheight = (_arg4 / 2);
this.parent = _arg6;
}
public function render(_arg1:Number):void{
var _local2:DrawPrimitive;
if (render_center_length == -1){
if (center != null){
render_center_length = center.length;
if (render_center_length > 1){
center.sortOn("screenZ", (Array.DESCENDING | Array.NUMERIC));
};
} else {
render_center_length = 0;
};
render_center_index = 0;
};
while (render_center_index < render_center_length) {
_local2 = center[render_center_index];
if (_local2.screenZ < _arg1){
break;
};
render_other(_local2.screenZ);
_local2.render();
render_center_index++;
};
if (render_center_index == render_center_length){
center = null;
};
render_other(_arg1);
}
public function push(_arg1:DrawPrimitive):void{
if (onlysourceFlag){
if (((!((onlysource == null))) && (!((onlysource == _arg1.source))))){
onlysourceFlag = false;
};
onlysource = _arg1.source;
};
if (level < maxlevel){
if (_arg1.maxX <= xdiv){
if (_arg1.maxY <= ydiv){
if (lefttop == null){
lefttopFlag = true;
lefttop = new PrimitiveQuadrantTreeNode((xdiv - (halfwidth / 2)), (ydiv - (halfheight / 2)), halfwidth, halfheight, (level + 1), this);
} else {
if (!lefttopFlag){
lefttopFlag = true;
lefttop.reset((xdiv - (halfwidth / 2)), (ydiv - (halfheight / 2)), halfwidth, halfheight);
};
};
lefttop.push(_arg1);
return;
} else {
if (_arg1.minY >= ydiv){
if (leftbottom == null){
leftbottomFlag = true;
leftbottom = new PrimitiveQuadrantTreeNode((xdiv - (halfwidth / 2)), (ydiv - (halfheight / 2)), halfwidth, halfheight, (level + 1), this);
} else {
if (!leftbottomFlag){
leftbottomFlag = true;
leftbottom.reset((xdiv - (halfwidth / 2)), (ydiv - (halfheight / 2)), halfwidth, halfheight);
};
};
leftbottom.push(_arg1);
return;
};
};
} else {
if (_arg1.minX >= xdiv){
if (_arg1.maxY <= ydiv){
if (righttop == null){
righttopFlag = true;
righttop = new PrimitiveQuadrantTreeNode((xdiv - (halfwidth / 2)), (ydiv - (halfheight / 2)), halfwidth, halfheight, (level + 1), this);
} else {
if (!righttopFlag){
righttopFlag = true;
righttop.reset((xdiv - (halfwidth / 2)), (ydiv - (halfheight / 2)), halfwidth, halfheight);
};
};
righttop.push(_arg1);
return;
} else {
if (_arg1.minY >= ydiv){
if (rightbottom == null){
rightbottomFlag = true;
rightbottom = new PrimitiveQuadrantTreeNode((xdiv - (halfwidth / 2)), (ydiv - (halfheight / 2)), halfwidth, halfheight, (level + 1), this);
} else {
if (!rightbottomFlag){
rightbottomFlag = true;
rightbottom.reset((xdiv - (halfwidth / 2)), (ydiv - (halfheight / 2)), halfwidth, halfheight);
};
};
rightbottom.push(_arg1);
return;
};
};
};
};
};
if (center == null){
center = new Array();
};
center.push(_arg1);
_arg1.quadrant = this;
}
private function render_other(_arg1:Number):void{
if (lefttopFlag){
lefttop.render(_arg1);
};
if (leftbottomFlag){
leftbottom.render(_arg1);
};
if (righttopFlag){
righttop.render(_arg1);
};
if (rightbottomFlag){
rightbottom.render(_arg1);
};
}
public function reset(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
this.xdiv = _arg1;
this.ydiv = _arg2;
halfwidth = (_arg3 / 2);
halfheight = (_arg4 / 2);
lefttopFlag = false;
leftbottomFlag = false;
righttopFlag = false;
rightbottomFlag = false;
onlysourceFlag = true;
onlysource = null;
render_center_length = -1;
render_center_index = -1;
}
}
}//package away3d.core.draw
Section 36
//ScreenVertex (away3d.core.draw.ScreenVertex)
package away3d.core.draw {
import away3d.core.base.*;
public final class ScreenVertex {
public var y:Number;
public var vx:Number;
public var vy:Number;
var fbz:Number;
public var z:Number;
public var num:Number;
var dx:Number;
var my2:Number;
var dy:Number;
var faz:Number;
var mx2:Number;
var ifmz2:Number;
public var visible:Boolean;
public var x:Number;
var persp:Number;
public function ScreenVertex(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){
this.x = _arg1;
this.y = _arg2;
this.z = _arg3;
this.visible = false;
}
public function distortSqr(_arg1:ScreenVertex, _arg2:Number):Number{
faz = (_arg2 + z);
fbz = (_arg2 + z);
ifmz2 = (2 / (faz + fbz));
mx2 = (((x * faz) + (_arg1.x * fbz)) * ifmz2);
my2 = (((y * faz) + (_arg1.y * fbz)) * ifmz2);
dx = ((x + _arg1.x) - mx2);
dy = ((y + _arg1.y) - my2);
return ((50 * (((dx * dx) + dy) + dy)));
}
public function deperspective(_arg1:Number):Vertex{
persp = (1 + (z / _arg1));
return (new Vertex((x * persp), (y * persp), z));
}
public function distanceSqr(_arg1:ScreenVertex):Number{
return ((((x - _arg1.x) * (x - _arg1.x)) + ((y - _arg1.y) * (y - _arg1.y))));
}
public function toString():String{
return ((((((("new ScreenVertex(" + x) + ", ") + y) + ", ") + z) + ")"));
}
public function distance(_arg1:ScreenVertex):Number{
return (Math.sqrt((((x - _arg1.x) * (x - _arg1.x)) + ((y - _arg1.y) * (y - _arg1.y)))));
}
public static function median(_arg1:ScreenVertex, _arg2:ScreenVertex, _arg3:Number):ScreenVertex{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local4 = ((_arg1.z + _arg2.z) / 2);
_local5 = (_arg3 + _arg1.z);
_local6 = (_arg3 + _arg2.z);
_local7 = ((1 / (_arg3 + _local4)) / 2);
return (new ScreenVertex((((_arg1.x * _local5) + (_arg2.x * _local6)) * _local7), (((_arg1.y * _local5) + (_arg2.y * _local6)) * _local7), _local4));
}
public static function weighted(_arg1:ScreenVertex, _arg2:ScreenVertex, _arg3:Number, _arg4:Number, _arg5:Number):ScreenVertex{
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:Number;
var _local16:Number;
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Number;
var _local21:Number;
if ((((_arg4 == 0)) && ((_arg3 == 0)))){
throw (new Error("Zero weights"));
};
if (_arg4 == 0){
return (new ScreenVertex(_arg1.x, _arg1.y, _arg1.z));
};
if (_arg3 == 0){
return (new ScreenVertex(_arg2.x, _arg2.y, _arg2.z));
};
_local6 = (_arg3 + _arg4);
_local7 = (_arg3 / _local6);
_local8 = (_arg4 / _local6);
_local9 = ((_arg1.x * _local7) + (_arg2.x * _local8));
_local10 = ((_arg1.y * _local7) + (_arg2.y * _local8));
_local11 = (_arg1.z / _arg5);
_local12 = (_arg2.z / _arg5);
_local13 = (1 + _local11);
_local14 = (1 + _local12);
_local15 = ((_arg1.x * _local13) - (_local9 * _local11));
_local16 = ((_arg2.x * _local14) - (_local9 * _local12));
_local17 = ((_arg1.y * _local13) - (_local10 * _local11));
_local18 = ((_arg2.y * _local14) - (_local10 * _local12));
_local19 = ((_local15 * _local18) - (_local16 * _local17));
_local20 = ((_local9 * _local18) - (_local16 * _local10));
_local21 = ((_local15 * _local10) - (_local9 * _local17));
return (new ScreenVertex(_local9, _local10, (((_local20 * _arg1.z) + (_local21 * _arg2.z)) / _local19)));
}
}
}//package away3d.core.draw
Section 37
//IPrimitiveFilter (away3d.core.filter.IPrimitiveFilter)
package away3d.core.filter {
import away3d.core.render.*;
import away3d.containers.*;
import away3d.cameras.*;
public interface IPrimitiveFilter {
function filter(_arg1:Array, _arg2:Scene3D, _arg3:Camera3D, _arg4:Clipping):Array;
}
}//package away3d.core.filter
Section 38
//ZSortFilter (away3d.core.filter.ZSortFilter)
package away3d.core.filter {
import away3d.core.render.*;
import away3d.containers.*;
import away3d.cameras.*;
public class ZSortFilter implements IPrimitiveFilter {
public function filter(_arg1:Array, _arg2:Scene3D, _arg3:Camera3D, _arg4:Clipping):Array{
_arg1.sortOn("screenZ", (Array.DESCENDING | Array.NUMERIC));
return (_arg1);
}
public function toString():String{
return ("ZSort");
}
}
}//package away3d.core.filter
Section 39
//AbstractLightSource (away3d.core.light.AbstractLightSource)
package away3d.core.light {
import flash.display.*;
public class AbstractLightSource {
public var diffuseBitmap:BitmapData;
public var green:Number;
public var diffuse:Number;
public var specular:Number;
public var ambientBitmap:BitmapData;
public var red:Number;
public var ambient:Number;
public var ambientDiffuseBitmap:BitmapData;
public var blue:Number;
public var specularBitmap:BitmapData;
}
}//package away3d.core.light
Section 40
//AmbientLightSource (away3d.core.light.AmbientLightSource)
package away3d.core.light {
import flash.display.*;
import away3d.lights.*;
public class AmbientLightSource extends AbstractLightSource {
public var light:AmbientLight3D;
public function updateAmbientBitmap(_arg1:Number):void{
this.ambient = _arg1;
ambientBitmap = new BitmapData(0x0100, 0x0100, false, ((int(((_arg1 * red) << 16)) | int(((_arg1 * green) << 8))) | int((_arg1 * blue))));
ambientBitmap.lock();
}
}
}//package away3d.core.light
Section 41
//DirectionalLightSource (away3d.core.light.DirectionalLightSource)
package away3d.core.light {
import flash.utils.*;
import flash.display.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.base.*;
import away3d.containers.*;
import flash.geom.*;
import away3d.events.*;
import flash.filters.*;
import away3d.lights.*;
import away3d.core.*;
public class DirectionalLightSource extends AbstractLightSource {
var halfTransform:Matrix3D;
var invTransform:Matrix3D;
var mod:Number;
var _green:Number;
public var ambientDiffuseColorTransform:ColorTransform;
public var light:DirectionalLight3D;
var _shape:Shape;
var quaternion:Quaternion;
public var diffuseTransform:Dictionary;
var _szx:Number;
var halfQuaternion:Quaternion;
var _blue:Number;
var _szy:Number;
var _colorMatrix:ColorMatrixFilter;
var viewTransform:Matrix3D;
public var colorMatrixTransform:Dictionary;
var nx:Number;
public var diffuseColorTransform:ColorTransform;
var _szz:Number;
public var normalMatrixTransform:Dictionary;
var cameraTransform:Matrix3D;
var halfVector:Number3D;
var _matrix:Matrix;
var cameraDirection:Number3D;
var ny:Number;
var _red:Number;
var transform:Matrix3D;
var _normalMatrix:ColorMatrixFilter;
public var specularTransform:Dictionary;
public var direction:Number3D;
public function DirectionalLightSource(){
colorMatrixTransform = new Dictionary(true);
normalMatrixTransform = new Dictionary(true);
_colorMatrix = new ColorMatrixFilter();
_normalMatrix = new ColorMatrixFilter();
_matrix = new Matrix();
_shape = new Shape();
quaternion = new Quaternion();
viewTransform = new Matrix3D();
invTransform = new Matrix3D();
transform = new Matrix3D();
halfVector = new Number3D();
halfQuaternion = new Quaternion();
halfTransform = new Matrix3D();
super();
}
public function setNormalMatrixTransform(_arg1:Object3D):void{
_szx = diffuseTransform[_arg1].szx;
_szy = diffuseTransform[_arg1].szy;
_szz = diffuseTransform[_arg1].szz;
_normalMatrix.matrix = [_szx, 0, 0, 0, (127 - (_szx * 127)), 0, -(_szy), 0, 0, (127 + (_szy * 127)), 0, 0, _szz, 0, (127 - (_szz * 127)), 0, 0, 0, 1, 0];
normalMatrixTransform[_arg1] = _normalMatrix.clone();
}
public function updateAmbientBitmap(_arg1:Number):void{
this.ambient = _arg1;
ambientBitmap = new BitmapData(0x0100, 0x0100, false, ((int(((_arg1 * red) << 16)) | int(((_arg1 * green) << 8))) | int((_arg1 * blue))));
ambientBitmap.lock();
}
public function clearTransform():void{
diffuseTransform = new Dictionary(true);
specularTransform = new Dictionary(true);
colorMatrixTransform = new Dictionary(true);
normalMatrixTransform = new Dictionary(true);
}
public function setSpecularTransform(_arg1:Object3D, _arg2:View3D):void{
cameraTransform = _arg2.camera.transform;
cameraDirection = new Number3D(-(cameraTransform.sxz), -(cameraTransform.syz), -(cameraTransform.szz));
halfVector.add(cameraDirection, direction);
halfVector.normalize();
nx = halfVector.x;
ny = halfVector.y;
mod = Math.sqrt(((nx * nx) + (ny * ny)));
halfTransform.rotationMatrix((-(ny) / mod), (nx / mod), 0, Math.acos(-(halfVector.z)));
viewTransform.multiply3x3(halfTransform, _arg1._sceneTransform);
specularTransform[_arg1][_arg2] = viewTransform.clone();
}
public function setDiffuseTransform(_arg1:Object3D):void{
viewTransform.multiply3x3(transform, _arg1._sceneTransform);
diffuseTransform[_arg1] = viewTransform.clone();
}
public function updateDirection(_arg1:Object3DEvent):void{
direction = new Number3D(light.x, light.y, light.z);
direction.normalize();
nx = direction.x;
ny = direction.y;
mod = Math.sqrt(((nx * nx) + (ny * ny)));
transform.rotationMatrix((ny / mod), (-(nx) / mod), 0, -(Math.acos(-(direction.z))));
clearTransform();
}
public function setColorMatrixTransform(_arg1:Object3D):void{
_red = (red / 127);
_green = (green / 127);
_blue = (blue / 127);
_colorMatrix.matrix = [_red, _red, _red, 0, (-381 * _red), _green, _green, _green, 0, (-381 * _green), _blue, _blue, _blue, 0, (-381 * _blue), 0, 0, 0, 1, 0];
colorMatrixTransform[_arg1] = _colorMatrix.clone();
}
public function updateDiffuseBitmap(_arg1:Number):void{
var _local2:Array;
var _local3:Array;
var _local4:Array;
var _local5:int;
var _local6:Number;
var _local7:Number;
var _local8:Number;
this.diffuse = _arg1;
diffuseBitmap = new BitmapData(0x0100, 0x0100, false, 0);
diffuseBitmap.lock();
_matrix.createGradientBox(0x0100, 0x0100, 0, 0, 0);
_local2 = new Array();
_local3 = new Array();
_local4 = new Array();
_local5 = 15;
while (_local5--) {
_local6 = ((_local5 * _arg1) / 14);
if (_local6 > 1){
_local6 = 1;
};
_local7 = ((_local5 * _arg1) / 14);
if (_local7 > 1){
_local7 = 1;
};
_local8 = ((_local5 * _arg1) / 14);
if (_local8 > 1){
_local8 = 1;
};
_local2.push(((((_local6 * red) << 16) | ((_local7 * green) << 8)) | (_local8 * blue)));
_local3.push(1);
_local4.push(int((30 + (((225 * 2) * Math.acos((_local5 / 14))) / Math.PI))));
};
_shape.graphics.clear();
_shape.graphics.beginGradientFill(GradientType.LINEAR, _local2, _local3, _local4, _matrix);
_shape.graphics.drawRect(0, 0, 0x0100, 0x0100);
diffuseBitmap.draw(_shape);
diffuseColorTransform = new ColorTransform(((_arg1 * red) / 0xFF), ((_arg1 * green) / 0xFF), ((_arg1 * blue) / 0xFF), 1, 0, 0, 0, 0);
}
public function updateAmbientDiffuseBitmap(_arg1:Number, _arg2:Number):void{
var _local3:Array;
var _local4:Array;
var _local5:Array;
var _local6:int;
var _local7:Number;
var _local8:Number;
var _local9:Number;
this.diffuse = _arg2;
ambientDiffuseBitmap = new BitmapData(0x0100, 0x0100, false, 0);
ambientDiffuseBitmap.lock();
_matrix.createGradientBox(0x0100, 0x0100, 0, 0, 0);
_local3 = new Array();
_local4 = new Array();
_local5 = new Array();
_local6 = 15;
while (_local6--) {
_local7 = (((_local6 * _arg2) / 14) + _arg1);
if (_local7 > 1){
_local7 = 1;
};
_local8 = (((_local6 * _arg2) / 14) + _arg1);
if (_local8 > 1){
_local8 = 1;
};
_local9 = (((_local6 * _arg2) / 14) + _arg1);
if (_local9 > 1){
_local9 = 1;
};
_local3.push(((((_local7 * red) << 16) | ((_local8 * green) << 8)) | (_local9 * blue)));
_local4.push(1);
_local5.push(int((30 + (((225 * 2) * Math.acos((_local6 / 14))) / Math.PI))));
};
_shape.graphics.clear();
_shape.graphics.beginGradientFill(GradientType.LINEAR, _local3, _local4, _local5, _matrix);
_shape.graphics.drawRect(0, 0, 0x0100, 0x0100);
ambientDiffuseBitmap.draw(_shape);
ambientDiffuseColorTransform = new ColorTransform(((_arg2 * red) / 0xFF), ((_arg2 * green) / 0xFF), ((_arg2 * blue) / 0xFF), 1, (_arg1 * red), (_arg1 * green), (_arg1 * blue), 0);
}
public function updateSpecularBitmap(_arg1:Number):void{
var _local2:Array;
var _local3:Array;
var _local4:Array;
var _local5:int;
this.specular = _arg1;
specularBitmap = new BitmapData(0x0200, 0x0200, false, 0);
specularBitmap.lock();
_matrix.createGradientBox(0x0200, 0x0200, 0, 0, 0);
_local2 = new Array();
_local3 = new Array();
_local4 = new Array();
_local5 = 14;
while (_local5--) {
_local2.push(((((((_local5 * _arg1) * red) / 14) << 16) + ((((_local5 * _arg1) * green) / 14) << 8)) + (((_local5 * _arg1) * blue) / 14)));
_local3.push(1);
_local4.push(int((30 + (((225 * 2) * Math.acos(Math.pow((_local5 / 14), (1 / 20)))) / Math.PI))));
};
_shape.graphics.clear();
_shape.graphics.beginGradientFill(GradientType.RADIAL, _local2, _local3, _local4, _matrix);
_shape.graphics.drawCircle(0xFF, 0xFF, 0xFF);
specularBitmap.draw(_shape);
}
}
}//package away3d.core.light
Section 42
//ILightConsumer (away3d.core.light.ILightConsumer)
package away3d.core.light {
public interface ILightConsumer {
function pointLight(_arg1:PointLightSource):void;
function directionalLight(_arg1:DirectionalLightSource):void;
function ambientLight(_arg1:AmbientLightSource):void;
}
}//package away3d.core.light
Section 43
//ILightProvider (away3d.core.light.ILightProvider)
package away3d.core.light {
public interface ILightProvider {
function light(_arg1:ILightConsumer):void;
}
}//package away3d.core.light
Section 44
//LightArray (away3d.core.light.LightArray)
package away3d.core.light {
public class LightArray implements ILightConsumer {
public var points:Array;
public var directionals:Array;
public var numLights:int;
public var ambients:Array;
public function directionalLight(_arg1:DirectionalLightSource):void{
directionals.push(_arg1);
numLights++;
}
public function clear():void{
ambients = [];
directionals = [];
points = [];
numLights = 0;
}
public function pointLight(_arg1:PointLightSource):void{
points.push(_arg1);
numLights++;
}
public function ambientLight(_arg1:AmbientLightSource):void{
ambients.push(_arg1);
numLights++;
}
}
}//package away3d.core.light
Section 45
//PointLightSource (away3d.core.light.PointLightSource)
package away3d.core.light {
import away3d.lights.*;
public class PointLightSource extends AbstractLightSource {
public var y:Number;
public var z:Number;
public var light:PointLight3D;
public var x:Number;
}
}//package away3d.core.light
Section 46
//Matrix3D (away3d.core.math.Matrix3D)
package away3d.core.math {
public final class Matrix3D {
private var xx:Number;
private var xy:Number;
private var xz:Number;
private var yw:Number;
private var yz:Number;
private var yy:Number;
private var scos:Number;
private var nCos:Number;
private var zw:Number;
private var m211:Number;
private var m213:Number;
private var m212:Number;
private var m214:Number;
private var suv:Number;
private var suw:Number;
private var zz:Number;
private var su:Number;
private var sv:Number;
private var m221:Number;
private var m222:Number;
private var m224:Number;
private var sw:Number;
private var m:Matrix3D;
private var d:Number;
private var svw:Number;
private var m223:Number;
private var w:Number;
private var y:Number;
private var z:Number;
private var x:Number;
private var m231:Number;
public var tx:Number;
public var ty:Number;
public var tz:Number;
private var m114:Number;
var _position:Number3D;
private var m111:Number;
private var m112:Number;
private var m113:Number;
private var m232:Number;
private var m233:Number;
private var m234:Number;
private var nSin:Number;
private var m121:Number;
private var m123:Number;
private var m122:Number;
private var m124:Number;
public var sxx:Number;
public var sxy:Number;
public var sxz:Number;
private var m131:Number;
private var m132:Number;
private var m133:Number;
private var m134:Number;
public var syx:Number;
public var syy:Number;
public var syz:Number;
public var szx:Number;
public var szy:Number;
public var szz:Number;
private var xw:Number;
private static const toDEGREES:Number = (180 / Math.PI);
private static const toRADIANS:Number = (Math.PI / 180);
public function Matrix3D(){
_position = new Number3D();
super();
sxx = (syy = (szz = 1));
sxy = (sxz = (tx = (syx = (syz = (ty = (szx = (szy = (tz = 0))))))));
}
public function get det():Number{
return ((((((sxx * syy) - (syx * sxy)) * szz) - (((sxx * szy) - (szx * sxy)) * syz)) + (((syx * szy) - (szx * syy)) * sxz)));
}
public function multiply(_arg1:Matrix3D, _arg2:Matrix3D):void{
m111 = _arg1.sxx;
m211 = _arg2.sxx;
m121 = _arg1.syx;
m221 = _arg2.syx;
m131 = _arg1.szx;
m231 = _arg2.szx;
m112 = _arg1.sxy;
m212 = _arg2.sxy;
m122 = _arg1.syy;
m222 = _arg2.syy;
m132 = _arg1.szy;
m232 = _arg2.szy;
m113 = _arg1.sxz;
m213 = _arg2.sxz;
m123 = _arg1.syz;
m223 = _arg2.syz;
m133 = _arg1.szz;
m233 = _arg2.szz;
m114 = _arg1.tx;
m214 = _arg2.tx;
m124 = _arg1.ty;
m224 = _arg2.ty;
m134 = _arg1.tz;
m234 = _arg2.tz;
sxx = (((m111 * m211) + (m112 * m221)) + (m113 * m231));
sxy = (((m111 * m212) + (m112 * m222)) + (m113 * m232));
sxz = (((m111 * m213) + (m112 * m223)) + (m113 * m233));
tx = ((((m111 * m214) + (m112 * m224)) + (m113 * m234)) + m114);
syx = (((m121 * m211) + (m122 * m221)) + (m123 * m231));
syy = (((m121 * m212) + (m122 * m222)) + (m123 * m232));
syz = (((m121 * m213) + (m122 * m223)) + (m123 * m233));
ty = ((((m121 * m214) + (m122 * m224)) + (m123 * m234)) + m124);
szx = (((m131 * m211) + (m132 * m221)) + (m133 * m231));
szy = (((m131 * m212) + (m132 * m222)) + (m133 * m232));
szz = (((m131 * m213) + (m132 * m223)) + (m133 * m233));
tz = ((((m131 * m214) + (m132 * m224)) + (m133 * m234)) + m134);
}
public function get position():Number3D{
_position.x = tx;
_position.y = ty;
_position.z = tz;
return (_position);
}
public function inverse(_arg1:Matrix3D):void{
d = _arg1.det;
if (Math.abs(d) < 0.001){
return;
};
d = (1 / d);
m111 = _arg1.sxx;
m121 = _arg1.syx;
m131 = _arg1.szx;
m112 = _arg1.sxy;
m122 = _arg1.syy;
m132 = _arg1.szy;
m113 = _arg1.sxz;
m123 = _arg1.syz;
m133 = _arg1.szz;
m114 = _arg1.tx;
m124 = _arg1.ty;
m134 = _arg1.tz;
sxx = (d * ((m122 * m133) - (m132 * m123)));
sxy = (-(d) * ((m112 * m133) - (m132 * m113)));
sxz = (d * ((m112 * m123) - (m122 * m113)));
tx = (-(d) * (((m112 * ((m123 * m134) - (m133 * m124))) - (m122 * ((m113 * m134) - (m133 * m114)))) + (m132 * ((m113 * m124) - (m123 * m114)))));
syx = (-(d) * ((m121 * m133) - (m131 * m123)));
syy = (d * ((m111 * m133) - (m131 * m113)));
syz = (-(d) * ((m111 * m123) - (m121 * m113)));
ty = (d * (((m111 * ((m123 * m134) - (m133 * m124))) - (m121 * ((m113 * m134) - (m133 * m114)))) + (m131 * ((m113 * m124) - (m123 * m114)))));
szx = (d * ((m121 * m132) - (m131 * m122)));
szy = (-(d) * ((m111 * m132) - (m131 * m112)));
szz = (d * ((m111 * m122) - (m121 * m112)));
tz = (-(d) * (((m111 * ((m122 * m134) - (m132 * m124))) - (m121 * ((m112 * m134) - (m132 * m114)))) + (m131 * ((m112 * m124) - (m122 * m114)))));
}
public function scale(_arg1:Number, _arg2:Number, _arg3:Number):void{
sxx = (sxx * _arg1);
syx = (syx * _arg1);
szx = (szx * _arg1);
sxy = (sxy * _arg2);
syy = (syy * _arg2);
szy = (szy * _arg2);
sxz = (sxz * _arg3);
syz = (syz * _arg3);
szz = (szz * _arg3);
}
public function clone():Matrix3D{
m = new Matrix3D();
m.sxx = sxx;
m.sxy = sxy;
m.sxz = sxz;
m.tx = tx;
m.syx = syx;
m.syy = syy;
m.syz = syz;
m.ty = ty;
m.szx = szx;
m.szy = szy;
m.szz = szz;
m.tz = tz;
return (m);
}
public function toString():String{
var _local1:String;
_local1 = "";
_local1 = (_local1 + ((((((((int((sxx * 1000)) / 1000) + "\t\t") + (int((sxy * 1000)) / 1000)) + "\t\t") + (int((sxz * 1000)) / 1000)) + "\t\t") + (int((tx * 1000)) / 1000)) + "\n"));
_local1 = (_local1 + ((((((((int((syx * 1000)) / 1000) + "\t\t") + (int((syy * 1000)) / 1000)) + "\t\t") + (int((syz * 1000)) / 1000)) + "\t\t") + (int((ty * 1000)) / 1000)) + "\n"));
_local1 = (_local1 + ((((((((int((szx * 1000)) / 1000) + "\t\t") + (int((szy * 1000)) / 1000)) + "\t\t") + (int((szz * 1000)) / 1000)) + "\t\t") + (int((tz * 1000)) / 1000)) + "\n"));
return (_local1);
}
public function matrix2euler():Number3D{
var _local1:Number3D;
var _local2:Number;
var _local3:Number;
var _local4:Number;
var _local5:Number;
_local1 = new Number3D();
_local2 = -(Math.asin(Math.max(-1, Math.min(1, sxz))));
_local3 = Math.cos(_local2);
_local1.y = (_local2 * toDEGREES);
if (Math.abs(_local3) > 0.005){
_local4 = (szz / _local3);
_local5 = (-(syz) / _local3);
_local1.x = (Math.atan2(_local5, _local4) * toDEGREES);
_local4 = (sxx / _local3);
_local5 = (-(sxy) / _local3);
_local1.z = (Math.atan2(_local5, _local4) * toDEGREES);
} else {
_local1.x = 0;
_local4 = syy;
_local5 = syx;
_local1.z = (Math.atan2(_local5, _local4) * toDEGREES);
};
return (_local1);
}
public function multiply3x3(_arg1:Matrix3D, _arg2:Matrix3D):void{
m111 = _arg1.sxx;
m211 = _arg2.sxx;
m121 = _arg1.syx;
m221 = _arg2.syx;
m131 = _arg1.szx;
m231 = _arg2.szx;
m112 = _arg1.sxy;
m212 = _arg2.sxy;
m122 = _arg1.syy;
m222 = _arg2.syy;
m132 = _arg1.szy;
m232 = _arg2.szy;
m113 = _arg1.sxz;
m213 = _arg2.sxz;
m123 = _arg1.syz;
m223 = _arg2.syz;
m133 = _arg1.szz;
m233 = _arg2.szz;
sxx = (((m111 * m211) + (m112 * m221)) + (m113 * m231));
sxy = (((m111 * m212) + (m112 * m222)) + (m113 * m232));
sxz = (((m111 * m213) + (m112 * m223)) + (m113 * m233));
syx = (((m121 * m211) + (m122 * m221)) + (m123 * m231));
syy = (((m121 * m212) + (m122 * m222)) + (m123 * m232));
syz = (((m121 * m213) + (m122 * m223)) + (m123 * m233));
szx = (((m131 * m211) + (m132 * m221)) + (m133 * m231));
szy = (((m131 * m212) + (m132 * m222)) + (m133 * m232));
szz = (((m131 * m213) + (m132 * m223)) + (m133 * m233));
tx = _arg1.tx;
ty = _arg1.ty;
tz = _arg1.tz;
}
public function copy3x3(_arg1:Matrix3D):Matrix3D{
sxx = _arg1.sxx;
sxy = _arg1.sxy;
sxz = _arg1.sxz;
syx = _arg1.syx;
syy = _arg1.syy;
syz = _arg1.syz;
szx = _arg1.szx;
szy = _arg1.szy;
szz = _arg1.szz;
return (this);
}
public function scaleMatrix(_arg1:Number, _arg2:Number, _arg3:Number):void{
tx = (sxy = (sxz = 0));
syz = (ty = (syz = 0));
szx = (szy = (tz = 0));
sxx = _arg1;
syy = _arg2;
szz = _arg3;
}
public function quaternion2matrix(_arg1:Quaternion):void{
x = _arg1.x;
y = _arg1.y;
z = _arg1.z;
w = _arg1.w;
xx = (x * x);
xy = (x * y);
xz = (x * z);
xw = (x * w);
yy = (y * y);
yz = (y * z);
yw = (y * w);
zz = (z * z);
zw = (z * w);
sxx = (1 - (2 * (yy + zz)));
sxy = (2 * (xy - zw));
sxz = (2 * (xz + yw));
syx = (2 * (xy + zw));
syy = (1 - (2 * (xx + zz)));
syz = (2 * (yz - xw));
szx = (2 * (xz - yw));
szy = (2 * (yz + xw));
szz = (1 - (2 * (xx + yy)));
}
public function translationMatrix(_arg1:Number, _arg2:Number, _arg3:Number):void{
sxx = (syy = (szz = 1));
sxy = (sxz = (syz = (syz = (szx = (szy = 0)))));
tx = _arg1;
ty = _arg2;
tz = _arg3;
}
public function rotationMatrix(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
nCos = Math.cos(_arg4);
nSin = Math.sin(_arg4);
scos = (1 - nCos);
suv = ((_arg1 * _arg2) * scos);
svw = ((_arg2 * _arg3) * scos);
suw = ((_arg1 * _arg3) * scos);
sw = (nSin * _arg3);
sv = (nSin * _arg2);
su = (nSin * _arg1);
sxx = (nCos + ((_arg1 * _arg1) * scos));
sxy = (-(sw) + suv);
sxz = (sv + suw);
syx = (sw + suv);
syy = (nCos + ((_arg2 * _arg2) * scos));
syz = (-(su) + svw);
szx = (-(sv) + suw);
szy = (su + svw);
szz = (nCos + ((_arg3 * _arg3) * scos));
}
public function array2matrix(_arg1:Array):void{
if (_arg1.length >= 12){
sxx = _arg1[0];
sxy = _arg1[1];
sxz = _arg1[2];
tx = _arg1[3];
syx = _arg1[4];
syy = _arg1[5];
syz = _arg1[6];
ty = _arg1[7];
szx = _arg1[8];
szy = _arg1[9];
szz = _arg1[10];
tz = _arg1[11];
};
}
}
}//package away3d.core.math
Section 47
//Number2D (away3d.core.math.Number2D)
package away3d.core.math {
public final class Number2D {
public var x:Number;
public var y:Number;
public static var LEFT:Number2D = new Number2D(-1, 0);
;
public static var DOWN:Number2D = new Number2D(0, -1);
;
public static var UP:Number2D = new Number2D(0, 1);
;
public static var RIGHT:Number2D = new Number2D(1, 0);
;
public function Number2D(_arg1:Number=0, _arg2:Number=0){
this.x = _arg1;
this.y = _arg2;
}
public function normalize():void{
var _local1:Number;
_local1 = modulo;
if (((!((_local1 == 0))) && (!((_local1 == 1))))){
this.x = (this.x / _local1);
this.y = (this.y / _local1);
};
}
public function get modulo():Number{
return (Math.sqrt(((x * x) + (y * y))));
}
public function toString():String{
return (((("x:" + x) + " y:") + y));
}
public function clone():Number2D{
return (new Number2D(x, y));
}
public static function sub(_arg1:Number2D, _arg2:Number2D):Number2D{
return (new Number2D((_arg1.x - _arg2.x), (_arg1.y - _arg2.y)));
}
public static function add(_arg1:Number3D, _arg2:Number3D):Number2D{
return (new Number2D((_arg1.x + _arg2.x), (_arg1.y + _arg2.y)));
}
public static function scale(_arg1:Number2D, _arg2:Number):Number2D{
return (new Number2D((_arg1.x * _arg2), (_arg1.y * _arg2)));
}
public static function dot(_arg1:Number2D, _arg2:Number2D):Number{
return (((_arg1.x * _arg2.x) + (_arg1.y * _arg2.y)));
}
}
}//package away3d.core.math
Section 48
//Number3D (away3d.core.math.Number3D)
package away3d.core.math {
public final class Number3D {
private var mod:Number;
private var num:Number3D;
private var dist:Number;
public var x:Number;
public var y:Number;
public var z:Number;
public static var BACKWARD:Number3D = new Number3D(0, 0, -1);
;
public static var FORWARD:Number3D = new Number3D(0, 0, 1);
;
public static var LEFT:Number3D = new Number3D(-1, 0, 0);
;
public static var DOWN:Number3D = new Number3D(0, -1, 0);
;
public static var UP:Number3D = new Number3D(0, 1, 0);
;
public static var RIGHT:Number3D = new Number3D(1, 0, 0);
;
public function Number3D(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Boolean=false){
this.x = _arg1;
this.y = _arg2;
this.z = _arg3;
if (_arg4){
normalize();
};
}
public function sub(_arg1:Number3D, _arg2:Number3D):void{
x = (_arg1.x - _arg2.x);
y = (_arg1.y - _arg2.y);
z = (_arg1.z - _arg2.z);
}
public function cross(_arg1:Number3D, _arg2:Number3D):void{
if ((((this == _arg1)) || ((this == _arg2)))){
throw (new Error("resultant cross product cannot be the same instance as an input"));
};
x = ((_arg2.y * _arg1.z) - (_arg2.z * _arg1.y));
y = ((_arg2.z * _arg1.x) - (_arg2.x * _arg1.z));
z = ((_arg2.x * _arg1.y) - (_arg2.y * _arg1.x));
}
public function dot(_arg1:Number3D):Number{
return ((((x * _arg1.x) + (y * _arg1.y)) + (z * _arg1.z)));
}
public function scale(_arg1:Number3D, _arg2:Number):void{
x = (_arg1.x * _arg2);
y = (_arg1.y * _arg2);
z = (_arg1.z * _arg2);
}
public function normalize(_arg1:Number=1):void{
mod = (modulo / _arg1);
if (((!((mod == 0))) && (!((mod == 1))))){
x = (x / mod);
y = (y / mod);
z = (z / mod);
};
}
public function closestPointOnPlane(_arg1:Number3D, _arg2:Number3D, _arg3:Number3D):Number3D{
if (!num){
num = new Number3D();
};
num.sub(_arg1, _arg2);
dist = _arg3.dot(num);
num.scale(_arg3, dist);
num.sub(_arg1, num);
return (num);
}
public function rotate(_arg1:Number3D, _arg2:Matrix3D):void{
x = (((_arg1.x * _arg2.sxx) + (_arg1.y * _arg2.sxy)) + (_arg1.z * _arg2.sxz));
y = (((_arg1.x * _arg2.syx) + (_arg1.y * _arg2.syy)) + (_arg1.z * _arg2.syz));
z = (((_arg1.x * _arg2.szx) + (_arg1.y * _arg2.szy)) + (_arg1.z * _arg2.szz));
}
public function getAngle(_arg1:Number3D=null):Number{
if (_arg1 == null){
_arg1 = new Number3D();
};
return (Math.acos((dot(_arg1) / (modulo * _arg1.modulo))));
}
public function add(_arg1:Number3D, _arg2:Number3D):void{
x = (_arg1.x + _arg2.x);
y = (_arg1.y + _arg2.y);
z = (_arg1.z + _arg2.z);
}
public function clone():Number3D{
return (new Number3D(x, y, z));
}
public function transform(_arg1:Number3D, _arg2:Matrix3D):void{
x = ((((_arg1.x * _arg2.sxx) + (_arg1.y * _arg2.sxy)) + (_arg1.z * _arg2.sxz)) + _arg2.tx);
y = ((((_arg1.x * _arg2.syx) + (_arg1.y * _arg2.syy)) + (_arg1.z * _arg2.syz)) + _arg2.ty);
z = ((((_arg1.x * _arg2.szx) + (_arg1.y * _arg2.szy)) + (_arg1.z * _arg2.szz)) + _arg2.tz);
}
public function distance(_arg1:Number3D):Number{
return (Math.sqrt(((((x - _arg1.x) * (x - _arg1.x)) + ((y - _arg1.y) * (y - _arg1.y))) + ((z - _arg1.z) * (z - _arg1.z)))));
}
public function get modulo():Number{
return (Math.sqrt((((x * x) + (y * y)) + (z * z))));
}
public function toString():String{
return (((((("x:" + x) + " y:") + y) + " z:") + z));
}
public function get modulo2():Number{
return ((((x * x) + (y * y)) + (z * z)));
}
}
}//package away3d.core.math
Section 49
//Quaternion (away3d.core.math.Quaternion)
package away3d.core.math {
public final class Quaternion {
private var fSinYaw:Number;
public var w:Number;
public var z:Number;
var z2:Number;
var w1:Number;
var w2:Number;
var cos_a:Number;
private var fSinRoll:Number;
var x1:Number;
var x2:Number;
var sin_a:Number;
private var fCosPitchCosYaw:Number;
private var fSinPitch:Number;
var y1:Number;
var y2:Number;
private var fCosRoll:Number;
private var fSinPitchSinYaw:Number;
private var fCosYaw:Number;
private var q:Quaternion;
var z1:Number;
public var x:Number;
public var y:Number;
private var fCosPitch:Number;
public function normalize(_arg1:Number=1):void{
var _local2:Number;
_local2 = (magnitude * _arg1);
x = (x / _local2);
y = (y / _local2);
z = (z / _local2);
w = (w / _local2);
}
public function axis2quaternion(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):void{
sin_a = Math.sin((_arg4 / 2));
cos_a = Math.cos((_arg4 / 2));
this.x = (_arg1 * sin_a);
this.y = (_arg2 * sin_a);
this.z = (_arg3 * sin_a);
w = cos_a;
normalize();
}
public function get magnitude():Number{
return (Math.sqrt(((((w * w) + (x * x)) + (y * y)) + (z * z))));
}
public function multiply(_arg1:Quaternion, _arg2:Quaternion):void{
w1 = _arg1.w;
x1 = _arg1.x;
y1 = _arg1.y;
z1 = _arg1.z;
w2 = _arg2.w;
x2 = _arg2.x;
y2 = _arg2.y;
z2 = _arg2.z;
w = ((((w1 * w2) - (x1 * x2)) - (y1 * y2)) - (z1 * z2));
x = ((((w1 * x2) + (x1 * w2)) + (y1 * z2)) - (z1 * y2));
y = ((((w1 * y2) + (y1 * w2)) + (z1 * x2)) - (x1 * z2));
z = ((((w1 * z2) + (z1 * w2)) + (x1 * y2)) - (y1 * x2));
}
public function euler2quaternion(_arg1:Number, _arg2:Number, _arg3:Number):void{
fSinPitch = Math.sin((_arg1 * 0.5));
fCosPitch = Math.cos((_arg1 * 0.5));
fSinYaw = Math.sin((_arg2 * 0.5));
fCosYaw = Math.cos((_arg2 * 0.5));
fSinRoll = Math.sin((_arg3 * 0.5));
fCosRoll = Math.cos((_arg3 * 0.5));
fCosPitchCosYaw = (fCosPitch * fCosYaw);
fSinPitchSinYaw = (fSinPitch * fSinYaw);
x = ((fSinRoll * fCosPitchCosYaw) - (fCosRoll * fSinPitchSinYaw));
y = (((fCosRoll * fSinPitch) * fCosYaw) + ((fSinRoll * fCosPitch) * fSinYaw));
z = (((fCosRoll * fCosPitch) * fSinYaw) - ((fSinRoll * fSinPitch) * fCosYaw));
w = ((fCosRoll * fCosPitchCosYaw) + (fSinRoll * fSinPitchSinYaw));
}
public function toString():String{
return ((((((((("{x:" + x) + " y:") + y) + " z:") + z) + " w:") + w) + "}"));
}
}
}//package away3d.core.math
Section 50
//AbstractRenderSession (away3d.core.render.AbstractRenderSession)
package away3d.core.render {
import flash.utils.*;
import flash.display.*;
import away3d.core.draw.*;
import away3d.core.light.*;
import away3d.core.base.*;
import away3d.containers.*;
import flash.geom.*;
public class AbstractRenderSession {
var doActive:Array;
protected var _view:View3D;
protected var ty:Number;
protected var a2:Number;
protected var graphics:Graphics;
protected var b2:Number;
protected var tx:Number;
var doStore:Array;
var session:AbstractRenderSession;
protected var _layerDirty:Boolean;
protected var _lightarray:LightArray;
public var sessions:Dictionary;
protected var c2:Number;
protected var _renderSource:Object3D;
protected var _containers:Dictionary;
protected var v0x:Number;
protected var v0y:Number;
public var time:int;
protected var d2:Number;
protected var v1x:Number;
protected var v1y:Number;
protected var a:Number;
protected var c:Number;
protected var d:Number;
protected var m:Matrix;
protected var b:Number;
protected var v2x:Number;
protected var v2y:Number;
public var children:Dictionary;
public function AbstractRenderSession(){
_containers = new Dictionary(true);
sessions = new Dictionary(true);
doStore = new Array();
doActive = new Array();
children = new Dictionary(true);
m = new Matrix();
super();
}
public function set lightarray(_arg1:LightArray):void{
_lightarray = _arg1;
}
public function get lightarray():LightArray{
return (_lightarray);
}
public function renderTriangleBitmap(_arg1:BitmapData, _arg2:Matrix, _arg3:ScreenVertex, _arg4:ScreenVertex, _arg5:ScreenVertex, _arg6:Boolean, _arg7:Boolean, _arg8:Graphics=null):void{
throw (new Error("Not implemented"));
}
public function addDisplayObject(_arg1:DisplayObject):void{
throw (new Error("Not implemented"));
}
public function get container():DisplayObject{
throw (new Error("Not implemented"));
}
public function clone():AbstractRenderSession{
throw (new Error("Not implemented"));
}
public function flush():void{
for each (session in sessions) {
session.flush();
};
}
public function renderLine(_arg1:ScreenVertex, _arg2:ScreenVertex, _arg3:Number, _arg4:uint, _arg5:Number):void{
throw (new Error("Not implemented"));
}
public function get customGraphics():Graphics{
throw (new Error("Not implemented"));
}
public function get view():View3D{
return (_view);
}
public function registerChildSession(_arg1:AbstractRenderSession):void{
if (!sessions[_arg1]){
sessions[_arg1] = _arg1;
};
}
public function renderTriangleColor(_arg1:int, _arg2:Number, _arg3:ScreenVertex, _arg4:ScreenVertex, _arg5:ScreenVertex):void{
throw (new Error("Not implemented"));
}
public function set view(_arg1:View3D):void{
_view = _arg1;
time = getTimer();
}
public function renderTriangleLine(_arg1:Number, _arg2:int, _arg3:Number, _arg4:ScreenVertex, _arg5:ScreenVertex, _arg6:ScreenVertex):void{
throw (new Error("Not implemented"));
}
public function clear():void{
for each (session in sessions) {
session.clear();
};
}
public function renderScaledBitmap(_arg1:DrawScaledBitmap, _arg2:BitmapData, _arg3:Matrix, _arg4:Boolean=false):void{
throw (new Error("Not implemented"));
}
public function renderBitmap(_arg1:BitmapData, _arg2:ScreenVertex, _arg3:Boolean=false):void{
throw (new Error("Not implemented"));
}
public function renderTriangleLineFill(_arg1:Number, _arg2:int, _arg3:Number, _arg4:int, _arg5:Number, _arg6:ScreenVertex, _arg7:ScreenVertex, _arg8:ScreenVertex):void{
throw (new Error("Not implemented"));
}
public function renderFogColor(_arg1:int, _arg2:Number):void{
throw (new Error("Not implemented"));
}
}
}//package away3d.core.render
Section 51
//BasicRenderer (away3d.core.render.BasicRenderer)
package away3d.core.render {
import flash.utils.*;
import flash.display.*;
import away3d.materials.*;
import flash.events.*;
import away3d.core.draw.*;
import away3d.core.light.*;
import away3d.core.base.*;
import away3d.containers.*;
import flash.geom.*;
import away3d.cameras.*;
import away3d.core.block.*;
import away3d.core.traverse.*;
import away3d.core.filter.*;
import away3d.core.stats.*;
import away3d.core.*;
public class BasicRenderer implements IRenderer {
protected var blockers:Array;
protected var projtraverser:ProjectionTraverser;
protected var materials:Dictionary;
protected var triangle:DrawTriangle;
protected var scene:Scene3D;
protected var lightarray:LightArray;
protected var blocktraverser:BlockerTraverser;
protected var _session:AbstractRenderSession;
protected var priarray:PrimitiveArray;
protected var blockerarray:BlockerArray;
protected var object:Object;
protected var camera:Camera3D;
private var clip:Clipping;
protected var primitives:Array;
protected var filter:IPrimitiveFilter;
protected var pritraverser:PrimitiveTraverser;
protected var filters:Array;
protected var primitive:DrawPrimitive;
public function BasicRenderer(... _args){
projtraverser = new ProjectionTraverser();
blockerarray = new BlockerArray();
blocktraverser = new BlockerTraverser();
priarray = new PrimitiveArray();
lightarray = new LightArray();
pritraverser = new PrimitiveTraverser();
super();
this.filters = _args;
this.filters.push(new ZSortFilter());
}
public function desc():String{
return ((("Basic [" + filters.join("+")) + "]"));
}
public function render(_arg1:View3D):Array{
scene = _arg1.scene;
camera = _arg1.camera;
clip = _arg1.clip;
projtraverser.view = _arg1;
scene.traverse(projtraverser);
blockerarray.clip = clip;
blocktraverser.consumer = blockerarray;
blocktraverser.view = _arg1;
scene.traverse(blocktraverser);
blockers = blockerarray.list();
lightarray.clear();
_session.view = _arg1;
_session.lightarray = lightarray;
priarray.clip = clip;
priarray.blockers = blockers;
pritraverser.consumer = priarray;
pritraverser.session = _session;
scene.traverse(pritraverser);
primitives = priarray.list();
for each (filter in filters) {
primitives = filter.filter(primitives, scene, camera, clip);
};
materials = new Dictionary();
for each (primitive in primitives) {
if ((primitive is DrawTriangle)){
triangle = (primitive as DrawTriangle);
if ((((triangle.material is IUpdatingMaterial)) && (!(materials[triangle.source])))){
(materials[triangle.source] = (triangle.material as IUpdatingMaterial)).updateMaterial(triangle.source, _arg1);
};
};
};
for each (primitive in primitives) {
primitive.render();
};
if (_arg1.statsOpen){
_arg1.statsPanel.updateStats(primitives.length, camera);
};
return (primitives);
}
public function get renderSession():AbstractRenderSession{
return (this._session);
}
public function set renderSession(_arg1:AbstractRenderSession):void{
this._session = _arg1;
}
public function stats():String{
return ("");
}
}
}//package away3d.core.render
Section 52
//BitmapRenderSession (away3d.core.render.BitmapRenderSession)
package away3d.core.render {
import flash.utils.*;
import flash.display.*;
import away3d.core.draw.*;
import away3d.core.base.*;
import away3d.containers.*;
import flash.geom.*;
import flash.filters.*;
public class BitmapRenderSession extends AbstractRenderSession {
private var _container:Bitmap;
private var _cx:Number;
private var _cy:Number;
private var newCanvas:Bitmap;
private var _output:BitmapData;
var sourceBitmap:BitmapData;
var cont:BitmapData;
private var _transparency:Boolean;
private var _height:uint;
private var _shapeDirty:Boolean;
private var lastSource:Object3D;
var layer:DisplayObject;
var layers:Array;
var i:int;
var filter:BitmapFilter;
public var cm:Matrix;
private var shape:Shape;
private var _base:BitmapData;
private var _clearColor:uint;
private var _width:uint;
var filterBitmap:BitmapData;
var zeroPoint:Point;
public function BitmapRenderSession(_arg1:Number, _arg2:Number, _arg3:Boolean, _arg4:uint){
shape = new Shape();
layers = [];
zeroPoint = new Point();
super();
_width = _arg1;
_height = _arg2;
_clearColor = _arg4;
_transparency = _arg3;
graphics = shape.graphics;
cm = new Matrix();
cm.translate((_arg1 / 2), (_arg2 / 2));
}
override public function flush():void{
super.flush();
if (_shapeDirty){
commitShape();
};
for each (layer in layers) {
if ((layer is Bitmap)){
sourceBitmap = (layer as Bitmap).bitmapData;
if (layer.filters.length){
if (!filterBitmap){
filterBitmap = new BitmapData(_base.width, _base.height, _transparency, _clearColor);
filterBitmap.lock();
};
for each (filter in layer.filters) {
filterBitmap.applyFilter(sourceBitmap, sourceBitmap.rect, zeroPoint, filter);
if (layer.blendMode != BlendMode.NORMAL){
sourceBitmap.draw(filterBitmap, null, null, layer.blendMode);
} else {
sourceBitmap.copyPixels(filterBitmap, sourceBitmap.rect, zeroPoint);
};
};
};
_base.draw(sourceBitmap);
} else {
_base.draw(layer, cm);
};
};
_base.unlock();
_output = _base;
}
override public function get customGraphics():Graphics{
if (_shapeDirty){
commitShape();
};
lastSource = null;
return (graphics);
}
override public function renderTriangleColor(_arg1:int, _arg2:Number, _arg3:ScreenVertex, _arg4:ScreenVertex, _arg5:ScreenVertex):void{
if (_layerDirty){
createLayer();
};
graphics.moveTo(_arg3.x, _arg3.y);
graphics.beginFill(_arg1, _arg2);
graphics.lineTo(_arg4.x, _arg4.y);
graphics.lineTo(_arg5.x, _arg5.y);
graphics.endFill();
_shapeDirty = true;
}
override public function set view(_arg1:View3D):void{
super.view = _arg1;
if (!_containers[_view]){
_containers[_view] = new Bitmap(new BitmapData(_width, _height, _transparency, _clearColor));
};
_container = _containers[_view];
_cx = (_container.x = (-(_width) / 2));
_cy = (_container.y = (-(_height) / 2));
_output = (_base = _container.bitmapData);
}
override public function clear():void{
super.clear();
graphics.clear();
_base.lock();
_base.fillRect(_base.rect, _clearColor);
i = doActive.length;
for each (newCanvas in doActive) {
cont = newCanvas.bitmapData;
cont.fillRect(cont.rect, _clearColor);
doStore.push(doActive.pop());
};
children = new Dictionary(true);
layers = [];
}
override public function clone():AbstractRenderSession{
return (new BitmapRenderSession(_output.width, _output.height, _transparency, _clearColor));
}
override public function renderBitmap(_arg1:BitmapData, _arg2:ScreenVertex, _arg3:Boolean=false):void{
if (_shapeDirty){
commitShape();
};
m.identity();
m.tx = ((_arg2.x - (_arg1.width / 2)) + _cx);
m.ty = ((_arg2.y - (_arg1.height / 2)) + _cy);
_output.draw(_arg1, m, null, null, null, _arg3);
}
override public function renderTriangleLineFill(_arg1:Number, _arg2:int, _arg3:Number, _arg4:int, _arg5:Number, _arg6:ScreenVertex, _arg7:ScreenVertex, _arg8:ScreenVertex):void{
if (_layerDirty){
createLayer();
};
if (_arg5 > 0){
graphics.lineStyle(_arg1, _arg4, _arg5);
};
graphics.moveTo(_arg6.x, _arg6.y);
if (_arg3 > 0){
graphics.beginFill(_arg2, _arg3);
};
graphics.lineTo(_arg7.x, _arg7.y);
graphics.lineTo(_arg8.x, _arg8.y);
if (_arg5 > 0){
graphics.lineTo(_arg6.x, _arg6.y);
graphics.lineStyle();
};
if (_arg3 > 0){
graphics.endFill();
};
_shapeDirty = true;
}
public function get bitmapData():BitmapData{
return (_base);
}
override public function addDisplayObject(_arg1:DisplayObject):void{
if (_shapeDirty){
commitShape();
};
children[_arg1] = _arg1;
layers.push(_arg1);
_arg1.visible = true;
_layerDirty = true;
}
override public function get container():DisplayObject{
return (_container);
}
override public function renderTriangleBitmap(_arg1:BitmapData, _arg2:Matrix, _arg3:ScreenVertex, _arg4:ScreenVertex, _arg5:ScreenVertex, _arg6:Boolean, _arg7:Boolean, _arg8:Graphics=null):void{
if (_layerDirty){
createLayer();
};
a2 = ((v1x = _arg4.x) - (v0x = _arg3.x));
b2 = ((v1y = _arg4.y) - (v0y = _arg3.y));
c2 = ((v2x = _arg5.x) - v0x);
d2 = ((v2y = _arg5.y) - v0y);
m.a = (((a = _arg2.a) * a2) + ((b = _arg2.b) * c2));
m.b = ((a * b2) + (b * d2));
m.c = (((c = _arg2.c) * a2) + ((d = _arg2.d) * c2));
m.d = ((c * b2) + (d * d2));
m.tx = ((((tx = _arg2.tx) * a2) + ((ty = _arg2.ty) * c2)) + v0x);
m.ty = (((tx * b2) + (ty * d2)) + v0y);
if (_arg8){
_arg8.moveTo(v0x, v0y);
_arg8.beginBitmapFill(_arg1, m, _arg7, ((_arg6) && (((((v0x * (d2 - b2)) - (v1x * d2)) + (v2x * b2)) > 400))));
_arg8.lineTo(v1x, v1y);
_arg8.lineTo(v2x, v2y);
_arg8.endFill();
} else {
graphics.moveTo(v0x, v0y);
graphics.beginBitmapFill(_arg1, m, _arg7, ((_arg6) && (((((v0x * (d2 - b2)) - (v1x * d2)) + (v2x * b2)) > 400))));
graphics.lineTo(v1x, v1y);
graphics.lineTo(v2x, v2y);
graphics.endFill();
};
_shapeDirty = true;
}
override public function renderLine(_arg1:ScreenVertex, _arg2:ScreenVertex, _arg3:Number, _arg4:uint, _arg5:Number):void{
if (_layerDirty){
createLayer();
};
graphics.lineStyle(_arg3, _arg4, _arg5);
graphics.moveTo(_arg1.x, _arg1.y);
graphics.lineTo(_arg2.x, _arg2.y);
graphics.lineStyle();
_shapeDirty = true;
}
private function commitShape():void{
_output.draw(shape, cm);
graphics.clear();
_shapeDirty = false;
}
override public function renderTriangleLine(_arg1:Number, _arg2:int, _arg3:Number, _arg4:ScreenVertex, _arg5:ScreenVertex, _arg6:ScreenVertex):void{
if (_layerDirty){
createLayer();
};
graphics.lineStyle(_arg1, _arg2, _arg3);
graphics.moveTo((v0x = _arg4.x), (v0y = _arg4.y));
graphics.lineTo(_arg5.x, _arg5.y);
graphics.lineTo(_arg6.x, _arg6.y);
graphics.lineTo(v0x, v0y);
graphics.lineStyle();
_shapeDirty = true;
}
private function createLayer():void{
if (doStore.length){
newCanvas = doStore.pop();
_output = newCanvas.bitmapData;
} else {
_output = new BitmapData(_base.width, _base.height, _transparency, _clearColor);
_output.lock();
newCanvas = new Bitmap(_output);
};
doActive.push(newCanvas);
layers.push(newCanvas);
_layerDirty = false;
}
override public function renderScaledBitmap(_arg1:DrawScaledBitmap, _arg2:BitmapData, _arg3:Matrix, _arg4:Boolean=false):void{
if (_shapeDirty){
commitShape();
};
_arg3.tx = (_arg3.tx - _cx);
_arg3.ty = (_arg3.ty - _cy);
_output.draw(_arg2, _arg3, null, null, null, _arg4);
}
override public function renderFogColor(_arg1:int, _arg2:Number):void{
if (_layerDirty){
createLayer();
};
graphics.lineStyle();
graphics.beginFill(_arg1, _arg2);
graphics.drawRect(_view.clip.minX, _view.clip.minY, (_view.clip.maxX - _view.clip.minX), (_view.clip.maxY - _view.clip.minY));
graphics.endFill();
}
}
}//package away3d.core.render
Section 53
//Clipping (away3d.core.render.Clipping)
package away3d.core.render {
import flash.display.*;
import away3d.core.draw.*;
import flash.geom.*;
public class Clipping {
var zeroPoint:Point;
public var minX:Number;// = -1000000
public var minY:Number;// = -1000000
var globalPoint:Point;
var rectangleClipping:RectangleClipping;
public var maxX:Number;// = 1000000
public var maxY:Number;// = 1000000
public function Clipping(){
minX = -1000000;
minY = -1000000;
maxX = 1000000;
maxY = 1000000;
zeroPoint = new Point(0, 0);
super();
}
public function rect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Boolean{
return (true);
}
public function check(_arg1:DrawPrimitive):Boolean{
return (true);
}
public function screen(_arg1:Sprite):Clipping{
if (_arg1.stage.align == StageAlign.TOP_LEFT){
if (!rectangleClipping){
rectangleClipping = new RectangleClipping();
};
globalPoint = _arg1.globalToLocal(zeroPoint);
rectangleClipping.maxX = ((rectangleClipping.minX = globalPoint.x) + _arg1.stage.stageWidth);
rectangleClipping.maxY = ((rectangleClipping.minY = globalPoint.y) + _arg1.stage.stageHeight);
return (rectangleClipping);
//unresolved jump
};
return (this);
}
public function asRectangleClipping():RectangleClipping{
if (!rectangleClipping){
rectangleClipping = new RectangleClipping();
};
rectangleClipping.minX = -1000000;
rectangleClipping.minY = -1000000;
rectangleClipping.maxX = 1000000;
rectangleClipping.maxY = 1000000;
return (rectangleClipping);
}
}
}//package away3d.core.render
Section 54
//FindHit (away3d.core.render.FindHit)
package away3d.core.render {
import away3d.materials.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.base.*;
import away3d.containers.*;
import away3d.events.*;
public class FindHit {
public var sceneX:Number;
public var sceneY:Number;
public var sceneZ:Number;
public var uv:UV;
public var drawpri:DrawPrimitive;
protected var view:View3D;
public var material:IUVMaterial;
public var screenX:Number;
public var screenY:Number;
public var screenZ:Number;// = INF
var inv:Matrix3D;
private var primitive:DrawPrimitive;
var persp:Number;
public var element:Object;
public var object:Object3D;
public function FindHit(_arg1:View3D, _arg2:Array, _arg3:Number, _arg4:Number){
screenZ = Infinity;
inv = new Matrix3D();
super();
this.view = _arg1;
screenX = _arg3;
screenY = _arg4;
for each (primitive in _arg2) {
checkPrimitive(primitive);
};
}
public function checkPrimitive(_arg1:DrawPrimitive):void{
var _local2:Number;
var _local3:DrawTriangle;
var _local4:UV;
var _local5:IUVMaterial;
if (!_arg1.source.mouseEnabled){
return;
};
if (_arg1.minX > screenX){
return;
};
if (_arg1.maxX < screenX){
return;
};
if (_arg1.minY > screenY){
return;
};
if (_arg1.maxY < screenY){
return;
};
if (_arg1.contains(screenX, screenY)){
_local2 = _arg1.getZ(screenX, screenY);
if (_local2 < screenZ){
if ((_arg1 is DrawTriangle)){
_local3 = (_arg1 as DrawTriangle);
_local4 = _local3.getUV(screenX, screenY);
if ((_local3.material is IUVMaterial)){
_local5 = (_local3.material as IUVMaterial);
if (!(_local5.bitmap.getPixel32((_local4.u * _local5.width), ((1 - _local4.v) * _local5.height)) >> 24)){
return;
};
uv = _local4;
};
material = _local5;
} else {
uv = null;
};
screenZ = _local2;
persp = (view.camera.zoom / (1 + (screenZ / view.camera.focus)));
inv = view.camera.invView;
sceneX = (((((screenX / persp) * inv.sxx) + ((screenY / persp) * inv.sxy)) + (screenZ * inv.sxz)) + inv.tx);
sceneY = (((((screenX / persp) * inv.syx) + ((screenY / persp) * inv.syy)) + (screenZ * inv.syz)) + inv.ty);
sceneZ = (((((screenX / persp) * inv.szx) + ((screenY / persp) * inv.szy)) + (screenZ * inv.szz)) + inv.tz);
drawpri = _arg1;
object = _arg1.source;
element = null;
};
};
}
public function getMouseEvent(_arg1:String):MouseEvent3D{
var _local2:MouseEvent3D;
_local2 = new MouseEvent3D(_arg1);
_local2.screenX = screenX;
_local2.screenY = screenY;
_local2.screenZ = screenZ;
_local2.sceneX = sceneX;
_local2.sceneY = sceneY;
_local2.sceneZ = sceneZ;
_local2.view = view;
_local2.drawpri = drawpri;
_local2.material = material;
_local2.element = element;
_local2.object = object;
_local2.uv = uv;
return (_local2);
}
}
}//package away3d.core.render
Section 55
//IRenderer (away3d.core.render.IRenderer)
package away3d.core.render {
import away3d.containers.*;
public interface IRenderer {
function set renderSession(_arg1:AbstractRenderSession):void;
function desc():String;
function get renderSession():AbstractRenderSession;
function render(_arg1:View3D):Array;
function stats():String;
}
}//package away3d.core.render
Section 56
//Projection (away3d.core.render.Projection)
package away3d.core.render {
import away3d.core.math.*;
public class Projection {
public var view:Matrix3D;
public var time:int;
public var focus:Number;
public var zoom:Number;
}
}//package away3d.core.render
Section 57
//RectangleClipping (away3d.core.render.RectangleClipping)
package away3d.core.render {
import away3d.core.draw.*;
public class RectangleClipping extends Clipping {
public function RectangleClipping(_arg1:Number=-1000000, _arg2:Number=-1000000, _arg3:Number=1000000, _arg4:Number=1000000){
this.minX = _arg1;
this.maxX = _arg3;
this.minY = _arg2;
this.maxY = _arg4;
}
override public function rect(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Boolean{
if (this.maxX < _arg1){
return (false);
};
if (this.minX > _arg3){
return (false);
};
if (this.maxY < _arg2){
return (false);
};
if (this.minY > _arg4){
return (false);
};
return (true);
}
override public function check(_arg1:DrawPrimitive):Boolean{
if (_arg1.maxX < minX){
return (false);
};
if (_arg1.minX > maxX){
return (false);
};
if (_arg1.maxY < minY){
return (false);
};
if (_arg1.minY > maxY){
return (false);
};
return (true);
}
override public function asRectangleClipping():RectangleClipping{
return (this);
}
public function toString():String{
return ((((((((("{minX:" + minX) + " maxX:") + maxX) + " minY:") + minY) + " maxY:") + maxY) + "}"));
}
}
}//package away3d.core.render
Section 58
//SpriteRenderSession (away3d.core.render.SpriteRenderSession)
package away3d.core.render {
import flash.utils.*;
import flash.display.*;
import away3d.core.draw.*;
import away3d.containers.*;
import flash.geom.*;
public class SpriteRenderSession extends AbstractRenderSession {
private var _container:Sprite;
private var newCanvas:Sprite;
var cont:Sprite;
var i:int;
public function SpriteRenderSession():void{
}
override public function addDisplayObject(_arg1:DisplayObject):void{
_container.addChild(_arg1);
_arg1.visible = true;
children[_arg1] = _arg1;
_layerDirty = true;
}
override public function renderTriangleBitmap(_arg1:BitmapData, _arg2:Matrix, _arg3:ScreenVertex, _arg4:ScreenVertex, _arg5:ScreenVertex, _arg6:Boolean, _arg7:Boolean, _arg8:Graphics=null):void{
if (_layerDirty){
createLayer();
};
a2 = ((v1x = _arg4.x) - (v0x = _arg3.x));
b2 = ((v1y = _arg4.y) - (v0y = _arg3.y));
c2 = ((v2x = _arg5.x) - v0x);
d2 = ((v2y = _arg5.y) - v0y);
m.a = (((a = _arg2.a) * a2) + ((b = _arg2.b) * c2));
m.b = ((a * b2) + (b * d2));
m.c = (((c = _arg2.c) * a2) + ((d = _arg2.d) * c2));
m.d = ((c * b2) + (d * d2));
m.tx = ((((tx = _arg2.tx) * a2) + ((ty = _arg2.ty) * c2)) + v0x);
m.ty = (((tx * b2) + (ty * d2)) + v0y);
if (_arg8){
_arg8.lineStyle();
_arg8.moveTo(v0x, v0y);
_arg8.beginBitmapFill(_arg1, m, _arg7, ((_arg6) && (((((v0x * (d2 - b2)) - (v1x * d2)) + (v2x * b2)) > 400))));
_arg8.lineTo(v1x, v1y);
_arg8.lineTo(v2x, v2y);
_arg8.endFill();
} else {
graphics.lineStyle();
graphics.moveTo(v0x, v0y);
graphics.beginBitmapFill(_arg1, m, _arg7, ((_arg6) && (((((v0x * (d2 - b2)) - (v1x * d2)) + (v2x * b2)) > 400))));
graphics.lineTo(v1x, v1y);
graphics.lineTo(v2x, v2y);
graphics.endFill();
};
}
override public function get container():DisplayObject{
return (_container);
}
override public function get customGraphics():Graphics{
return (graphics);
}
override public function flush():void{
super.flush();
}
override public function renderLine(_arg1:ScreenVertex, _arg2:ScreenVertex, _arg3:Number, _arg4:uint, _arg5:Number):void{
if (_layerDirty){
createLayer();
};
graphics.lineStyle(_arg3, _arg4, _arg5);
graphics.moveTo(_arg1.x, _arg1.y);
graphics.lineTo(_arg2.x, _arg2.y);
}
override public function renderTriangleColor(_arg1:int, _arg2:Number, _arg3:ScreenVertex, _arg4:ScreenVertex, _arg5:ScreenVertex):void{
if (_layerDirty){
createLayer();
};
graphics.lineStyle();
graphics.moveTo(_arg3.x, _arg3.y);
graphics.beginFill(_arg1, _arg2);
graphics.lineTo(_arg4.x, _arg4.y);
graphics.lineTo(_arg5.x, _arg5.y);
graphics.endFill();
}
override public function set view(_arg1:View3D):void{
super.view = _arg1;
if (!_containers[_view]){
_containers[_view] = new Sprite();
};
_container = _containers[_view];
graphics = _container.graphics;
}
override public function renderTriangleLine(_arg1:Number, _arg2:int, _arg3:Number, _arg4:ScreenVertex, _arg5:ScreenVertex, _arg6:ScreenVertex):void{
if (_layerDirty){
createLayer();
};
graphics.lineStyle(_arg1, _arg2, _arg3);
graphics.moveTo((v0x = _arg4.x), (v0y = _arg4.y));
graphics.lineTo(_arg5.x, _arg5.y);
graphics.lineTo(_arg6.x, _arg6.y);
graphics.lineTo(v0x, v0y);
}
override public function clear():void{
super.clear();
_container.graphics.clear();
i = doActive.length;
while (i--) {
cont = doActive[i];
cont.graphics.clear();
doStore.push(doActive.pop());
};
i = _container.numChildren;
while (i--) {
_container.removeChild(_container.getChildAt(i));
};
children = new Dictionary(true);
graphics = _container.graphics;
}
private function createLayer():void{
if (doStore.length){
newCanvas = doStore.pop();
} else {
newCanvas = new Sprite();
};
graphics = newCanvas.graphics;
doActive.push(newCanvas);
_container.addChild(newCanvas);
_layerDirty = false;
}
override public function clone():AbstractRenderSession{
return (new SpriteRenderSession());
}
override public function renderScaledBitmap(_arg1:DrawScaledBitmap, _arg2:BitmapData, _arg3:Matrix, _arg4:Boolean=false):void{
if (_layerDirty){
createLayer();
};
if (_arg1.rotation != 0){
graphics.beginBitmapFill(_arg2, _arg3, false, _arg4);
graphics.moveTo(_arg1.topleft.x, _arg1.topleft.y);
graphics.lineTo(_arg1.topright.x, _arg1.topright.y);
graphics.lineTo(_arg1.bottomright.x, _arg1.bottomright.y);
graphics.lineTo(_arg1.bottomleft.x, _arg1.bottomleft.y);
graphics.lineTo(_arg1.topleft.x, _arg1.topleft.y);
graphics.endFill();
} else {
graphics.beginBitmapFill(_arg2, _arg3, false, _arg4);
graphics.drawRect(_arg1.minX, _arg1.minY, (_arg1.maxX - _arg1.minX), (_arg1.maxY - _arg1.minY));
graphics.endFill();
};
}
override public function renderBitmap(_arg1:BitmapData, _arg2:ScreenVertex, _arg3:Boolean=false):void{
if (_layerDirty){
createLayer();
};
m.identity();
m.tx = (_arg2.x - (_arg1.width / 2));
m.ty = (_arg2.y - (_arg1.height / 2));
graphics.lineStyle();
graphics.beginBitmapFill(_arg1, m, false, _arg3);
graphics.drawRect((_arg2.x - (_arg1.width / 2)), (_arg2.y - (_arg1.height / 2)), _arg1.width, _arg1.height);
graphics.endFill();
}
override public function renderTriangleLineFill(_arg1:Number, _arg2:int, _arg3:Number, _arg4:int, _arg5:Number, _arg6:ScreenVertex, _arg7:ScreenVertex, _arg8:ScreenVertex):void{
if (_layerDirty){
createLayer();
};
if (_arg5 > 0){
graphics.lineStyle(_arg1, _arg4, _arg5);
} else {
graphics.lineStyle();
};
graphics.moveTo(_arg6.x, _arg6.y);
if (_arg3 > 0){
graphics.beginFill(_arg2, _arg3);
};
graphics.lineTo(_arg7.x, _arg7.y);
graphics.lineTo(_arg8.x, _arg8.y);
if (_arg5 > 0){
graphics.lineTo(_arg6.x, _arg6.y);
};
if (_arg3 > 0){
graphics.endFill();
};
}
override public function renderFogColor(_arg1:int, _arg2:Number):void{
if (_layerDirty){
createLayer();
};
graphics.lineStyle();
graphics.beginFill(_arg1, _arg2);
graphics.drawRect(_view.clip.minX, _view.clip.minY, (_view.clip.maxX - _view.clip.minX), (_view.clip.maxY - _view.clip.minY));
graphics.endFill();
}
}
}//package away3d.core.render
Section 59
//Stats (away3d.core.stats.Stats)
package away3d.core.stats {
import flash.utils.*;
import flash.display.*;
import flash.events.*;
import away3d.core.base.*;
import away3d.containers.*;
import flash.geom.*;
import away3d.cameras.*;
import flash.text.*;
import flash.ui.*;
import flash.net.*;
import flash.system.*;
public class Stats extends Sprite {
private const APPLICATION_NAME:String = "Away3D.com";
private const VERSION:String = "2";
private const REVISION:String = "0.0";
private var bar:Sprite;
private var swfframerateLabel:TextField;
private var cambtn:Sprite;
private var geomLastAdded:String;
private var faceRenderLabel:TextField;
private var defautTF:TextFormat;
private var camLabel:TextField;
private var bestfps:int;// = 0
private var stageframerate:Number;
private var rectclose:Rectangle;
private var faceLabel:TextField;
private var aTypes:Array;
public var stats:String;
private var menu0:ContextMenuItem;
private var menu2:ContextMenuItem;
public var geomMenu:Sprite;// = null
private var menu1:ContextMenuItem;
private var avfpsLabel:TextField;
private var refreshes:int;// = 0
private var totalFaces:int;// = 0
var facecount:int;
private var rectclear:Rectangle;
private var displayState:int;
private var clearbtn:Sprite;
private var meshLabel:TextField;
private var barscale:int;// = 0
var type:String;
private var geomDetailsLabel:TextField;
public var displayMenu:Sprite;// = null
private var maxminbtn:Sprite;
public var sourceURL:String;
private var peakLabel:TextField;
private var meshes:int;// = 0
private var closebtn:Sprite;
private var rectcam:Rectangle;
var url:String;
private var oStats:Object;
private var ramLabel:TextField;
private var titleField:TextField;
private var fpsLabel:TextField;
private var contextmenu:ContextMenu;
private var perfLabel:TextField;
private var geombtn:Sprite;
private var barwidth:int;// = 0
private var lastrender:int;
private var camMenu:Sprite;
private var camProp:Array;
public var scopeMenu:View3D;// = null
private var rectdetails:Rectangle;
private var lowestfps:int;// = 999
private var fpstotal:int;// = 0
public function Stats(_arg1:View3D, _arg2:Number=0){
oStats = new Object();
totalFaces = 0;
meshes = 0;
aTypes = new Array();
scopeMenu = null;
displayMenu = null;
geomMenu = null;
fpstotal = 0;
refreshes = 0;
bestfps = 0;
lowestfps = 999;
barwidth = 0;
barscale = 0;
rectclose = new Rectangle(228, 4, 18, 17);
rectcam = new Rectangle(207, 4, 18, 17);
rectclear = new Rectangle(186, 4, 18, 17);
rectdetails = new Rectangle(165, 4, 18, 17);
defautTF = new TextFormat("Verdana", 10, 0);
super();
scopeMenu = _arg1;
stageframerate = (_arg2) ? _arg2 : 30;
displayState = 0;
sourceURL = _arg1.sourceURL;
menu0 = new ContextMenuItem("Away3D Project stats", true, true, true);
menu1 = new ContextMenuItem("View Source", true, true, true);
menu2 = new ContextMenuItem(((((APPLICATION_NAME + "\tv") + VERSION) + ".") + REVISION), true, true, true);
scopeMenu.contextMenu = new ContextMenu();
scopeMenu.contextMenu.customItems = (sourceURL) ? [menu0, menu1, menu2] : [menu0, menu2];
menu0.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, displayStats);
menu1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, viewSource);
menu2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, visitWebsite);
scopeMenu.contextMenu.hideBuiltInItems();
}
public function clearObjects():void{
stats = "";
totalFaces = 0;
meshes = 0;
geomLastAdded = "";
}
private function showGeomInfo():void{
if (geomMenu == null){
createGeometrieMenu();
} else {
displayMenu.addChild(geomMenu);
geomMenu.y = 26;
};
}
private function clearStats():void{
fpstotal = 0;
refreshes = 0;
bestfps = 0;
lowestfps = 999;
}
private function closeOtherScreen(_arg1:int):void{
switch (_arg1){
case 1:
hideCamInfo();
break;
case 2:
hideGeomInfo();
};
}
private function generateSprite():void{
var _local1:Matrix;
var _local2:Sprite;
var _local3:Graphics;
var _local4:Graphics;
var _local5:Graphics;
var _local6:TextField;
var _local7:TextField;
var _local8:TextField;
var _local9:TextField;
var _local10:TextField;
var _local11:TextField;
var _local12:TextField;
var _local13:TextField;
var _local14:TextField;
displayMenu = new Sprite();
_local1 = new Matrix();
_local1.rotate(((90 * Math.PI) / 180));
displayMenu.graphics.beginGradientFill("linear", [3355494, 0xCCCCCC], [1, 1], [0, 0xFF], _local1, "pad", "rgb", 0);
displayMenu.graphics.drawRect(0, 0, 250, 86);
displayMenu.graphics.beginFill(3355494);
displayMenu.graphics.drawRect(3, 3, 244, 20);
scopeMenu.addChild(displayMenu);
displayMenu.x = (displayMenu.x - (displayMenu.width * 0.5));
displayMenu.y = (displayMenu.y - (displayMenu.height * 0.5));
closebtn = new Sprite();
closebtn.graphics.beginFill(0x666666);
closebtn.graphics.drawRect(0, 0, 18, 17);
_local2 = new Sprite();
_local2.graphics.beginFill(13029592);
_local2.graphics.drawRect(2, 7, 14, 4);
_local2.graphics.endFill();
_local2.graphics.beginFill(13029592);
_local2.graphics.drawRect(7, 2, 4, 14);
_local2.graphics.endFill();
_local2.rotation = 45;
_local2.x = (_local2.x + 9);
_local2.y = (_local2.y - 4);
closebtn.addChild(_local2);
displayMenu.addChild(closebtn);
closebtn.x = 228;
closebtn.y = 4;
cambtn = new Sprite();
_local3 = cambtn.graphics;
_local3.beginFill(0x666666);
_local3.drawRect(0, 0, 18, 17);
_local3.endFill();
_local3.beginFill(13029592);
_local3.moveTo(10, 8);
_local3.lineTo(16, 4);
_local3.lineTo(16, 14);
_local3.lineTo(10, 10);
_local3.lineTo(10, 8);
_local3.drawRect(2, 6, 8, 6);
_local3.endFill();
displayMenu.addChild(cambtn);
cambtn.x = 207;
cambtn.y = 4;
clearbtn = new Sprite();
_local4 = clearbtn.graphics;
_local4.beginFill(0x666666);
_local4.drawRect(0, 0, 18, 17);
_local4.endFill();
_local4.beginFill(13029592);
_local4.drawRect(6, 6, 6, 6);
_local4.endFill();
displayMenu.addChild(clearbtn);
clearbtn.x = 186;
clearbtn.y = 4;
geombtn = new Sprite();
_local5 = geombtn.graphics;
_local5.beginFill(0x666666);
_local5.drawRect(0, 0, 18, 17);
_local5.endFill();
_local5.beginFill(13029592, 0.7);
_local5.moveTo(3, 4);
_local5.lineTo(11, 2);
_local5.lineTo(16, 5);
_local5.lineTo(7, 7);
_local5.lineTo(3, 4);
_local5.beginFill(8225929, 0.8);
_local5.moveTo(3, 4);
_local5.lineTo(7, 7);
_local5.lineTo(7, 16);
_local5.lineTo(3, 12);
_local5.lineTo(3, 4);
_local5.beginFill(13029592, 1);
_local5.moveTo(7, 7);
_local5.lineTo(16, 5);
_local5.lineTo(15, 13);
_local5.lineTo(7, 16);
_local5.lineTo(7, 7);
_local5.endFill();
_local5.endFill();
displayMenu.addChild(geombtn);
geombtn.x = 165;
geombtn.y = 4;
displayMenu.graphics.beginGradientFill("linear", [0, 0xFFFFFF], [1, 1], [0, 0xFF], new Matrix(), "pad", "rgb", 0);
displayMenu.graphics.drawRect(3, 22, 244, 4);
displayMenu.graphics.endFill();
bar = new Sprite();
bar.graphics.beginFill(0xFFFFFF);
bar.graphics.drawRect(0, 0, 244, 4);
displayMenu.addChild(bar);
bar.x = 3;
bar.y = 22;
barwidth = 244;
barscale = int((barwidth / stageframerate));
displayPicto();
titleField = new TextField();
titleField.defaultTextFormat = new TextFormat("Verdana", 10, 0xFFFFFF, true, null, null, null, null, "left");
titleField.text = "AWAY3D PROJECT";
titleField.selectable = false;
titleField.height = 20;
titleField.width = 140;
titleField.x = 22;
titleField.y = 4;
displayMenu.addChild(titleField);
_local6 = new TextField();
_local6.defaultTextFormat = new TextFormat("Verdana", 10, 0, true);
_local6.text = "FPS:";
fpsLabel = new TextField();
fpsLabel.defaultTextFormat = defautTF;
displayMenu.addChild(_local6);
displayMenu.addChild(fpsLabel);
_local6.x = 3;
_local6.y = (fpsLabel.y = 30);
_local6.autoSize = "left";
fpsLabel.x = ((_local6.x + _local6.width) - 2);
_local7 = new TextField();
_local7.defaultTextFormat = new TextFormat("Verdana", 10, 0, true);
_local7.text = "AFPS:";
avfpsLabel = new TextField();
avfpsLabel.defaultTextFormat = defautTF;
displayMenu.addChild(_local7);
displayMenu.addChild(avfpsLabel);
_local7.x = 52;
_local7.y = (avfpsLabel.y = fpsLabel.y);
_local7.autoSize = "left";
avfpsLabel.x = ((_local7.x + _local7.width) - 2);
_local8 = new TextField();
_local8.defaultTextFormat = new TextFormat("Verdana", 10, 0, true);
_local8.text = "Max:";
peakLabel = new TextField();
peakLabel.defaultTextFormat = defautTF;
displayMenu.addChild(_local8);
displayMenu.addChild(peakLabel);
_local8.x = 107;
_local8.y = (peakLabel.y = avfpsLabel.y);
_local8.autoSize = "left";
peakLabel.x = ((_local8.x + _local8.width) - 2);
_local9 = new TextField();
_local9.defaultTextFormat = new TextFormat("Verdana", 10, 0, true);
_local9.text = "MS:";
perfLabel = new TextField();
perfLabel.defaultTextFormat = defautTF;
displayMenu.addChild(_local9);
displayMenu.addChild(perfLabel);
_local9.x = 177;
_local9.y = (perfLabel.y = fpsLabel.y);
_local9.autoSize = "left";
perfLabel.x = ((_local9.x + _local9.width) - 2);
_local10 = new TextField();
_local10.defaultTextFormat = new TextFormat("Verdana", 10, 0, true);
_local10.text = "RAM:";
ramLabel = new TextField();
ramLabel.defaultTextFormat = defautTF;
displayMenu.addChild(_local10);
displayMenu.addChild(ramLabel);
_local10.x = 3;
_local10.y = (ramLabel.y = 46);
_local10.autoSize = "left";
ramLabel.x = ((_local10.x + _local10.width) - 2);
_local11 = new TextField();
_local11.defaultTextFormat = new TextFormat("Verdana", 10, 0, true);
_local11.text = "MESHES:";
meshLabel = new TextField();
meshLabel.defaultTextFormat = defautTF;
displayMenu.addChild(_local11);
displayMenu.addChild(meshLabel);
_local11.x = 90;
_local11.y = (meshLabel.y = ramLabel.y);
_local11.autoSize = "left";
meshLabel.x = ((_local11.x + _local11.width) - 2);
_local12 = new TextField();
_local12.defaultTextFormat = new TextFormat("Verdana", 10, 0, true);
_local12.text = "SWF FR:";
swfframerateLabel = new TextField();
swfframerateLabel.defaultTextFormat = defautTF;
displayMenu.addChild(_local12);
displayMenu.addChild(swfframerateLabel);
_local12.x = 170;
_local12.y = (swfframerateLabel.y = ramLabel.y);
_local12.autoSize = "left";
swfframerateLabel.x = ((_local12.x + _local12.width) - 2);
_local13 = new TextField();
_local13.defaultTextFormat = new TextFormat("Verdana", 10, 0, true);
_local13.text = "T FACES:";
faceLabel = new TextField();
faceLabel.defaultTextFormat = defautTF;
displayMenu.addChild(_local13);
displayMenu.addChild(faceLabel);
_local13.x = 3;
_local13.y = (faceLabel.y = 62);
_local13.autoSize = "left";
faceLabel.x = ((_local13.x + _local13.width) - 2);
_local14 = new TextField();
_local14.defaultTextFormat = new TextFormat("Verdana", 10, 0, true);
_local14.text = "R FACES:";
faceRenderLabel = new TextField();
faceRenderLabel.defaultTextFormat = defautTF;
displayMenu.addChild(_local14);
displayMenu.addChild(faceRenderLabel);
_local14.x = 105;
_local14.y = (faceRenderLabel.y = faceLabel.y);
_local14.autoSize = "left";
faceRenderLabel.x = ((_local14.x + _local14.width) - 2);
}
private function createGeometrieMenu():void{
var _local1:Matrix;
geomMenu = new Sprite();
_local1 = new Matrix();
_local1.rotate(((90 * Math.PI) / 180));
geomMenu.graphics.beginGradientFill("linear", [3355494, 0xCCCCCC], [1, 1], [0, 0xFF], _local1, "pad", "rgb", 0);
geomMenu.graphics.drawRect(0, 0, 250, 200);
displayMenu.addChild(geomMenu);
geomMenu.y = 26;
geomDetailsLabel = new TextField();
geomDetailsLabel.x = 3;
geomDetailsLabel.y = 3;
geomDetailsLabel.defaultTextFormat = defautTF;
geomDetailsLabel.text = stats;
geomDetailsLabel.height = 200;
geomDetailsLabel.width = 235;
geomDetailsLabel.multiline = true;
geomDetailsLabel.selectable = true;
geomDetailsLabel.wordWrap = true;
geomMenu.addChild(geomDetailsLabel);
}
public function visitWebsite(_arg1:ContextMenuEvent):void{
var url:String;
var request:URLRequest;
var e = _arg1;
url = "http://www.away3d.com";
request = new URLRequest(url);
try {
navigateToURL(request);
} catch(e:Error) {
};
}
public function displayStats(_arg1:ContextMenuEvent):void{
if (!displayMenu){
scopeMenu.statsOpen = true;
generateSprite();
addEventMouse();
};
}
private function mouseReleased(_arg1:MouseEvent):void{
displayMenu.stopDrag();
scopeMenu.removeEventListener(MouseEvent.MOUSE_UP, mouseReleased);
}
public function viewSource(_arg1:ContextMenuEvent):void{
var request:URLRequest;
var e = _arg1;
request = new URLRequest(sourceURL);
try {
navigateToURL(request, "_blank");
} catch(e:Error) {
};
}
private function createCamMenu():void{
var _local1:Matrix;
var _local2:TextFormat;
var _local3:TextField;
var _local4:int;
camMenu = new Sprite();
_local1 = new Matrix();
_local1.rotate(((90 * Math.PI) / 180));
camMenu.graphics.beginGradientFill("linear", [3355494, 0xCCCCCC], [1, 1], [0, 0xFF], _local1, "pad", "rgb", 0);
camMenu.graphics.drawRect(0, 0, 250, 220);
displayMenu.addChild(camMenu);
camMenu.y = 26;
camLabel = new TextField();
camLabel.height = 210;
camLabel.width = 170;
camLabel.x = 100;
camLabel.multiline = true;
_local2 = defautTF;
_local2.leading = 1.5;
camLabel.defaultTextFormat = _local2;
camLabel.wordWrap = true;
camMenu.addChild(camLabel);
camLabel.x = 100;
camLabel.y = 3;
camProp = ["x", "y", "z", "zoom", "focus", "distance", "panangle", "tiltangle", "targetpanangle", "targettiltangle", "mintiltangle", "maxtiltangle", "steps", "target"];
_local3 = new TextField();
_local2 = new TextFormat("Verdana", 10, 0, true);
_local2.leading = 1.5;
_local2.align = "right";
_local3.defaultTextFormat = _local2;
_local3.x = (_local3.y = 3);
_local3.multiline = true;
_local3.selectable = false;
_local3.autoSize = "left";
_local3.height = 210;
_local4 = 0;
while (_local4 < camProp.length) {
_local3.appendText((camProp[_local4] + ":\n"));
_local4++;
};
camMenu.addChild(_local3);
}
public function addObject(_arg1:BaseMesh):void{
type = _arg1.type;
if ((_arg1 is Mesh)){
facecount = (_arg1 as Mesh).faces.length;
} else {
facecount = 0;
};
url = _arg1.url;
if (((!((type == null))) && (!((facecount == 0))))){
stats = (stats + ((((((" - " + type) + " , faces: ") + facecount) + ", url: ") + url) + "\n"));
geomLastAdded = ((((((" - " + type) + " , faces: ") + facecount) + ", url: ") + url) + "\n");
totalFaces = (totalFaces + facecount);
meshes = (meshes + 1);
} else {
stats = (stats + ((((" - " + type) + " , url: ") + url) + "\n"));
geomLastAdded = ((((" - " + type) + " , url: ") + url) + "\n");
};
}
public function updateStats(_arg1:int, _arg2:Camera3D):void{
var now:int;
var perf:int;
var procent:int;
var colorTransform:ColorTransform;
var fps:int;
var average:int;
var w:int;
var caminfo:String;
var i:int;
var info:String;
var renderedfaces = _arg1;
var camera = _arg2;
now = getTimer();
perf = (now - lastrender);
lastrender = now;
if (perf < 1000){
fps = int((1000 / (perf + 0.001)));
fpstotal = (fpstotal + fps);
refreshes++;
average = (fpstotal / refreshes);
bestfps = ((fps)>bestfps) ? fps : bestfps;
lowestfps = ((fps)<lowestfps) ? fps : lowestfps;
w = (barscale * fps);
bar.width = ((w)<=barwidth) ? w : barwidth;
};
procent = ((bar.width / barwidth) * 100);
colorTransform = bar.transform.colorTransform;
colorTransform.color = ((((0xFF - (2.55 * procent)) << 16) | ((2.55 * procent) << 8)) | 40);
bar.transform.colorTransform = colorTransform;
if (displayState == 0){
avfpsLabel.text = ("" + average);
ramLabel.text = (("" + (int(((System.totalMemory / 0x0400) / 102.4)) / 10)) + "MB");
peakLabel.text = ((lowestfps + "/") + bestfps);
fpsLabel.text = ("" + fps);
perfLabel.text = ("" + perf);
faceLabel.text = ("" + totalFaces);
faceRenderLabel.text = ("" + renderedfaces);
meshLabel.text = ("" + meshes);
swfframerateLabel.text = ("" + stageframerate);
} else {
if (displayState == 1){
caminfo = "";
i = 0;
while (i < camProp.length) {
try {
if (i > 12){
caminfo = (caminfo + (String(camera[camProp[i]]) + "\n"));
} else {
info = String(camera[camProp[i]]);
caminfo = (caminfo + (info.substring(0, 19) + "\n"));
};
} catch(e:Error) {
caminfo = (caminfo + "\n");
};
i = (i + 1);
};
camLabel.text = caminfo;
} else {
if (displayState == 2){
geomDetailsLabel.text = stats;
geomDetailsLabel.scrollV = geomDetailsLabel.maxScrollV;
};
};
};
}
private function showCamInfo():void{
if (camMenu == null){
createCamMenu();
} else {
displayMenu.addChild(camMenu);
camMenu.y = 26;
};
}
private function get image():Array{
return ([[7, 1, 262151], [8, 1, 3215136], [9, 1, 2033436], [10, 1, 1], [7, 2, 2098723], [8, 2, 5908501], [9, 2, 4922400], [10, 2, 720913], [6, 3, 327691], [7, 3, 6957102], [8, 3, 5975556], [9, 3, 6368779], [10, 3, 4789809], [11, 3, 2], [6, 4, 2361127], [7, 4, 10833686], [8, 4, 4926728], [9, 4, 6239495], [10, 4, 9190690], [11, 4, 1114647], [5, 5, 786453], [6, 5, 7088423], [7, 5, 14055707], [8, 5, 2103310], [9, 5, 3877139], [10, 5, 13134098], [11, 5, 5577773], [12, 5, 131077], [4, 6, 1], [5, 6, 3608110], [6, 6, 11227664], [7, 6, 12748351], [8, 6, 65793], [9, 6, 986379], [10, 6, 14980667], [11, 6, 10044437], [12, 6, 2230306], [4, 7, 0x12001C], [5, 7, 8007967], [6, 7, 14911011], [7, 7, 6509633], [10, 7, 9138771], [11, 7, 13989655], [12, 7, 7350824], [13, 7, 327689], [3, 8, 262153], [4, 8, 4592689], [5, 8, 12016138], [6, 8, 15774570], [7, 8, 855309], [10, 8, 2434083], [11, 8, 16233056], [12, 8, 11489803], [13, 8, 3345958], [3, 9, 1966887], [4, 9, 8665113], [5, 9, 15636021], [6, 9, 6773581], [11, 9, 9140836], [12, 9, 15240489], [13, 9, 8467743], [14, 9, 852240], [2, 10, 458767], [3, 10, 5774639], [4, 10, 13265683], [5, 10, 10845518], [6, 10, 0x0101], [11, 10, 657931], [12, 10, 14396016], [13, 10, 12739344], [14, 10, 5184297], [15, 10, 2], [2, 11, 2557230], [3, 11, 10307863], [4, 11, 12548133], [5, 11, 723464], [12, 11, 1512721], [13, 11, 14651446], [14, 11, 10307352], [15, 11, 1508630], [1, 12, 983068], [2, 12, 7154221], [3, 12, 9522185], [4, 12, 1314568], [6, 12, 131586], [7, 12, 921102], [8, 12, 0x1A1A1A], [9, 12, 0x171717], [10, 12, 657930], [13, 12, 2892051], [14, 12, 12610067], [15, 12, 7220009], [16, 12, 196614], [1, 13, 3936052], [2, 13, 5908749], [3, 13, 1773570], [4, 13, 4402968], [5, 13, 10714191], [6, 13, 12884326], [7, 13, 14396274], [8, 13, 15053429], [9, 13, 14790257], [10, 13, 13935206], [11, 13, 12159571], [12, 13, 9265971], [13, 13, 2759432], [14, 13, 2561537], [15, 13, 8601360], [16, 13, 3346464], [1, 14, 3938326], [2, 14, 5712395], [3, 14, 10900499], [4, 14, 11951126], [5, 14, 11490833], [6, 14, 11358991], [7, 14, 11227662], [8, 14, 11161870], [9, 14, 11030286], [10, 14, 10964497], [11, 14, 10898963], [12, 14, 10833429], [13, 14, 11096344], [14, 14, 8797973], [15, 14, 4595726], [16, 14, 4594459], [17, 14, 327941], [1, 15, 2296596], [2, 15, 3280925], [3, 15, 2821148], [4, 15, 2624284], [5, 15, 2558749], [6, 15, 2624031], [7, 15, 2558496], [8, 15, 2558498], [9, 15, 2492705], [10, 15, 2361630], [11, 15, 2361374], [12, 15, 2295839], [13, 15, 2295840], [14, 15, 2427171], [15, 15, 2624036], [16, 15, 1377300]]);
}
private function hideGeomInfo():void{
if (geomMenu != null){
displayMenu.removeChild(geomMenu);
};
}
private function hideCamInfo():void{
if (camMenu != null){
displayMenu.removeChild(camMenu);
};
}
private function closeStats():void{
scopeMenu.statsOpen = false;
displayState = 0;
scopeMenu.removeEventListener(MouseEvent.MOUSE_DOWN, onCheckMouse);
scopeMenu.removeEventListener(MouseEvent.MOUSE_MOVE, updateTips);
scopeMenu.removeChild(displayMenu);
displayMenu = null;
}
private function updateTips(_arg1:MouseEvent):void{
var x:Number;
var y:Number;
var pt:Point;
var me = _arg1;
if (scopeMenu != null){
x = displayMenu.mouseX;
y = displayMenu.mouseY;
pt = new Point(x, y);
try {
if (rectcam.containsPoint(pt)){
titleField.text = "CAMERA INFO";
} else {
if (rectclose.containsPoint(pt)){
titleField.text = "CLOSE STATS";
} else {
if (rectclear.containsPoint(pt)){
titleField.text = "CLEAR AVERAGES";
} else {
if (rectdetails.containsPoint(pt)){
titleField.text = "MESH INFO";
} else {
titleField.text = "AWAY3D PROJECT";
};
};
};
};
} catch(e:Error) {
};
};
}
public function addSourceURL(_arg1:String):void{
sourceURL = _arg1;
scopeMenu.contextMenu.customItems = (sourceURL) ? [menu0, menu1, menu2] : [menu0, menu2];
}
private function addEventMouse():void{
scopeMenu.addEventListener(MouseEvent.MOUSE_DOWN, onCheckMouse);
scopeMenu.addEventListener(MouseEvent.MOUSE_MOVE, updateTips);
}
private function onCheckMouse(_arg1:MouseEvent):void{
var _local2:Number;
var _local3:Number;
var _local4:Point;
_local2 = displayMenu.mouseX;
_local3 = displayMenu.mouseY;
_local4 = new Point(_local2, _local3);
if (rectcam.containsPoint(_local4)){
if (displayState != 1){
closeOtherScreen(displayState);
displayState = 1;
showCamInfo();
} else {
displayState = 0;
hideCamInfo();
};
} else {
if (rectdetails.containsPoint(_local4)){
if (displayState != 2){
closeOtherScreen(displayState);
displayState = 2;
showGeomInfo();
} else {
displayState = 0;
hideGeomInfo();
};
} else {
if (rectclose.containsPoint(_local4)){
closeStats();
} else {
if (rectclear.containsPoint(_local4)){
clearStats();
} else {
displayMenu.startDrag();
scopeMenu.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
};
};
};
};
}
private function generateClipBoardInfo():void{
var _local1:String;
var _local2:Camera3D;
_local1 = "-- AWAY3D STATS REPORT --\n\n";
_local1 = (_local1 + "GEOMETRY:\n");
_local1 = (_local1 + stats);
_local1 = (_local1 + "\nCAMERA:\n");
_local2 = scopeMenu.camera;
}
private function displayPicto():void{
var _local1:Sprite;
var _local2:Graphics;
var _local3:Array;
var _local4:int;
_local1 = new Sprite();
_local2 = _local1.graphics;
_local2.beginFill(0);
_local2.drawRect(0, 0, 18, 17);
_local3 = image;
_local4 = 0;
while (_local4 < _local3.length) {
_local2.beginFill(Number(_local3[_local4][2]));
_local2.drawRect(_local3[_local4][0], _local3[_local4][1], 1, 1);
_local4++;
};
_local2.endFill();
displayMenu.addChild(_local1);
_local1.x = (_local1.y = 4);
}
}
}//package away3d.core.stats
Section 60
//BlockerTraverser (away3d.core.traverse.BlockerTraverser)
package away3d.core.traverse {
import away3d.core.base.*;
import away3d.containers.*;
import away3d.core.block.*;
public class BlockerTraverser extends Traverser {
private var _view:View3D;
private var _consumer:IBlockerConsumer;
override public function match(_arg1:Object3D):Boolean{
if (!_arg1.visible){
return (false);
};
if ((_arg1 is ILODObject)){
return ((_arg1 as ILODObject).matchLOD(_view));
};
return (true);
}
public function set view(_arg1:View3D):void{
_view = _arg1;
}
public function set consumer(_arg1:IBlockerConsumer):void{
_consumer = _arg1;
}
override public function apply(_arg1:Object3D):void{
if ((_arg1 is IBlockerProvider)){
(_arg1 as IBlockerProvider).blockers(_consumer);
};
}
}
}//package away3d.core.traverse
Section 61
//PrimitiveTraverser (away3d.core.traverse.PrimitiveTraverser)
package away3d.core.traverse {
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.light.*;
import away3d.core.base.*;
import away3d.containers.*;
public class PrimitiveTraverser extends Traverser {
private var _lights:ILightConsumer;
private var _view:View3D;
private var _zoom:Number;
private var _consumer:IPrimitiveConsumer;
private var _focus:Number;
private var _sessions:Array;
private var _session:AbstractRenderSession;
override public function match(_arg1:Object3D):Boolean{
if (!_arg1.visible){
return (false);
};
if ((_arg1 is ILODObject)){
return ((_arg1 as ILODObject).matchLOD(_view));
};
return (true);
}
public function set consumer(_arg1:IPrimitiveConsumer):void{
_consumer = _arg1;
}
public function set session(_arg1:AbstractRenderSession):void{
_session = _arg1;
_sessions = [];
_lights = _session.lightarray;
_view = _session.view;
_focus = _view.camera.focus;
_zoom = _view.camera.zoom;
}
override public function leave(_arg1:Object3D):void{
_session = _sessions.pop();
}
override public function enter(_arg1:Object3D):void{
_sessions.push(_session);
}
override public function apply(_arg1:Object3D):void{
if ((_arg1 is IPrimitiveProvider)){
(_arg1 as IPrimitiveProvider).primitives(_consumer, _session);
_session = _arg1.session;
};
if ((_arg1 is ILightProvider)){
(_arg1 as ILightProvider).light(_lights);
};
}
}
}//package away3d.core.traverse
Section 62
//ProjectionTraverser (away3d.core.traverse.ProjectionTraverser)
package away3d.core.traverse {
import flash.utils.*;
import away3d.core.math.*;
import away3d.core.render.*;
import away3d.core.base.*;
import away3d.containers.*;
public class ProjectionTraverser extends Traverser {
private var _view:View3D;
private var _cameraview:Matrix3D;
var _projection:Projection;
override public function match(_arg1:Object3D):Boolean{
if (!_arg1.visible){
return (false);
};
_arg1.viewTransform.multiply(_cameraview, _arg1.sceneTransform);
_projection = _arg1.projection;
_projection.view = _arg1.viewTransform;
_projection.focus = _view.camera.focus;
_projection.zoom = _view.camera.zoom;
_projection.time = getTimer();
if ((_arg1 is ILODObject)){
return ((_arg1 as ILODObject).matchLOD(_view));
};
return (true);
}
public function set view(_arg1:View3D):void{
_view = _arg1;
_cameraview = _view.camera.view;
if (_view.statsOpen){
_view.statsPanel.clearObjects();
};
}
override public function enter(_arg1:Object3D):void{
if (((_view.statsOpen) && ((_arg1 is BaseMesh)))){
_view.statsPanel.addObject((_arg1 as BaseMesh));
};
}
}
}//package away3d.core.traverse
Section 63
//TickTraverser (away3d.core.traverse.TickTraverser)
package away3d.core.traverse {
import away3d.core.base.*;
public class TickTraverser extends Traverser {
public var now:int;
override public function enter(_arg1:Object3D):void{
_arg1.tick(now);
}
}
}//package away3d.core.traverse
Section 64
//Traverser (away3d.core.traverse.Traverser)
package away3d.core.traverse {
import away3d.core.base.*;
public class Traverser {
public function match(_arg1:Object3D):Boolean{
return (true);
}
public function leave(_arg1:Object3D):void{
}
public function enter(_arg1:Object3D):void{
}
public function apply(_arg1:Object3D):void{
}
}
}//package away3d.core.traverse
Section 65
//Cast (away3d.core.utils.Cast)
package away3d.core.utils {
import flash.utils.*;
import flash.display.*;
import away3d.materials.*;
public class Cast {
private static var colornames:Dictionary;
private static var hexchars:String = "0123456789abcdefABCDEF";
private static var classes:Dictionary = new Dictionary();
private static var notclasses:Dictionary = new Dictionary();
public static function color(_arg1):uint{
var _local2:uint;
_local2 = trycolor(_arg1);
if (_local2 == 4294967295){
throw (new CastError(("Can't cast to color: " + _arg1)));
};
return (_local2);
}
public static function material(_arg1):ITriangleMaterial{
var hash:Array;
var line:Array;
var bmd:BitmapData;
var ini:Init;
var bitmap:BitmapData;
var color:uint;
var alpha:Number;
var lighting:Boolean;
var wire:WireframeMaterial;
var smooth:Boolean;
var precision:Number;
var data = _arg1;
if (data == null){
return (null);
};
if ((data is String)){
data = tryclass(data);
};
if ((data is Class)){
try {
data = new (data);
} catch(materialerror:ArgumentError) {
data = new data(0, 0);
};
};
if ((data is IMaterial)){
return (data);
};
if ((data is int)){
return (new ColorMaterial(data));
};
if ((data is MovieClip)){
return (new MovieMaterial(data));
};
if ((data is String)){
if (data == ""){
return (null);
};
if (data == "transparent"){
return (new TransparentMaterial());
};
if ((data as String).indexOf("#") != -1){
hash = (data as String).split("#");
if (hash[1] == ""){
return (new WireColorMaterial(color(hash[0])));
};
if (hash[1].indexOf("|") == -1){
if (hash[0] == ""){
return (new WireframeMaterial(color(hash[1])));
};
return (new WireColorMaterial(color(hash[0]), {wirecolor:color(hash[1])}));
} else {
line = hash[1].split("|");
if (hash[0] == ""){
return (new WireframeMaterial(color(line[0]), {width:parseFloat(line[1])}));
};
return (new WireColorMaterial(color(hash[0]), {wirecolor:color(line[0]), width:parseFloat(line[1])}));
};
} else {
if ((data as String).indexOf("@") != -1){
hash = (data as String).split("@");
if (hash[1] == ""){
return (new ShadingColorMaterial({color:color(hash[0])}));
};
} else {
return (new ColorMaterial(color(data)));
};
};
};
try {
bmd = Cast.bitmap(data);
return (new BitmapMaterial(bmd));
} catch(error:CastError) {
};
if ((data is Object)){
ini = Init.parse(data);
bitmap = ini.getBitmap("bitmap");
color = ini.getColor("color", 4294967295);
alpha = ini.getNumber("alpha", 1, {min:0, max:1});
lighting = ini.getBoolean("lighting", false);
wire = (wirematerial(ini.getObject("wire")) as WireframeMaterial);
if (((!((bitmap == null))) && (!((color == 4294967295))))){
throw (new CastError(("Can't create material with color and bitmap: " + data)));
};
if (bitmap != null){
if (wire != null){
Debug.warning("Bitmap materials do not support wire");
};
smooth = ini.getBoolean("smooth", false);
precision = ini.getNumber("precision", 0);
if (precision){
if (lighting){
return (new WhiteShadingBitmapMaterial(bitmap, {smooth:smooth, precision:precision}));
};
if (alpha < 1){
Debug.warning("Can't create precise bitmap material with alpha (yet)");
};
return (new BitmapMaterial(bitmap, {smooth:smooth, precision:precision}));
};
if (lighting){
if (alpha < 1){
Debug.warning("Can't create bitmap material with lighting and alpha (yet)");
};
return (new WhiteShadingBitmapMaterial(bitmap, {smooth:smooth}));
};
if (alpha < 1){
return (new AlphaBitmapMaterial(bitmap, {smooth:smooth, alpha:alpha}));
};
return (new BitmapMaterial(bitmap, {smooth:smooth}));
};
if (color != 4294967295){
if (lighting){
if (wire != null){
Debug.warning("Can't create shading material with wire");
};
return (new ShadingColorMaterial({color:color, alpha:alpha}));
};
if (wire == null){
return (new ColorMaterial(color, {alpha:alpha}));
};
return (new WireColorMaterial(color, {alpha:alpha, wirecolor:wire.color, wirealpha:wire.alpha, width:wire.width}));
};
if (wire != null){
return (wire);
};
};
throw (new CastError(("Can't cast to material: " + data)));
}
public static function trycolor(_arg1):uint{
if ((_arg1 is uint)){
return ((_arg1 as uint));
};
if ((_arg1 is int)){
return ((_arg1 as uint));
};
if ((_arg1 is String)){
if (_arg1 == "random"){
return (uint((Math.random() * 16777216)));
};
if (colornames == null){
colornames = new Dictionary();
colornames["steelblue"] = 4620980;
colornames["royalblue"] = 267920;
colornames["cornflowerblue"] = 6591981;
colornames["lightsteelblue"] = 11584734;
colornames["mediumslateblue"] = 8087790;
colornames["slateblue"] = 6970061;
colornames["darkslateblue"] = 4734347;
colornames["midnightblue"] = 1644912;
colornames["navy"] = 128;
colornames["darkblue"] = 139;
colornames["mediumblue"] = 205;
colornames["blue"] = 0xFF;
colornames["dodgerblue"] = 2003199;
colornames["deepskyblue"] = 49151;
colornames["lightskyblue"] = 8900346;
colornames["skyblue"] = 8900331;
colornames["lightblue"] = 11393254;
colornames["powderblue"] = 11591910;
colornames["azure"] = 15794175;
colornames["lightcyan"] = 14745599;
colornames["paleturquoise"] = 11529966;
colornames["mediumturquoise"] = 4772300;
colornames["lightseagreen"] = 2142890;
colornames["darkcyan"] = 0x8B8B;
colornames["teal"] = 0x8080;
colornames["cadetblue"] = 6266528;
colornames["darkturquoise"] = 52945;
colornames["aqua"] = 0xFFFF;
colornames["cyan"] = 0xFFFF;
colornames["turquoise"] = 4251856;
colornames["aquamarine"] = 8388564;
colornames["mediumaquamarine"] = 6737322;
colornames["darkseagreen"] = 9419919;
colornames["mediumseagreen"] = 3978097;
colornames["seagreen"] = 3050327;
colornames["darkgreen"] = 0x6400;
colornames["green"] = 0x8000;
colornames["forestgreen"] = 2263842;
colornames["limegreen"] = 3329330;
colornames["lime"] = 0xFF00;
colornames["chartreuse"] = 0x7FFF00;
colornames["lawngreen"] = 0x7CFC00;
colornames["greenyellow"] = 11403055;
colornames["yellowgreen"] = 10145074;
colornames["palegreen"] = 10025880;
colornames["lightgreen"] = 9498256;
colornames["springgreen"] = 65407;
colornames["mediumspringgreen"] = 64154;
colornames["darkolivegreen"] = 5597999;
colornames["olivedrab"] = 7048739;
colornames["olive"] = 0x808000;
colornames["darkkhaki"] = 12433259;
colornames["darkgoldenrod"] = 12092939;
colornames["goldenrod"] = 14329120;
colornames["gold"] = 0xFFD700;
colornames["yellow"] = 0xFFFF00;
colornames["khaki"] = 15787660;
colornames["palegoldenrod"] = 15657130;
colornames["blanchedalmond"] = 16772045;
colornames["moccasin"] = 16770229;
colornames["wheat"] = 16113331;
colornames["navajowhite"] = 16768685;
colornames["burlywood"] = 14596231;
colornames["tan"] = 13808780;
colornames["rosybrown"] = 12357519;
colornames["sienna"] = 10506797;
colornames["saddlebrown"] = 9127187;
colornames["chocolate"] = 13789470;
colornames["peru"] = 13468991;
colornames["sandybrown"] = 16032864;
colornames["darkred"] = 0x8B0000;
colornames["maroon"] = 0x800000;
colornames["brown"] = 10824234;
colornames["firebrick"] = 11674146;
colornames["indianred"] = 13458524;
colornames["lightcoral"] = 15761536;
colornames["salmon"] = 16416882;
colornames["darksalmon"] = 15308410;
colornames["lightsalmon"] = 16752762;
colornames["coral"] = 16744272;
colornames["tomato"] = 16737095;
colornames["darkorange"] = 0xFF8C00;
colornames["orange"] = 0xFFA500;
colornames["orangered"] = 0xFF4500;
colornames["crimson"] = 14423100;
colornames["red"] = 0xFF0000;
colornames["deeppink"] = 16716947;
colornames["fuchsia"] = 0xFF00FF;
colornames["magenta"] = 0xFF00FF;
colornames["hotpink"] = 16738740;
colornames["lightpink"] = 16758465;
colornames["pink"] = 16761035;
colornames["palevioletred"] = 14381203;
colornames["mediumvioletred"] = 13047173;
colornames["purple"] = 0x800080;
colornames["darkmagenta"] = 0x8B008B;
colornames["mediumpurple"] = 9662683;
colornames["blueviolet"] = 9055202;
colornames["indigo"] = 0x4B0082;
colornames["darkviolet"] = 0x9400D3;
colornames["darkorchid"] = 10040012;
colornames["mediumorchid"] = 12211667;
colornames["orchid"] = 14315734;
colornames["violet"] = 15631086;
colornames["plum"] = 14524637;
colornames["thistle"] = 14204888;
colornames["lavender"] = 15132410;
colornames["ghostwhite"] = 16316671;
colornames["aliceblue"] = 15792383;
colornames["mintcream"] = 16121850;
colornames["honeydew"] = 15794160;
colornames["lightgoldenrodyellow"] = 16448210;
colornames["lemonchiffon"] = 16775885;
colornames["cornsilk"] = 16775388;
colornames["lightyellow"] = 16777184;
colornames["ivory"] = 16777200;
colornames["floralwhite"] = 16775920;
colornames["linen"] = 16445670;
colornames["oldlace"] = 16643558;
colornames["antiquewhite"] = 16444375;
colornames["bisque"] = 16770244;
colornames["peachpuff"] = 16767673;
colornames["papayawhip"] = 16773077;
colornames["beige"] = 16119260;
colornames["seashell"] = 16774638;
colornames["lavenderblush"] = 16773365;
colornames["mistyrose"] = 16770273;
colornames["snow"] = 16775930;
colornames["white"] = 0xFFFFFF;
colornames["whitesmoke"] = 0xF5F5F5;
colornames["gainsboro"] = 0xDCDCDC;
colornames["lightgrey"] = 0xD3D3D3;
colornames["silver"] = 0xC0C0C0;
colornames["darkgrey"] = 0xA9A9A9;
colornames["grey"] = 0x808080;
colornames["lightslategrey"] = 7833753;
colornames["slategrey"] = 7372944;
colornames["dimgrey"] = 0x696969;
colornames["darkslategrey"] = 3100495;
colornames["black"] = 0;
colornames["transparent"] = 4278190080;
};
if (colornames[_arg1] != null){
return (colornames[_arg1]);
};
if (((((_arg1 as String).length == 6)) && (hexstring(_arg1)))){
return (parseInt(("0x" + _arg1)));
};
};
return (4294967295);
}
private static function hexstring(_arg1:String):Boolean{
var _local2:int;
_local2 = 0;
while (_local2 < _arg1.length) {
if (hexchars.indexOf(_arg1.charAt(_local2)) == -1){
return (false);
};
_local2++;
};
return (true);
}
public static function wirematerial(_arg1):ISegmentMaterial{
var _local2:Array;
var _local3:Init;
var _local4:uint;
var _local5:Number;
var _local6:Number;
if (_arg1 == null){
return (null);
};
if ((_arg1 is ISegmentMaterial)){
return (_arg1);
};
if ((_arg1 is int)){
return (new WireframeMaterial(_arg1));
};
if ((_arg1 is String)){
if (_arg1 == ""){
return (null);
};
if (_arg1 == "transparent"){
return (new TransparentMaterial());
};
if ((_arg1 as String).indexOf("#") == 0){
_arg1 = (_arg1 as String).substring(1);
};
if ((_arg1 as String).indexOf("|") == -1){
return (new WireframeMaterial(color(_arg1)));
};
_local2 = (_arg1 as String).split("|");
return (new WireframeMaterial(color(_local2[0]), {width:parseFloat(_local2[1])}));
};
if ((_arg1 is Object)){
_local3 = Init.parse(_arg1);
_local4 = _local3.getColor("color", 0);
_local5 = _local3.getNumber("alpha", 1, {min:0, max:1});
_local6 = _local3.getNumber("width", 1, {min:0});
return (new WireframeMaterial(_local4, {alpha:_local5, width:_local6}));
};
throw (new CastError(("Can't cast to wirematerial: " + _arg1)));
}
public static function bitmap(_arg1):BitmapData{
var sprite:Sprite;
var bmd:BitmapData;
var data = _arg1;
if (data == null){
return (null);
};
if ((data is String)){
data = tryclass(data);
};
if ((data is Class)){
try {
data = new (data);
} catch(bitmaperror:ArgumentError) {
data = new data(0, 0);
};
};
if ((data is BitmapData)){
return (data);
};
if ((data is Bitmap)){
if ((data as Bitmap).hasOwnProperty("bitmapData")){
return ((data as Bitmap).bitmapData);
};
};
if ((data is Sprite)){
sprite = (data as Sprite);
bmd = new BitmapData(sprite.width, sprite.height, true, 0xFFFFFF);
bmd.draw(sprite, null, null, null, bmd.rect, true);
return (bmd);
};
throw (new CastError(("Can't cast to bitmap: " + data)));
}
public static function bytearray(_arg1):ByteArray{
if ((_arg1 is Class)){
_arg1 = new (_arg1);
};
if ((_arg1 is ByteArray)){
return (_arg1);
};
return (ByteArray(_arg1));
}
public static function xml(_arg1):XML{
if ((_arg1 is Class)){
_arg1 = new (_arg1);
};
if ((_arg1 is XML)){
return (_arg1);
};
return (XML(_arg1));
}
public static function string(_arg1):String{
if ((_arg1 is Class)){
_arg1 = new (_arg1);
};
if ((_arg1 is String)){
return (_arg1);
};
return (String(_arg1));
}
public static function tryclass(_arg1:String):Object{
var result:Class;
var name = _arg1;
if (notclasses[name]){
return (name);
};
result = classes[name];
if (result != null){
return (result);
};
try {
result = (getDefinitionByName(name) as Class);
classes[name] = result;
return (result);
} catch(error:ReferenceError) {
};
notclasses[name] = true;
return (name);
}
}
}//package away3d.core.utils
Section 66
//CastError (away3d.core.utils.CastError)
package away3d.core.utils {
public class CastError extends Error {
public function CastError(_arg1:String){
super(_arg1);
}
}
}//package away3d.core.utils
Section 67
//Debug (away3d.core.utils.Debug)
package away3d.core.utils {
public class Debug {
public static var warningsAsErrors:Boolean = false;
public static var active:Boolean = false;
public static function warning(_arg1:Object):void{
if (warningsAsErrors){
error(_arg1);
return;
};
trace(("WARNING: " + _arg1));
}
public static function trace(_arg1:Object):void{
dotrace(_arg1);
}
public static function delimiter():void{
}
public static function clear():void{
}
public static function error(_arg1:Object):void{
trace(("ERROR: " + _arg1));
throw (new Error(_arg1));
}
}
}//package away3d.core.utils
private const dotrace:Function = function (_arg1:Object):void{
trace(_arg1);
};
Section 68
//FaceVO (away3d.core.utils.FaceVO)
package away3d.core.utils {
import flash.display.*;
import away3d.core.base.*;
import away3d.containers.*;
import flash.geom.*;
public class FaceVO {
public var width:int;
public var invalidated:Boolean;// = true
public var mapping:Matrix;
public var source:Object3D;
public var color:uint;
public var view:View3D;
public var height:int;
public var cleared:Boolean;// = true
public var bitmap:BitmapData;
public var resized:Boolean;
public var updated:Boolean;// = false
public function FaceVO(_arg1:Object3D=null, _arg2:View3D=null){
cleared = true;
updated = false;
invalidated = true;
super();
this.source = _arg1;
this.view = _arg2;
}
public function clear():void{
cleared = true;
updated = true;
}
public function resize(_arg1:Number, _arg2:Number, _arg3:Boolean=true):void{
if ((((this.width == _arg1)) && ((this.height == _arg2)))){
return;
};
resized = true;
updated = true;
this.width = _arg1;
this.height = _arg2;
this.color = color;
if (bitmap){
bitmap.dispose();
};
bitmap = new BitmapData(_arg1, _arg2, _arg3, 0);
bitmap.lock();
}
}
}//package away3d.core.utils
Section 69
//IClonable (away3d.core.utils.IClonable)
package away3d.core.utils {
public interface IClonable {
function clone(_arg1=null);
}
}//package away3d.core.utils
Section 70
//Init (away3d.core.utils.Init)
package away3d.core.utils {
import flash.display.*;
import away3d.materials.*;
import away3d.core.math.*;
import away3d.core.base.*;
import away3d.core.*;
public class Init {
private var init:Object;
private static var inits:Array = [];
public function Init(_arg1:Object){
this.init = _arg1;
}
public function getArray(_arg1:String):Array{
var _local2:Array;
if (init == null){
return ([]);
};
if (!init.hasOwnProperty(_arg1)){
return ([]);
};
_local2 = init[_arg1];
delete init[_arg1];
return (_local2);
}
public function getSegmentMaterial(_arg1:String):ISegmentMaterial{
var _local2:ISegmentMaterial;
if (init == null){
return (null);
};
if (!init.hasOwnProperty(_arg1)){
return (null);
};
_local2 = Cast.wirematerial(init[_arg1]);
delete init[_arg1];
return (_local2);
}
public function getBitmap(_arg1:String):BitmapData{
var _local2:BitmapData;
if (init == null){
return (null);
};
if (!init.hasOwnProperty(_arg1)){
return (null);
};
_local2 = Cast.bitmap(init[_arg1]);
delete init[_arg1];
return (_local2);
}
public function getObject3D(_arg1:String):Object3D{
return ((getObject(_arg1, Object3D) as Object3D));
}
public function getString(_arg1:String, _arg2:String):String{
var _local3:String;
if (init == null){
return (_arg2);
};
if (!init.hasOwnProperty(_arg1)){
return (_arg2);
};
_local3 = init[_arg1];
delete init[_arg1];
return (_local3);
}
public function getObjectOrInit(_arg1:String, _arg2:Class=null):Object{
var _local3:Object;
if (init == null){
return (null);
};
if (!init.hasOwnProperty(_arg1)){
return (null);
};
_local3 = init[_arg1];
delete init[_arg1];
if (_local3 == null){
return (null);
};
if (_arg2 != null){
if (!(_local3 is _arg2)){
return (new _arg2(_local3));
};
};
return (_local3);
}
public function getPosition(_arg1:String):Number3D{
var _local2:Object;
var _local3:Object3D;
_local2 = getObject(_arg1);
if (_local2 == null){
return (null);
};
if ((_local2 is Number3D)){
return ((_local2 as Number3D));
};
if ((_local2 is Object3D)){
_local3 = (_local2 as Object3D);
return ((_local3.scene) ? _local3.scenePosition : _local3.position);
};
if ((_local2 is String)){
if (_local2 == "center"){
return (new Number3D());
};
};
throw (new CastError(("Cast get position of " + _local2)));
}
public function getInit(_arg1:String):Init{
var _local2:Init;
if (init == null){
return (new Init(null));
};
if (!init.hasOwnProperty(_arg1)){
return (new Init(null));
};
_local2 = Init.parse(init[_arg1]);
delete init[_arg1];
return (_local2);
}
public function getNumber2D(_arg1:String):Number2D{
return ((getObject(_arg1, Number2D) as Number2D));
}
public function getBoolean(_arg1:String, _arg2:Boolean):Boolean{
var _local3:Boolean;
if (init == null){
return (_arg2);
};
if (!init.hasOwnProperty(_arg1)){
return (_arg2);
};
_local3 = init[_arg1];
delete init[_arg1];
return (_local3);
}
public function getColor(_arg1:String, _arg2:uint):uint{
var _local3:uint;
if (init == null){
return (_arg2);
};
if (!init.hasOwnProperty(_arg1)){
return (_arg2);
};
_local3 = Cast.color(init[_arg1]);
delete init[_arg1];
return (_local3);
}
public function getObject(_arg1:String, _arg2:Class=null):Object{
var _local3:Object;
if (init == null){
return (null);
};
if (!init.hasOwnProperty(_arg1)){
return (null);
};
_local3 = init[_arg1];
delete init[_arg1];
if (_local3 == null){
return (null);
};
if (_arg2 != null){
if (!(_local3 is _arg2)){
throw (new CastError(((((("Parameter \"" + _arg1) + "\" is not of class ") + _arg2) + ": ") + _local3)));
};
};
return (_local3);
}
public function getNumber3D(_arg1:String):Number3D{
return ((getObject(_arg1, Number3D) as Number3D));
}
arcane function addForCheck():void{
if (init == null){
return;
};
init["dontCheckUnused"] = false;
inits.push(init);
}
public function getInt(_arg1:String, _arg2:int, _arg3:Object=null):int{
var _local4:int;
var _local5:int;
var _local6:int;
if (init == null){
return (_arg2);
};
if (!init.hasOwnProperty(_arg1)){
return (_arg2);
};
_local4 = init[_arg1];
if (_arg3 != null){
if (_arg3.hasOwnProperty("min")){
_local5 = _arg3["min"];
if (_local4 < _local5){
_local4 = _local5;
};
};
if (_arg3.hasOwnProperty("max")){
_local6 = _arg3["max"];
if (_local4 > _local6){
_local4 = _local6;
};
};
};
delete init[_arg1];
return (_local4);
}
arcane function removeFromCheck():void{
if (init == null){
return;
};
init["dontCheckUnused"] = true;
}
public function getMaterial(_arg1:String):ITriangleMaterial{
var _local2:ITriangleMaterial;
if (init == null){
return (null);
};
if (!init.hasOwnProperty(_arg1)){
return (null);
};
_local2 = Cast.material(init[_arg1]);
delete init[_arg1];
return (_local2);
}
public function getNumber(_arg1:String, _arg2:Number, _arg3:Object=null):Number{
var _local4:Number;
var _local5:Number;
var _local6:Number;
if (init == null){
return (_arg2);
};
if (!init.hasOwnProperty(_arg1)){
return (_arg2);
};
_local4 = init[_arg1];
if (_arg3 != null){
if (_arg3.hasOwnProperty("min")){
_local5 = _arg3["min"];
if (_local4 < _local5){
_local4 = _local5;
};
};
if (_arg3.hasOwnProperty("max")){
_local6 = _arg3["max"];
if (_local4 > _local6){
_local4 = _local6;
};
};
};
delete init[_arg1];
return (_local4);
}
arcane static function checkUnusedArguments():void{
var _local1:Array;
var _local2:Object;
var _local3:String;
var _local4:String;
if (inits.length == 0){
return;
};
_local1 = inits;
inits = [];
for each (_local2 in _local1) {
if (_local2.hasOwnProperty("dontCheckUnused")){
//unresolved if
} else {
_local3 = null;
for (_local4 in _local2) {
if (_local4 == "dontCheckUnused"){
} else {
if (_local3 == null){
_local3 = "";
} else {
_local3 = (_local3 + ", ");
};
_local3 = (_local3 + ((_local4 + ":") + _local2[_local4]));
};
};
if (_local3 != null){
Debug.warning((("Unused arguments: {" + _local3) + "}"));
};
};
};
}
public static function parse(_arg1:Object):Init{
if (_arg1 == null){
return (new Init(null));
};
if ((_arg1 is Init)){
return ((_arg1 as Init));
};
inits.push(_arg1);
return (new Init(_arg1));
}
}
}//package away3d.core.utils
Section 71
//LazyEventDispatcher (away3d.core.utils.LazyEventDispatcher)
package away3d.core.utils {
import flash.events.*;
import away3d.core.*;
public class LazyEventDispatcher {
private var _dispatcher:EventDispatcher;
protected function dispatchEvent(_arg1:Event):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.dispatchEvent(_arg1));
}
protected function willTrigger(_arg1:String):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.willTrigger(_arg1));
}
arcane function get dispatcher():EventDispatcher{
return (_dispatcher);
}
protected function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
if (_dispatcher == null){
return;
};
_dispatcher.removeEventListener(_arg1, _arg2, _arg3);
}
protected function hasEventListener(_arg1:String):Boolean{
if (_dispatcher == null){
return (false);
};
return (_dispatcher.hasEventListener(_arg1));
}
protected function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (_dispatcher == null){
_dispatcher = new EventDispatcher();
};
_dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4);
}
}
}//package away3d.core.utils
Section 72
//ValueObject (away3d.core.utils.ValueObject)
package away3d.core.utils {
import flash.events.*;
public class ValueObject extends LazyEventDispatcher {
private static var changed:Event;
public function addOnChange(_arg1:Function):void{
addEventListener("changed", _arg1, false, 0, true);
}
public function removeOnChange(_arg1:Function):void{
removeEventListener("changed", _arg1, false);
}
protected function notifyChange():void{
if (!hasEventListener("changed")){
return;
};
if (changed == null){
changed = new Event("changed");
};
dispatchEvent(changed);
}
}
}//package away3d.core.utils
Section 73
//arcane (away3d.core.arcane)
package away3d.core {
public namespace arcane;
}//package away3d.core
Section 74
//FaceEvent (away3d.events.FaceEvent)
package away3d.events {
import flash.events.*;
import away3d.core.base.*;
public class FaceEvent extends Event {
public var face:Face;
public function FaceEvent(_arg1:String, _arg2:Face){
super(_arg1);
this.face = _arg2;
}
override public function clone():Event{
return (new FaceEvent(type, face));
}
}
}//package away3d.events
Section 75
//MeshElementEvent (away3d.events.MeshElementEvent)
package away3d.events {
import flash.events.*;
import away3d.core.base.*;
public class MeshElementEvent extends Event {
public var element:IMeshElement;
public function MeshElementEvent(_arg1:String, _arg2:IMeshElement){
super(_arg1);
this.element = _arg2;
}
override public function clone():Event{
return (new MeshElementEvent(type, element));
}
}
}//package away3d.events
Section 76
//MouseEvent3D (away3d.events.MouseEvent3D)
package away3d.events {
import away3d.materials.*;
import flash.events.*;
import away3d.core.draw.*;
import away3d.core.base.*;
import away3d.containers.*;
public class MouseEvent3D extends Event {
public var shiftKey:Boolean;
public var sceneX:Number;
public var sceneY:Number;
public var sceneZ:Number;
public var view:View3D;
public var uv:UV;
public var screenY:Number;
public var screenZ:Number;
public var drawpri:DrawPrimitive;
public var screenX:Number;
public var ctrlKey:Boolean;
public var material:IUVMaterial;
public var element:Object;
public var object:Object3D;
public static var MOUSE_DOWN:String = "mouseDown3D";
public static var MOUSE_OUT:String = "mouseOut3D";
public static var MOUSE_UP:String = "mouseUp3D";
public static var MOUSE_MOVE:String = "mouseMove3D";
public static var MOUSE_OVER:String = "mouseOver3D";
public function MouseEvent3D(_arg1:String){
super(_arg1);
}
override public function clone():Event{
var _local1:MouseEvent3D;
_local1 = new MouseEvent3D(type);
_local1.screenX = screenX;
_local1.screenY = screenY;
_local1.screenZ = screenZ;
_local1.sceneX = sceneX;
_local1.sceneY = sceneY;
_local1.sceneZ = sceneZ;
_local1.view = view;
_local1.object = object;
_local1.element = element;
_local1.drawpri = drawpri;
_local1.material = material;
_local1.uv = uv;
_local1.ctrlKey = ctrlKey;
_local1.shiftKey = shiftKey;
return (_local1);
}
}
}//package away3d.events
Section 77
//Object3DEvent (away3d.events.Object3DEvent)
package away3d.events {
import flash.events.*;
import away3d.core.base.*;
public class Object3DEvent extends Event {
public var object:Object3D;
public function Object3DEvent(_arg1:String, _arg2:Object3D){
super(_arg1);
this.object = _arg2;
}
override public function clone():Event{
return (new Object3DEvent(type, object));
}
}
}//package away3d.events
Section 78
//SegmentEvent (away3d.events.SegmentEvent)
package away3d.events {
import flash.events.*;
import away3d.core.base.*;
public class SegmentEvent extends Event {
public var segment:Segment;
public function SegmentEvent(_arg1:String, _arg2:Segment){
super(_arg1);
this.segment = _arg2;
}
override public function clone():Event{
return (new SegmentEvent(type, segment));
}
}
}//package away3d.events
Section 79
//AmbientLight3D (away3d.lights.AmbientLight3D)
package away3d.lights {
import flash.display.*;
import away3d.materials.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.light.*;
import away3d.core.base.*;
import away3d.core.utils.*;
import away3d.core.*;
public class AmbientLight3D extends Object3D implements ILightProvider, IPrimitiveProvider, IClonable {
var _ambientDirty:Boolean;
var _green:int;
public var _ls:AmbientLightSource;
var _ambient:Number;
public var debug:Boolean;
var _color:int;
var _blue:int;
var _colorDirty:Boolean;
var _red:int;
public function AmbientLight3D(_arg1:Object=null){
_ls = new AmbientLightSource();
super(_arg1);
_arg1 = Init.parse(_arg1);
color = _arg1.getColor("color", 0xFFFFFF);
ambient = _arg1.getNumber("ambient", 0.5, {min:0, max:1});
debug = _arg1.getBoolean("debug", false);
_ls.light = this;
}
public function light(_arg1:ILightConsumer):void{
if (_colorDirty){
_ls.red = _red;
_ls.green = _green;
_ls.blue = _blue;
_colorDirty = false;
};
if (_ambientDirty){
_ambientDirty = false;
_ls.updateAmbientBitmap(_ambient);
};
_arg1.ambientLight(_ls);
}
public function set ambient(_arg1:Number):void{
_ambient = _arg1;
_ambientDirty = true;
}
override public function clone(_arg1=null){
var _local2:AmbientLight3D;
_local2 = ((_arg1) || (new AmbientLight3D()));
super.clone(_local2);
_local2.color = color;
_local2.ambient = ambient;
_local2.debug = debug;
return (_local2);
}
public function get color():int{
return (_color);
}
override public function primitives(_arg1:IPrimitiveConsumer, _arg2:AbstractRenderSession):void{
super.primitives(_arg1, _arg2);
}
public function set color(_arg1:int):void{
_color = _arg1;
_red = ((_color & 0xFF0000) >> 16);
_green = ((_color & 0xFF00) >> 8);
_blue = (_color & 0xFF);
_colorDirty = true;
}
public function get ambient():Number{
return (_ambient);
}
}
}//package away3d.lights
Section 80
//DirectionalLight3D (away3d.lights.DirectionalLight3D)
package away3d.lights {
import flash.display.*;
import away3d.materials.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.light.*;
import away3d.core.base.*;
import away3d.core.utils.*;
import away3d.core.*;
public class DirectionalLight3D extends Object3D implements ILightProvider, IPrimitiveProvider, IClonable {
var _ambientDirty:Boolean;
var _green:int;
var _diffuse:Number;
public var _ls:DirectionalLightSource;
var _specularDirty:Boolean;
var _ambient:Number;
public var debug:Boolean;
var _color:int;
var _diffuseDirty:Boolean;
var _specular:Number;
var _blue:int;
var _colorDirty:Boolean;
var _brightnessDirty:Boolean;
var _red:int;
var _brightness:Number;
public function DirectionalLight3D(_arg1:Object=null){
_ls = new DirectionalLightSource();
super(_arg1);
_arg1 = Init.parse(_arg1);
color = _arg1.getColor("color", 0xFFFFFF);
ambient = _arg1.getNumber("ambient", 0.5, {min:0, max:1});
diffuse = _arg1.getNumber("diffuse", 0.5, {min:0, max:10});
specular = _arg1.getNumber("specular", 1, {min:0, max:1});
brightness = _arg1.getNumber("brightness", 1);
debug = _arg1.getBoolean("debug", false);
_ls.light = this;
addOnTransformChange(_ls.updateDirection);
}
public function get ambient():Number{
return (_ambient);
}
public function light(_arg1:ILightConsumer):void{
if (_colorDirty){
_ls.red = _red;
_ls.green = _green;
_ls.blue = _blue;
};
if (((((_ambientDirty) || (_diffuseDirty))) || (_brightnessDirty))){
_ls.updateAmbientDiffuseBitmap(ambient, diffuse);
};
if (((_ambientDirty) || (_brightnessDirty))){
_ambientDirty = false;
_ls.updateAmbientBitmap(ambient);
};
if (((_diffuseDirty) || (_brightnessDirty))){
_diffuseDirty = false;
_ls.updateDiffuseBitmap(diffuse);
};
if (((_specularDirty) || (_brightnessDirty))){
_specularDirty = false;
_ls.updateSpecularBitmap(specular);
};
_arg1.directionalLight(_ls);
_colorDirty = false;
_brightnessDirty = false;
}
public function set ambient(_arg1:Number):void{
if (_arg1 < 0){
_arg1 = 0;
};
_ambient = _arg1;
_ambientDirty = true;
}
override public function clone(_arg1=null){
var _local2:DirectionalLight3D;
_local2 = ((_arg1) || (new DirectionalLight3D()));
super.clone(_local2);
_local2.color = color;
_local2.brightness = brightness;
_local2.ambient = ambient;
_local2.diffuse = diffuse;
_local2.specular = specular;
_local2.debug = debug;
return (_local2);
}
public function get specular():Number{
return (_specular);
}
public function get diffuse():Number{
return (_diffuse);
}
public function get color():int{
return (_color);
}
override public function primitives(_arg1:IPrimitiveConsumer, _arg2:AbstractRenderSession):void{
super.primitives(_arg1, _arg2);
}
public function set specular(_arg1:Number):void{
if (_arg1 < 0){
_arg1 = 0;
};
_specular = _arg1;
_specularDirty = true;
}
public function set brightness(_arg1:Number):void{
_brightness = _arg1;
_brightnessDirty = true;
}
public function set diffuse(_arg1:Number):void{
if (_arg1 < 0){
_arg1 = 0;
};
_diffuse = _arg1;
_diffuseDirty = true;
}
public function set color(_arg1:int):void{
_color = _arg1;
_red = ((_color & 0xFF0000) >> 16);
_green = ((_color & 0xFF00) >> 8);
_blue = (_color & 0xFF);
_colorDirty = true;
}
public function get brightness():Number{
return (_brightness);
}
}
}//package away3d.lights
Section 81
//PointLight3D (away3d.lights.PointLight3D)
package away3d.lights {
import flash.display.*;
import away3d.materials.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.light.*;
import away3d.core.base.*;
import flash.geom.*;
import away3d.core.utils.*;
import away3d.core.*;
public class PointLight3D extends Object3D implements ILightProvider, IPrimitiveProvider, IClonable {
public var _ls:PointLightSource;
public var debug:Boolean;
public var specular:Number;
public var diffuse:Number;
public var color:int;
var _bitmap:BitmapData;
public var ambient:Number;
public var brightness:Number;
public function PointLight3D(_arg1:Object=null){
_ls = new PointLightSource();
super(_arg1);
_arg1 = Init.parse(_arg1);
_bitmap = _arg1.getBitmap("bitmap");
color = _arg1.getColor("color", 0xFFFFFF);
ambient = _arg1.getNumber("ambient", 1);
diffuse = _arg1.getNumber("diffuse", 1);
specular = _arg1.getNumber("specular", 1);
brightness = _arg1.getNumber("brightness", 1);
debug = _arg1.getBoolean("debug", false);
}
public function get height():Number{
return (_bitmap.height);
}
public function get bitmap():BitmapData{
var _local1:Shape;
var _local2:Matrix;
if (_bitmap == null){
_bitmap = new BitmapData(0x0100, 0x0100, false, 0);
_local1 = new Shape();
_local2 = new Matrix();
_local2.createGradientBox(0x0100, 0x0100, 0, 0, 0);
_local1.graphics.beginGradientFill(GradientType.RADIAL, [0xFFFFFF, 0], [1, 1], [0, 0xFF], _local2);
_local1.graphics.drawCircle(127, 127, 127);
_bitmap.draw(_local1);
};
return (_bitmap);
}
public function light(_arg1:ILightConsumer):void{
_ls.x = viewTransform.tx;
_ls.y = viewTransform.ty;
_ls.z = viewTransform.tz;
_ls.light = this;
_ls.red = ((color & 0xFF0000) >> 16);
_ls.green = ((color & 0xFF00) >> 8);
_ls.blue = (color & 0xFF);
_ls.ambient = (ambient * brightness);
_ls.diffuse = (diffuse * brightness);
_ls.specular = (specular * brightness);
_arg1.pointLight(_ls);
}
override public function clone(_arg1=null){
var _local2:PointLight3D;
_local2 = ((_arg1) || (new PointLight3D()));
super.clone(_local2);
_local2.color = color;
_local2.ambient = ambient;
_local2.diffuse = diffuse;
_local2.specular = specular;
_local2.debug = debug;
return (_local2);
}
override public function primitives(_arg1:IPrimitiveConsumer, _arg2:AbstractRenderSession):void{
var _local3:Vertex;
var _local4:ScreenVertex;
var _local5:DrawTriangle;
super.primitives(_arg1, _arg2);
if (!debug){
return;
};
_local3 = new Vertex(0, 0, 0);
_local4 = _local3.project(projection);
if (!_local4.visible){
return;
};
_local5 = new DrawTriangle();
_local5.v0 = new ScreenVertex((_local4.x + 3), (_local4.y + 2), _local4.z);
_local5.v1 = new ScreenVertex((_local4.x - 3), (_local4.y + 2), _local4.z);
_local5.v2 = new ScreenVertex(_local4.x, (_local4.y - 3), _local4.z);
_local5.calc();
_local5.source = this;
_local5.projection = projection;
_local5.material = new ColorMaterial(color);
_arg1.primitive(_local5);
}
public function get width():Number{
return (_bitmap.width);
}
}
}//package away3d.lights
Section 82
//AbstractShader (away3d.materials.shaders.AbstractShader)
package away3d.materials.shaders {
import flash.utils.*;
import flash.display.*;
import away3d.materials.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.light.*;
import away3d.core.base.*;
import away3d.containers.*;
import flash.geom.*;
import away3d.core.utils.*;
import away3d.core.*;
public class AbstractShader implements IUpdatingMaterial, ILayerMaterial {
var _graphics:Graphics;
var _view:View3D;
var _parentFaceVO:FaceVO;
var eTri2x:Number;
var eTri2y:Number;
public var blendMode:String;
var _dict:Dictionary;
var _mapping:Matrix;
var _spriteDictionary:Dictionary;
var ambient:AmbientLightSource;
var _shape:Shape;
var _n2:Number3D;
var _n1:Number3D;
public var smooth:Boolean;
var _n0:Number3D;
var _source:Mesh;
var _face:Face;
var _lights:LightArray;
var eTri0x:Number;
var eTri0y:Number;
var _bitmapRect:Rectangle;
public var debug:Boolean;
var _shapeDictionary:Dictionary;
var _normal0:Number3D;
var _sprite:Sprite;
var _normal2:Number3D;
var eTri1x:Number;
var eTri1y:Number;
var directional:DirectionalLightSource;
var _faceDictionary:Dictionary;
var _s:Shape;
var _faceVO:FaceVO;
var _normal1:Number3D;
public function AbstractShader(_arg1:Object=null){
_faceDictionary = new Dictionary(true);
_spriteDictionary = new Dictionary(true);
_shapeDictionary = new Dictionary(true);
_normal0 = new Number3D();
_normal1 = new Number3D();
_normal2 = new Number3D();
_mapping = new Matrix();
_s = new Shape();
super();
_arg1 = Init.parse(_arg1);
smooth = _arg1.getBoolean("smooth", false);
debug = _arg1.getBoolean("debug", false);
blendMode = _arg1.getString("blendMode", BlendMode.NORMAL);
}
public function clearFaceDictionary(_arg1:Object3D, _arg2:View3D):void{
throw (new Error("Not implemented"));
}
public function getShape(_arg1:Sprite):Shape{
if (_source.ownCanvas){
if (!(_shape = _shapeDictionary[_source])){
_arg1.addChild((_shape = (_shapeDictionary[_source] = new Shape())));
};
} else {
if (!(_shape = _shapeDictionary[_face])){
_arg1.addChild((_shape = (_shapeDictionary[_face] = new Shape())));
};
};
return (_shape);
}
public function clearShapeDictionary():void{
for each (_shape in _shapeDictionary) {
_shape.graphics.clear();
};
}
public function updateMaterial(_arg1:Object3D, _arg2:View3D):void{
throw (new Error("Not implemented"));
}
public function renderFace(_arg1:Face, _arg2:Rectangle, _arg3:FaceVO):FaceVO{
_source = _arg1.parent;
_view = _source.session.view;
_parentFaceVO = _arg3;
_faceVO = _faceDictionary[_arg1];
if (!_faceVO){
_faceVO = (_faceDictionary[_arg1] = new FaceVO(_source, _view));
};
if (_arg3.resized){
_arg3.resized = false;
_faceVO.resized = true;
};
if (((_arg3.updated) || (_faceVO.invalidated))){
_arg3.updated = false;
_bitmapRect = _arg1.bitmapRect;
if (_faceVO.invalidated){
_faceVO.invalidated = false;
} else {
_faceVO.updated = true;
};
_faceVO.bitmap = _arg3.bitmap;
renderShader(_arg1);
};
return (_faceVO);
}
public function renderShader(_arg1:Face):void{
throw (new Error("Not implemented"));
}
public function get visible():Boolean{
return (true);
}
public function getLightingShape(_arg1:Sprite, _arg2:AbstractLightSource):Shape{
if (_source.ownCanvas){
if (!_shapeDictionary[_source]){
_shapeDictionary[_source] = new Dictionary(true);
};
if (!(_shape = _shapeDictionary[_source][_arg2])){
_arg1.addChild((_shape = (_shapeDictionary[_source][_arg2] = new Shape())));
};
} else {
if (!_shapeDictionary[_face]){
_shapeDictionary[_face] = new Dictionary(true);
};
if (!(_shape = _shapeDictionary[_face][_arg2])){
_arg1.addChild((_shape = (_shapeDictionary[_face][_arg2] = new Shape())));
};
};
return (_shape);
}
final public function contains(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number):Boolean{
if ((((_arg1 * (_arg8 - _arg4)) + (_arg3 * (_arg2 - _arg8))) + (_arg7 * (_arg4 - _arg2))) < -0.001){
return (false);
};
if ((((_arg1 * (_arg6 - _arg8)) + (_arg7 * (_arg2 - _arg6))) + (_arg5 * (_arg8 - _arg2))) < -0.001){
return (false);
};
if ((((_arg7 * (_arg6 - _arg4)) + (_arg3 * (_arg8 - _arg6))) + (_arg5 * (_arg4 - _arg8))) < -0.001){
return (false);
};
return (true);
}
public function clearLightingShapeDictionary():void{
for each (_dict in _shapeDictionary) {
for each (_shape in _dict) {
_shape.graphics.clear();
};
};
}
public function renderLayer(_arg1:DrawTriangle, _arg2:Sprite):void{
_source = (_arg1.source as Mesh);
_view = _source.session.view;
_face = _arg1.face;
_lights = _arg1.source.session.lightarray;
}
}
}//package away3d.materials.shaders
Section 83
//AmbientShader (away3d.materials.shaders.AmbientShader)
package away3d.materials.shaders {
import flash.display.*;
import away3d.core.draw.*;
import away3d.core.base.*;
import away3d.containers.*;
public class AmbientShader extends AbstractShader {
public var color:uint;
public function AmbientShader(_arg1:Object=null){
super(_arg1);
}
override public function clearFaceDictionary(_arg1:Object3D, _arg2:View3D):void{
for each (_faceVO in _faceDictionary) {
if (_arg1 == _faceVO.source){
if (!_faceVO.cleared){
_faceVO.clear();
};
_faceVO.invalidated = true;
};
};
}
override public function updateMaterial(_arg1:Object3D, _arg2:View3D):void{
clearLightingShapeDictionary();
}
override public function renderShader(_arg1:Face):void{
for each (ambient in _source.session.lightarray.ambients) {
_faceVO.bitmap.draw(ambient.ambientBitmap, null, null, blendMode);
};
for each (directional in _source.session.lightarray.directionals) {
_faceVO.bitmap.draw(directional.ambientBitmap, null, null, blendMode);
};
}
override public function renderLayer(_arg1:DrawTriangle, _arg2:Sprite):void{
super.renderLayer(_arg1, _arg2);
for each (ambient in _arg1.source.session.lightarray.ambients) {
if (_lights.numLights > 1){
_shape = getLightingShape(_arg2, ambient);
_shape.blendMode = blendMode;
_graphics = _shape.graphics;
} else {
_graphics = _arg2.graphics;
};
_source.session.renderTriangleBitmap(ambient.ambientBitmap, _mapping, _arg1.v0, _arg1.v1, _arg1.v2, smooth, false, _graphics);
};
if (debug){
_arg1.source.session.renderTriangleLine(0, 0xFF, 1, _arg1.v0, _arg1.v1, _arg1.v2);
};
}
}
}//package away3d.materials.shaders
Section 84
//DiffusePhongShader (away3d.materials.shaders.DiffusePhongShader)
package away3d.materials.shaders {
import flash.display.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.base.*;
import away3d.containers.*;
public class DiffusePhongShader extends AbstractShader {
var _normal2z:Number;
var _szx:Number;
var eTriVal:Number;// = 162.974661726101
var _szz:Number;
var _szy:Number;
var _diffuseTransform:Matrix3D;
var _normal0z:Number;
var _normal1z:Number;
var eTriConst:Number;// = 162.974661726101
public function DiffusePhongShader(_arg1:Object=null){
eTriVal = (0x0200 / Math.PI);
eTriConst = (0x0200 / Math.PI);
super(_arg1);
}
override public function updateMaterial(_arg1:Object3D, _arg2:View3D):void{
clearLightingShapeDictionary();
for each (directional in _arg1.session.lightarray.directionals) {
if (((!(directional.diffuseTransform[_arg1])) || (_arg1.sceneTransformed))){
directional.setDiffuseTransform(_arg1);
clearFaceDictionary(_arg1, _arg2);
};
};
}
override public function renderShader(_arg1:Face):void{
for each (directional in _source.session.lightarray.directionals) {
_diffuseTransform = directional.diffuseTransform[_source];
_n0 = _source.getVertexNormal(_arg1.v0);
_n1 = _source.getVertexNormal(_arg1.v1);
_n2 = _source.getVertexNormal(_arg1.v2);
_szx = _diffuseTransform.szx;
_szy = _diffuseTransform.szy;
_szz = _diffuseTransform.szz;
_normal0z = (((_n0.x * _szx) + (_n0.y * _szy)) + (_n0.z * _szz));
_normal1z = (((_n1.x * _szx) + (_n1.y * _szy)) + (_n1.z * _szz));
_normal2z = (((_n2.x * _szx) + (_n2.y * _szy)) + (_n2.z * _szz));
if ((((((_normal0z > 0)) || ((_normal1z > 0)))) || ((_normal2z > 0)))){
eTri0x = (eTriConst * Math.acos(_normal0z));
if (((_faceVO.cleared) && (!(_parentFaceVO.updated)))){
_faceVO.bitmap = _parentFaceVO.bitmap.clone();
_faceVO.bitmap.lock();
};
_faceVO.cleared = false;
_faceVO.updated = true;
_mapping.a = ((eTriConst * Math.acos(_normal1z)) - eTri0x);
_mapping.b = 127;
_mapping.c = ((eTriConst * Math.acos(_normal2z)) - eTri0x);
_mapping.d = 0xFF;
_mapping.tx = eTri0x;
_mapping.ty = 0;
_mapping.invert();
_mapping.concat(_arg1._dt.invtexturemapping);
_graphics = _s.graphics;
_graphics.clear();
_graphics.beginBitmapFill(directional.diffuseBitmap, _mapping, false, smooth);
_graphics.drawRect(0, 0, _bitmapRect.width, _bitmapRect.height);
_graphics.endFill();
_faceVO.bitmap.draw(_s, null, null, blendMode);
};
};
}
override public function renderLayer(_arg1:DrawTriangle, _arg2:Sprite):void{
super.renderLayer(_arg1, _arg2);
for each (directional in _lights.directionals) {
if (_lights.numLights > 1){
_shape = getLightingShape(_arg2, directional);
_shape.blendMode = blendMode;
_graphics = _shape.graphics;
} else {
_graphics = _arg2.graphics;
};
_diffuseTransform = directional.diffuseTransform[_source];
_n0 = _source.getVertexNormal(_arg1.face.v0);
_n1 = _source.getVertexNormal(_arg1.face.v1);
_n2 = _source.getVertexNormal(_arg1.face.v2);
_szx = _diffuseTransform.szx;
_szy = _diffuseTransform.szy;
_szz = _diffuseTransform.szz;
_normal0z = (((_n0.x * _szx) + (_n0.y * _szy)) + (_n0.z * _szz));
_normal1z = (((_n1.x * _szx) + (_n1.y * _szy)) + (_n1.z * _szz));
_normal2z = (((_n2.x * _szx) + (_n2.y * _szy)) + (_n2.z * _szz));
eTri0x = (eTriConst * Math.acos(_normal0z));
_mapping.a = ((eTriConst * Math.acos(_normal1z)) - eTri0x);
_mapping.b = 127;
_mapping.c = ((eTriConst * Math.acos(_normal2z)) - eTri0x);
_mapping.d = 0xFF;
_mapping.tx = eTri0x;
_mapping.ty = 0;
_mapping.invert();
_source.session.renderTriangleBitmap(directional.ambientDiffuseBitmap, _mapping, _arg1.v0, _arg1.v1, _arg1.v2, smooth, false, _graphics);
};
if (debug){
_source.session.renderTriangleLine(0, 0xFF, 1, _arg1.v0, _arg1.v1, _arg1.v2);
};
}
override public function clearFaceDictionary(_arg1:Object3D, _arg2:View3D):void{
for each (_faceVO in _faceDictionary) {
if (_arg1 == _faceVO.source){
if (!_faceVO.cleared){
_faceVO.clear();
};
_faceVO.invalidated = true;
};
};
}
}
}//package away3d.materials.shaders
Section 85
//SpecularPhongShader (away3d.materials.shaders.SpecularPhongShader)
package away3d.materials.shaders {
import flash.utils.*;
import flash.display.*;
import away3d.materials.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.base.*;
import away3d.containers.*;
import flash.geom.*;
import away3d.core.utils.*;
import away3d.core.*;
public class SpecularPhongShader extends AbstractShader {
var _sxx:Number;
var _sxy:Number;
var _syy:Number;
var _syz:Number;
var _szx:Number;
var _syx:Number;
var _szz:Number;
var _szy:Number;
var _specMin:Number;
var coeff2:Number;
var coeff3:Number;
var coeff1:Number;
var specVal1:Number;
var specVal3:Number;
var specVal2:Number;
var _specular:Number;
var _nFaceTransZ:Number;
var _shininess:Number;
var _specColor:ColorTransform;
var _nFace:Number3D;
var _specularTransform:Matrix3D;
var specValFace:Number;
var _sxz:Number;
public function SpecularPhongShader(_arg1:Object=null){
super(_arg1);
_arg1 = Init.parse(_arg1);
shininess = _arg1.getNumber("shininess", 20);
specular = _arg1.getNumber("specular", 1);
}
override public function updateMaterial(_arg1:Object3D, _arg2:View3D):void{
clearLightingShapeDictionary();
for each (directional in _arg1.session.lightarray.directionals) {
if (!directional.specularTransform[_arg1]){
directional.specularTransform[_arg1] = new Dictionary(true);
};
if (((((!(directional.specularTransform[_arg1][_arg2])) || (_arg1.sceneTransformed))) || (_arg1.session.view.camera.sceneTransformed))){
directional.setSpecularTransform(_arg1, _arg2);
clearFaceDictionary(_arg1, _arg2);
};
};
}
override public function renderShader(_arg1:Face):void{
for each (directional in _source.session.lightarray.directionals) {
_specularTransform = directional.specularTransform[_source][_view];
_n0 = _source.getVertexNormal(_arg1.v0);
_n1 = _source.getVertexNormal(_arg1.v1);
_n2 = _source.getVertexNormal(_arg1.v2);
_nFace = _arg1.normal;
_szx = _specularTransform.szx;
_szy = _specularTransform.szy;
_szz = _specularTransform.szz;
specVal1 = Math.pow((((_n0.x * _szx) + (_n0.y * _szy)) + (_n0.z * _szz)), (_shininess / 20));
specVal2 = Math.pow((((_n1.x * _szx) + (_n1.y * _szy)) + (_n1.z * _szz)), (_shininess / 20));
specVal3 = Math.pow((((_n2.x * _szx) + (_n2.y * _szy)) + (_n2.z * _szz)), (_shininess / 20));
specValFace = Math.pow((_nFaceTransZ = (((_nFace.x * _szx) + (_nFace.y * _szy)) + (_nFace.z * _szz))), (_shininess / 20));
if ((((_nFaceTransZ > 0)) && ((((((((((((((specValFace > _specMin)) || ((specVal1 > _specMin)))) || ((specVal2 > _specMin)))) || ((specVal3 > _specMin)))) || ((_nFace.dot(_n0) < 0.8)))) || ((_nFace.dot(_n1) < 0.8)))) || ((_nFace.dot(_n2) < 0.8)))))){
if (((_faceVO.cleared) && (!(_parentFaceVO.updated)))){
_faceVO.bitmap = _parentFaceVO.bitmap.clone();
_faceVO.bitmap.lock();
};
_faceVO.cleared = false;
_faceVO.updated = true;
_sxx = _specularTransform.sxx;
_sxy = _specularTransform.sxy;
_sxz = _specularTransform.sxz;
_syx = _specularTransform.syx;
_syy = _specularTransform.syy;
_syz = _specularTransform.syz;
eTri0x = (((_n0.x * _sxx) + (_n0.y * _sxy)) + (_n0.z * _sxz));
eTri0y = (((_n0.x * _syx) + (_n0.y * _syy)) + (_n0.z * _syz));
eTri1x = (((_n1.x * _sxx) + (_n1.y * _sxy)) + (_n1.z * _sxz));
eTri1y = (((_n1.x * _syx) + (_n1.y * _syy)) + (_n1.z * _syz));
eTri2x = (((_n2.x * _sxx) + (_n2.y * _sxy)) + (_n2.z * _sxz));
eTri2y = (((_n2.x * _syx) + (_n2.y * _syy)) + (_n2.z * _syz));
coeff1 = ((0xFF * Math.acos(specVal1)) / Math.sqrt(((eTri0x * eTri0x) + (eTri0y * eTri0y))));
coeff2 = ((0xFF * Math.acos(specVal2)) / Math.sqrt(((eTri1x * eTri1x) + (eTri1y * eTri1y))));
coeff3 = ((0xFF * Math.acos(specVal3)) / Math.sqrt(((eTri2x * eTri2x) + (eTri2y * eTri2y))));
eTri0x = (eTri0x * coeff1);
eTri0y = (eTri0y * coeff1);
eTri1x = (eTri1x * coeff2);
eTri1y = (eTri1y * coeff2);
eTri2x = (eTri2x * coeff3);
eTri2y = (eTri2y * coeff3);
_mapping.a = (eTri1x - eTri0x);
_mapping.b = (eTri1y - eTri0y);
_mapping.c = (eTri2x - eTri0x);
_mapping.d = (eTri2y - eTri0y);
_mapping.tx = (eTri0x + 0xFF);
_mapping.ty = (eTri0y + 0xFF);
_mapping.invert();
_mapping.concat(_arg1._dt.invtexturemapping);
_graphics = _s.graphics;
_graphics.clear();
_graphics.beginBitmapFill(directional.specularBitmap, _mapping, false, smooth);
_graphics.drawRect(0, 0, _bitmapRect.width, _bitmapRect.height);
_graphics.endFill();
_faceVO.bitmap.draw(_s, null, _specColor, blendMode);
};
};
}
public function get specular():Number{
return (_specular);
}
public function get shininess():Number{
return (_shininess);
}
override public function renderLayer(_arg1:DrawTriangle, _arg2:Sprite):void{
super.renderLayer(_arg1, _arg2);
for each (directional in _lights.directionals) {
_specularTransform = directional.specularTransform[_source][_view];
_n0 = _source.getVertexNormal(_arg1.face.v0);
_n1 = _source.getVertexNormal(_arg1.face.v1);
_n2 = _source.getVertexNormal(_arg1.face.v2);
_nFace = _arg1.face.normal;
_szx = _specularTransform.szx;
_szy = _specularTransform.szy;
_szz = _specularTransform.szz;
specVal1 = Math.pow((((_n0.x * _szx) + (_n0.y * _szy)) + (_n0.z * _szz)), (_shininess / 20));
specVal2 = Math.pow((((_n1.x * _szx) + (_n1.y * _szy)) + (_n1.z * _szz)), (_shininess / 20));
specVal3 = Math.pow((((_n2.x * _szx) + (_n2.y * _szy)) + (_n2.z * _szz)), (_shininess / 20));
specValFace = Math.pow((_nFaceTransZ = (((_nFace.x * _szx) + (_nFace.y * _szy)) + (_nFace.z * _szz))), (_shininess / 20));
if ((((_nFaceTransZ > 0)) && ((((((((((((((specValFace > _specMin)) || ((specVal1 > _specMin)))) || ((specVal2 > _specMin)))) || ((specVal3 > _specMin)))) || ((_nFace.dot(_n0) < 0.8)))) || ((_nFace.dot(_n1) < 0.8)))) || ((_nFace.dot(_n2) < 0.8)))))){
_shape = getLightingShape(_arg2, directional);
_shape.blendMode = blendMode;
_shape.alpha = _specular;
_graphics = _shape.graphics;
_sxx = _specularTransform.sxx;
_sxy = _specularTransform.sxy;
_sxz = _specularTransform.sxz;
_syx = _specularTransform.syx;
_syy = _specularTransform.syy;
_syz = _specularTransform.syz;
eTri0x = (((_n0.x * _sxx) + (_n0.y * _sxy)) + (_n0.z * _sxz));
eTri0y = (((_n0.x * _syx) + (_n0.y * _syy)) + (_n0.z * _syz));
eTri1x = (((_n1.x * _sxx) + (_n1.y * _sxy)) + (_n1.z * _sxz));
eTri1y = (((_n1.x * _syx) + (_n1.y * _syy)) + (_n1.z * _syz));
eTri2x = (((_n2.x * _sxx) + (_n2.y * _sxy)) + (_n2.z * _sxz));
eTri2y = (((_n2.x * _syx) + (_n2.y * _syy)) + (_n2.z * _syz));
coeff1 = ((0xFF * Math.acos(specVal1)) / Math.sqrt(((eTri0x * eTri0x) + (eTri0y * eTri0y))));
coeff2 = ((0xFF * Math.acos(specVal2)) / Math.sqrt(((eTri1x * eTri1x) + (eTri1y * eTri1y))));
coeff3 = ((0xFF * Math.acos(specVal3)) / Math.sqrt(((eTri2x * eTri2x) + (eTri2y * eTri2y))));
eTri0x = (eTri0x * coeff1);
eTri0y = (eTri0y * coeff1);
eTri1x = (eTri1x * coeff2);
eTri1y = (eTri1y * coeff2);
eTri2x = (eTri2x * coeff3);
eTri2y = (eTri2y * coeff3);
_mapping.a = (eTri1x - eTri0x);
_mapping.b = (eTri1y - eTri0y);
_mapping.c = (eTri2x - eTri0x);
_mapping.d = (eTri2y - eTri0y);
_mapping.tx = (eTri0x + 0xFF);
_mapping.ty = (eTri0y + 0xFF);
_mapping.invert();
_source.session.renderTriangleBitmap(directional.specularBitmap, _mapping, _arg1.v0, _arg1.v1, _arg1.v2, smooth, false, _graphics);
};
};
if (debug){
_source.session.renderTriangleLine(0, 0xFF, 1, _arg1.v0, _arg1.v1, _arg1.v2);
};
}
override public function clearFaceDictionary(_arg1:Object3D, _arg2:View3D):void{
for each (_faceVO in _faceDictionary) {
if ((((_arg1 == _faceVO.source)) && ((_arg2 == _faceVO.view)))){
if (!_faceVO.cleared){
_faceVO.clear();
};
_faceVO.invalidated = true;
};
};
}
public function set specular(_arg1:Number):void{
_specular = _arg1;
_specColor = new ColorTransform(1, 1, 1, _specular, 0, 0, 0, 0);
}
public function set shininess(_arg1:Number):void{
_shininess = _arg1;
_specMin = Math.pow(0.8, (_shininess / 20));
}
}
}//package away3d.materials.shaders
Section 86
//AlphaBitmapMaterial (away3d.materials.AlphaBitmapMaterial)
package away3d.materials {
import flash.utils.*;
import flash.display.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.base.*;
import flash.geom.*;
import away3d.core.utils.*;
import away3d.core.*;
public class AlphaBitmapMaterial extends TransformBitmapMaterial implements ITriangleMaterial, IUVMaterial {
private var _alpha:Number;
private var _cache:Dictionary;
private var _grades:int;
public function AlphaBitmapMaterial(_arg1:BitmapData, _arg2:Object=null){
super(_arg1, _arg2);
if (!_arg1.transparent){
_bitmap = new BitmapData(_arg1.width, _arg1.height, true);
_bitmap.draw(_arg1);
};
_renderBitmap = _bitmap;
_cache = new Dictionary();
_arg2 = Init.parse(_arg2);
_grades = _arg2.getInt("grades", 32, {min:2, max:0x0100});
alpha = _arg2.getNumber("alpha", 1, {min:0, max:1});
}
public function set bitmap(_arg1:BitmapData):void{
_bitmap = _arg1;
_cache = new Dictionary();
updateCurrent();
}
private function updateCurrent():void{
if (_alpha == 1){
_renderBitmap = _bitmap;
return;
};
if (_alpha == 0){
_renderBitmap = null;
return;
};
_renderBitmap = _cache[_alpha];
if (_renderBitmap == null){
_renderBitmap = _bitmap.clone();
_renderBitmap.colorTransform(_renderBitmap.rect, new ColorTransform(1, 1, 1, _alpha));
_cache[_alpha] = _renderBitmap;
};
}
override public function get visible():Boolean{
return ((_alpha > 0));
}
public function set alpha(_arg1:Number):void{
if (_arg1 > 1){
_arg1 = 1;
};
if (_arg1 < 0){
_arg1 = 0;
};
if (_arg1 == _alpha){
return;
};
_arg1 = (Math.round((_arg1 * (_grades - 1))) / (_grades - 1));
_alpha = _arg1;
updateCurrent();
}
public function get alpha():Number{
return (_alpha);
}
}
}//package away3d.materials
Section 87
//BitmapMaterial (away3d.materials.BitmapMaterial)
package away3d.materials {
import flash.utils.*;
import flash.display.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.base.*;
import away3d.containers.*;
import flash.geom.*;
import away3d.core.utils.*;
import away3d.core.*;
public class BitmapMaterial implements ITriangleMaterial, IUVMaterial, ILayerMaterial, IUpdatingMaterial {
var triangle:DrawTriangle;
var _blendMode:String;
var dsca:Number;
var dsbc:Number;
var faz:Number;
var ay:Number;
var az:Number;
var _renderBitmap:BitmapData;
var fbz:Number;
var ax:Number;
var _zeroPoint:Point;
var mcax:Number;
var _bitmap:BitmapData;
var mcaz:Number;
var _bitmapRect:Rectangle;
public var debug:Boolean;
var mcay:Number;
var bx:Number;
var by:Number;
var bz:Number;
var fcz:Number;
var map:Matrix;
var dbcx:Number;
var dbcy:Number;
var cx:Number;
var cy:Number;
var cz:Number;
var _sourceVO:FaceVO;
var dmax:Number;
var _mapping:Matrix;
var dabx:Number;
var session:AbstractRenderSession;
public var repeat:Boolean;
var _shape:Shape;
var daby:Number;
public var smooth:Boolean;
var svArray:Array;
var mbcx:Number;
var mbcy:Number;
var mbcz:Number;
var _shapeDictionary:Dictionary;
var focus:Number;
var mabx:Number;
var maby:Number;
var mabz:Number;
var dsab:Number;
var _faceDictionary:Dictionary;
var _s:Shape;
var _faceVO:FaceVO;
var dcax:Number;
var dcay:Number;
var _graphics:Graphics;
var _precision:Number;
public function BitmapMaterial(_arg1:BitmapData, _arg2:Object=null){
_faceDictionary = new Dictionary(true);
_zeroPoint = new Point(0, 0);
_shapeDictionary = new Dictionary(true);
_s = new Shape();
map = new Matrix();
triangle = new DrawTriangle();
svArray = new Array();
super();
_renderBitmap = (_bitmap = _arg1);
_arg2 = Init.parse(_arg2);
smooth = _arg2.getBoolean("smooth", false);
debug = _arg2.getBoolean("debug", false);
repeat = _arg2.getBoolean("repeat", false);
precision = _arg2.getNumber("precision", 0);
_blendMode = _arg2.getString("blendMode", BlendMode.NORMAL);
createVertexArray();
}
public function clearShapeDictionary():void{
for each (_shape in _shapeDictionary) {
_shape.graphics.clear();
};
}
public function updateMaterial(_arg1:Object3D, _arg2:View3D):void{
clearShapeDictionary();
}
public function renderFace(_arg1:Face, _arg2:Rectangle, _arg3:FaceVO):FaceVO{
renderSource(_arg1.parent, _arg2, new Matrix());
_faceVO = _faceDictionary[_arg1];
if (!_faceVO){
_faceVO = (_faceDictionary[_arg1] = new FaceVO());
};
if (_arg3.resized){
_arg3.resized = false;
_faceVO.resized = true;
};
if (((_arg3.updated) || (_faceVO.invalidated))){
_arg3.updated = false;
_faceVO.invalidated = false;
_faceVO.cleared = false;
_faceVO.updated = true;
_faceVO.bitmap = _arg3.bitmap.clone();
_faceVO.bitmap.copyPixels(_sourceVO.bitmap, _arg1.bitmapRect, _zeroPoint, null, null, true);
};
return (_faceVO);
}
protected function renderRec(_arg1:ScreenVertex, _arg2:ScreenVertex, _arg3:ScreenVertex, _arg4:Number):void{
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Number;
var _local10:Number;
var _local11:ScreenVertex;
var _local12:ScreenVertex;
var _local13:ScreenVertex;
ax = _arg1.x;
ay = _arg1.y;
az = _arg1.z;
bx = _arg2.x;
by = _arg2.y;
bz = _arg2.z;
cx = _arg3.x;
cy = _arg3.y;
cz = _arg3.z;
if (!session.view.clip.rect(Math.min(ax, Math.min(bx, cx)), Math.min(ay, Math.min(by, cy)), Math.max(ax, Math.max(bx, cx)), Math.max(ay, Math.max(by, cy)))){
return;
};
if ((((((az <= 0)) && ((bz <= 0)))) && ((cz <= 0)))){
return;
};
if ((((((((_arg4 >= 100)) || ((focus == Infinity)))) || (((Math.max(Math.max(ax, bx), cx) - Math.min(Math.min(ax, bx), cx)) < 10)))) || (((Math.max(Math.max(ay, by), cy) - Math.min(Math.min(ay, by), cy)) < 10)))){
session.renderTriangleBitmap(_renderBitmap, map, _arg1, _arg2, _arg3, smooth, repeat, _graphics);
if (debug){
session.renderTriangleLine(1, 0xFF00, 1, _arg1, _arg2, _arg3);
};
return;
};
faz = (focus + az);
fbz = (focus + bz);
fcz = (focus + cz);
mabz = (2 / (faz + fbz));
mbcz = (2 / (fbz + fcz));
mcaz = (2 / (fcz + faz));
dabx = ((ax + bx) - (mabx = (((ax * faz) + (bx * fbz)) * mabz)));
daby = ((ay + by) - (maby = (((ay * faz) + (by * fbz)) * mabz)));
dbcx = ((bx + cx) - (mbcx = (((bx * fbz) + (cx * fcz)) * mbcz)));
dbcy = ((by + cy) - (mbcy = (((by * fbz) + (cy * fcz)) * mbcz)));
dcax = ((cx + ax) - (mcax = (((cx * fcz) + (ax * faz)) * mcaz)));
dcay = ((cy + ay) - (mcay = (((cy * fcz) + (ay * faz)) * mcaz)));
dsab = ((dabx * dabx) + (daby * daby));
dsbc = ((dbcx * dbcx) + (dbcy * dbcy));
dsca = ((dcax * dcax) + (dcay * dcay));
if ((((((dsab <= precision)) && ((dsca <= precision)))) && ((dsbc <= precision)))){
session.renderTriangleBitmap(_renderBitmap, map, _arg1, _arg2, _arg3, smooth, repeat, _graphics);
if (debug){
session.renderTriangleLine(1, 0xFF00, 1, _arg1, _arg2, _arg3);
};
return;
};
_local5 = map.a;
_local6 = map.b;
_local7 = map.c;
_local8 = map.d;
_local9 = map.tx;
_local10 = map.ty;
var _temp1 = _arg4;
_arg4 = (_arg4 + 1);
_local13 = svArray[_temp1];
_local13.x = (mbcx / 2);
_local13.y = (mbcy / 2);
_local13.z = ((bz + cz) / 2);
if ((((((dsab > precision)) && ((dsca > precision)))) && ((dsbc > precision)))){
var _temp2 = _arg4;
_arg4 = (_arg4 + 1);
_local11 = svArray[_temp2];
_local11.x = (mabx / 2);
_local11.y = (maby / 2);
_local11.z = ((az + bz) / 2);
var _temp3 = _arg4;
_arg4 = (_arg4 + 1);
_local12 = svArray[_temp3];
_local12.x = (mcax / 2);
_local12.y = (mcay / 2);
_local12.z = ((cz + az) / 2);
_local5 = (_local5 * 2);
map.a = _local5;
_local6 = (_local6 * 2);
map.b = _local6;
_local7 = (_local7 * 2);
map.c = _local7;
_local8 = (_local8 * 2);
map.d = _local8;
_local9 = (_local9 * 2);
map.tx = _local9;
_local10 = (_local10 * 2);
map.ty = _local10;
renderRec(_arg1, _local11, _local12, _arg4);
map.a = _local5;
map.b = _local6;
map.c = _local7;
map.d = _local8;
map.tx = (_local9 - 1);
map.ty = _local10;
renderRec(_local11, _arg2, _local13, _arg4);
map.a = _local5;
map.b = _local6;
map.c = _local7;
map.d = _local8;
map.tx = _local9;
map.ty = (_local10 - 1);
renderRec(_local12, _local13, _arg3, _arg4);
map.a = -(_local5);
map.b = -(_local6);
map.c = -(_local7);
map.d = -(_local8);
map.tx = (1 - _local9);
map.ty = (1 - _local10);
renderRec(_local13, _local12, _local11, _arg4);
return;
};
dmax = Math.max(dsab, Math.max(dsca, dsbc));
if (dsab == dmax){
var _temp4 = _arg4;
_arg4 = (_arg4 + 1);
_local11 = svArray[_temp4];
_local11.x = (mabx / 2);
_local11.y = (maby / 2);
_local11.z = ((az + bz) / 2);
_local5 = (_local5 * 2);
map.a = _local5;
_local7 = (_local7 * 2);
map.c = _local7;
_local9 = (_local9 * 2);
map.tx = _local9;
renderRec(_arg1, _local11, _arg3, _arg4);
map.a = (_local5 + _local6);
map.b = _local6;
map.c = (_local7 + _local8);
map.d = _local8;
map.tx = ((_local9 + _local10) - 1);
map.ty = _local10;
renderRec(_local11, _arg2, _arg3, _arg4);
return;
};
if (dsca == dmax){
var _temp5 = _arg4;
_arg4 = (_arg4 + 1);
_local12 = svArray[_temp5];
_local12.x = (mcax / 2);
_local12.y = (mcay / 2);
_local12.z = ((cz + az) / 2);
_local6 = (_local6 * 2);
map.b = _local6;
_local8 = (_local8 * 2);
map.d = _local8;
_local10 = (_local10 * 2);
map.ty = _local10;
renderRec(_arg1, _arg2, _local12, _arg4);
map.a = _local5;
map.b = (_local6 + _local5);
map.c = _local7;
map.d = (_local8 + _local7);
map.tx = _local9;
map.ty = ((_local10 + _local9) - 1);
renderRec(_local12, _arg2, _arg3, _arg4);
return;
};
map.a = (_local5 - _local6);
map.b = (_local6 * 2);
map.c = (_local7 - _local8);
map.d = (_local8 * 2);
map.tx = (_local9 - _local10);
map.ty = (_local10 * 2);
renderRec(_arg1, _arg2, _local13, _arg4);
map.a = (_local5 * 2);
map.b = (_local6 - _local5);
map.c = (_local7 * 2);
map.d = (_local8 - _local7);
map.tx = (_local9 * 2);
map.ty = (_local10 - _local9);
renderRec(_arg1, _local13, _arg3, _arg4);
}
public function set blendMode(_arg1:String):void{
_blendMode = _arg1;
}
public function get height():Number{
return (_bitmap.height);
}
public function get bitmap():BitmapData{
return (_bitmap);
}
public function renderSource(_arg1:Object3D, _arg2:Rectangle, _arg3:Matrix):void{
_sourceVO = _faceDictionary[_arg1];
if (!_sourceVO){
_sourceVO = (_faceDictionary[_arg1] = new FaceVO());
};
_sourceVO.resize(_arg2.width, _arg2.height);
if (_sourceVO.invalidated){
_arg3.scale((_arg2.width / width), (_arg2.height / height));
_sourceVO.invalidated = false;
_sourceVO.cleared = false;
_sourceVO.updated = true;
if ((((((((((((_arg3.a == 1)) && ((_arg3.d == 1)))) && ((_arg3.b == 0)))) && ((_arg3.c == 0)))) && ((_arg3.tx == 0)))) && ((_arg3.ty == 0)))){
_sourceVO.bitmap.copyPixels(_bitmap, _arg2, _zeroPoint);
} else {
_graphics = _s.graphics;
_graphics.clear();
_graphics.beginBitmapFill(_bitmap, _arg3, repeat, smooth);
_graphics.drawRect(0, 0, _arg2.width, _arg2.height);
_graphics.endFill();
_sourceVO.bitmap.draw(_s, null, null, null, _sourceVO.bitmap.rect);
};
};
}
public function renderLayer(_arg1:DrawTriangle, _arg2:Sprite):void{
if (((!(blendMode)) || ((blendMode == BlendMode.NORMAL)))){
_graphics = _arg2.graphics;
} else {
if (_arg1.source.ownCanvas){
if (!(_shape = _shapeDictionary[_arg1.source])){
_arg2.addChild((_shape = (_shapeDictionary[_arg1.source] = new Shape())));
};
} else {
if (!(_shape = _shapeDictionary[_arg1.face])){
_arg2.addChild((_shape = (_shapeDictionary[_arg1.face] = new Shape())));
};
};
_shape.blendMode = _blendMode;
_graphics = _shape.graphics;
};
renderTriangle(_arg1);
}
public function createVertexArray():void{
var _local1:Number;
_local1 = 100;
while (_local1--) {
svArray.push(new ScreenVertex());
};
}
public function get precision():Number{
return (_precision);
}
public function clearFaceDictionary():void{
for each (_faceVO in _faceDictionary) {
if (!_faceVO.cleared){
_faceVO.clear();
};
_faceVO.invalidated = true;
};
}
public function get visible():Boolean{
return (true);
}
public function get blendMode():String{
return (_blendMode);
}
public function getMapping(_arg1:DrawTriangle):Matrix{
return (((_arg1.texturemapping) || (_arg1.transformUV(this))));
}
public function renderTriangle(_arg1:DrawTriangle):void{
_mapping = getMapping(_arg1);
if (precision){
session = _arg1.source.session;
focus = _arg1.projection.focus;
map.a = _mapping.a;
map.b = _mapping.b;
map.c = _mapping.c;
map.d = _mapping.d;
map.tx = _mapping.tx;
map.ty = _mapping.ty;
renderRec(_arg1.v0, _arg1.v1, _arg1.v2, 0);
} else {
_arg1.source.session.renderTriangleBitmap(_renderBitmap, _mapping, _arg1.v0, _arg1.v1, _arg1.v2, smooth, repeat, _graphics);
};
if (debug){
_arg1.source.session.renderTriangleLine(0, 0xFF, 1, _arg1.v0, _arg1.v1, _arg1.v2);
};
}
public function get width():Number{
return (_bitmap.width);
}
public function set precision(_arg1:Number):void{
_precision = ((_arg1 * _arg1) * 1.4);
}
}
}//package away3d.materials
Section 88
//BitmapMaterialContainer (away3d.materials.BitmapMaterialContainer)
package away3d.materials {
import flash.utils.*;
import flash.display.*;
import away3d.core.draw.*;
import away3d.core.base.*;
import away3d.containers.*;
import flash.geom.*;
import away3d.core.utils.*;
import away3d.core.*;
public class BitmapMaterialContainer extends BitmapMaterial implements ITriangleMaterial, IUpdatingMaterial, ILayerMaterial {
var _faceWidth:int;
public var materials:Array;
var _containerVO:FaceVO;
var _containerDictionary:Dictionary;
var _height:Number;
public var colorTransform:ColorTransform;
var material:ILayerMaterial;
public var transparent:Boolean;
var face:Face;
var _cache:Boolean;
var dt:DrawTriangle;
var _faceHeight:int;
var _forceRender:Boolean;
var _cacheDictionary:Dictionary;
var _width:Number;
public function BitmapMaterialContainer(_arg1:int, _arg2:int, _arg3:Object=null){
_containerDictionary = new Dictionary(true);
super(new BitmapData(_arg1, _arg2, true, 0xFFFFFF), _arg3);
_width = _arg1;
_height = _arg2;
_bitmapRect = new Rectangle(0, 0, _width, _height);
_arg3 = Init.parse(_arg3);
if (!materials){
materials = _arg3.getArray("materials");
};
transparent = _arg3.getBoolean("transparent", true);
cache = _arg3.getBoolean("cache", true);
}
public function set cache(_arg1:Boolean):void{
_cache = _arg1;
if (_arg1){
_cacheDictionary = new Dictionary(true);
} else {
_cacheDictionary = null;
};
}
override public function updateMaterial(_arg1:Object3D, _arg2:View3D):void{
for each (material in materials) {
if ((material is IUpdatingMaterial)){
(material as IUpdatingMaterial).updateMaterial(_arg1, _arg2);
};
};
}
override public function renderFace(_arg1:Face, _arg2:Rectangle, _arg3:FaceVO):FaceVO{
_faceVO = _faceDictionary[_arg1];
if (!_faceVO){
_faceVO = (_faceDictionary[_arg1] = new FaceVO());
};
_faceWidth = _arg1.bitmapRect.width;
_faceHeight = _arg1.bitmapRect.height;
_containerVO = _containerDictionary[_arg1];
if (!_containerVO){
_containerVO = (_containerDictionary[_arg1] = new FaceVO());
};
if (_arg3.resized){
_arg3.resized = false;
_containerVO.resize(_faceWidth, _faceHeight, transparent);
};
for each (material in materials) {
_containerVO = material.renderFace(_arg1, _arg2, _containerVO);
};
if (((_arg3.updated) || (_containerVO.updated))){
_arg3.updated = false;
_containerVO.updated = false;
_faceVO.invalidated = false;
_faceVO.cleared = false;
_faceVO.updated = true;
_faceVO.bitmap = _arg3.bitmap.clone();
_faceVO.bitmap.lock();
_sourceVO = _faceVO;
if (_blendMode == BlendMode.NORMAL){
_faceVO.bitmap.copyPixels(_containerVO.bitmap, _containerVO.bitmap.rect, _zeroPoint, null, null, true);
} else {
_faceVO.bitmap.draw(_containerVO.bitmap, null, colorTransform, _blendMode);
};
};
_containerVO.updated = false;
return (_faceVO);
}
override public function renderLayer(_arg1:DrawTriangle, _arg2:Sprite):void{
throw (new Error("Not implemented"));
}
public function get cache():Boolean{
return (_cache);
}
override public function getMapping(_arg1:DrawTriangle):Matrix{
face = _arg1.face;
dt = face._dt;
if (((!(_cacheDictionary)) || (!(_cacheDictionary[face])))){
_faceVO = _faceDictionary[face];
if (!_faceVO){
_faceVO = (_faceDictionary[face] = new FaceVO());
};
if (!dt.texturemapping){
face.bitmapRect = new Rectangle(int((_width * face.minU)), int((_height * (1 - face.maxV))), int(((_width * (face.maxU - face.minU)) + 2)), int(((_height * (face.maxV - face.minV)) + 2)));
_faceWidth = face.bitmapRect.width;
_faceHeight = face.bitmapRect.height;
dt.transformUV(this);
_faceVO.resize(_faceWidth, _faceHeight, transparent);
};
for each (material in materials) {
_faceVO = material.renderFace(face, _bitmapRect, _faceVO);
};
_faceVO.updated = false;
if (_cacheDictionary){
_cacheDictionary[face] = _faceVO;
};
};
if (!_arg1.texturemapping){
_arg1.transformUV(this);
};
if (_cacheDictionary){
_renderBitmap = _cacheDictionary[face].bitmap;
} else {
_renderBitmap = _faceVO.bitmap;
};
return (_arg1.texturemapping);
}
public function update():void{
if (_cache){
_cacheDictionary = new Dictionary(true);
};
}
}
}//package away3d.materials
Section 89
//CenterLightingMaterial (away3d.materials.CenterLightingMaterial)
package away3d.materials {
import flash.display.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.light.*;
import away3d.core.base.*;
import away3d.containers.*;
import away3d.core.utils.*;
import away3d.core.*;
public class CenterLightingMaterial implements ITriangleMaterial, IUpdatingMaterial {
var fy:Number;
var pb:Number;
public var draw_fall_k:Number;// = 1
var nz:Number;
var ksg:Number;
var ksb:Number;
var ksr:Number;
var diff:Number;
var green:Number;
var kdb:Number;
public var ak:Number;// = 20
public var draw_reflect_k:Number;// = 1
var kdg:Number;
var v0p:Number;
var dfy:Number;
var dfz:Number;
var kdr:Number;
var _source:Mesh;
var dfx:Number;
var v0x:Number;
var v0y:Number;
var v0z:Number;
public var draw_normal:Boolean;// = false
var ry:Number;
var rz:Number;
var sum:Number;
var rx:Number;
public var diffuse_brightness:Number;// = 1
var projection:Projection;
var v1p:Number;
public var ambient_brightness:Number;// = 1
var blue:Number;
var v1x:Number;
var v1y:Number;
var v1z:Number;
var ncy:Number;
var ncz:Number;
var ncx:Number;
var v2p:Number;
var cx:Number;
var v0:ScreenVertex;
var v1:ScreenVertex;
var v2:ScreenVertex;
var v2y:Number;
var v2z:Number;
var df:Number;
var v2x:Number;
var cz:Number;
var _diffuseTransform:Matrix3D;
var point:PointLightSource;
var red:Number;
var graphics:Graphics;
public var draw_fall:Boolean;// = false
var global:AmbientLightSource;
var fade:Number;
var cy:Number;
var amb:Number;
var ffy:Number;
var spec:Number;
var nf:Number;
var ffz:Number;
public var draw_reflect:Boolean;// = false
var session:AbstractRenderSession;
var rfx:Number;
var rfy:Number;
var rfz:Number;
var ffx:Number;
var nx:Number;
var d1x:Number;
var d1y:Number;
public var specular_brightness:Number;// = 1
var kag:Number;
var ny:Number;
var zoom:Number;
var kar:Number;
var focus:Number;
var fx:Number;
var fz:Number;
var d1z:Number;
var directional:DirectionalLightSource;
var c0x:Number;
var c0y:Number;
var c0z:Number;
var kab:Number;
var pdd:Number;
var pa:Number;
var d2y:Number;
var pc:Number;
var d2x:Number;
var d2z:Number;
public function CenterLightingMaterial(_arg1:Object=null){
ambient_brightness = 1;
diffuse_brightness = 1;
specular_brightness = 1;
ak = 20;
draw_normal = false;
draw_fall = false;
draw_fall_k = 1;
draw_reflect = false;
draw_reflect_k = 1;
super();
_arg1 = Init.parse(_arg1);
ak = _arg1.getNumber("ak", 20);
}
public function updateMaterial(_arg1:Object3D, _arg2:View3D):void{
for each (directional in _arg1.session.lightarray.directionals) {
if (((!(directional.diffuseTransform[_arg1])) || (_arg1.sceneTransformed))){
directional.setDiffuseTransform(_arg1);
};
};
}
public function renderTri(_arg1:DrawTriangle, _arg2:AbstractRenderSession, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number, _arg10:Number, _arg11:Number):void{
throw (new Error("Not implemented"));
}
public function get visible():Boolean{
throw (new Error("Not implemented"));
}
public function renderTriangle(_arg1:DrawTriangle):void{
session = _arg1.source.session;
v0 = _arg1.v0;
v1 = _arg1.v1;
v2 = _arg1.v2;
projection = _arg1.projection;
focus = projection.focus;
zoom = projection.zoom;
v0z = v0.z;
v0p = ((1 + (v0z / focus)) / zoom);
v0x = (v0.x * v0p);
v0y = (v0.y * v0p);
v1z = v1.z;
v1p = ((1 + (v1z / focus)) / zoom);
v1x = (v1.x * v1p);
v1y = (v1.y * v1p);
v2z = v2.z;
v2p = ((1 + (v2z / focus)) / zoom);
v2x = (v2.x * v2p);
v2y = (v2.y * v2p);
d1x = (v1x - v0x);
d1y = (v1y - v0y);
d1z = (v1z - v0z);
d2x = (v2x - v0x);
d2y = (v2y - v0y);
d2z = (v2z - v0z);
pa = ((d1y * d2z) - (d1z * d2y));
pb = ((d1z * d2x) - (d1x * d2z));
pc = ((d1x * d2y) - (d1y * d2x));
pdd = Math.sqrt((((pa * pa) + (pb * pb)) + (pc * pc)));
pa = (pa / pdd);
pb = (pb / pdd);
pc = (pc / pdd);
c0x = (((v0x + v1x) + v2x) / 3);
c0y = (((v0y + v1y) + v2y) / 3);
c0z = (((v0z + v1z) + v2z) / 3);
kar = (kag = (kab = (kdr = (kdg = (kdb = (ksr = (ksg = (ksb = 0))))))));
_source = (_arg1.source as Mesh);
for each (directional in session.lightarray.directionals) {
_diffuseTransform = directional.diffuseTransform[_source];
red = directional.red;
green = directional.green;
blue = directional.blue;
dfx = _diffuseTransform.szx;
dfy = _diffuseTransform.szy;
dfz = _diffuseTransform.szz;
nx = _arg1.face.normal.x;
ny = _arg1.face.normal.y;
nz = _arg1.face.normal.z;
amb = (directional.ambient * ambient_brightness);
kar = (kar + (red * amb));
kag = (kag + (green * amb));
kab = (kab + (blue * amb));
nf = (((dfx * nx) + (dfy * ny)) + (dfz * nz));
if (nf < 0){
} else {
diff = ((directional.diffuse * nf) * diffuse_brightness);
kdr = (kdr + (red * diff));
kdg = (kdg + (green * diff));
kdb = (kdb + (blue * diff));
rfz = (dfz - ((2 * nf) * nz));
if (rfz < 0){
} else {
rfx = (dfx - ((2 * nf) * nx));
rfy = (dfy - ((2 * nf) * ny));
spec = ((directional.specular * Math.pow(rfz, ak)) * specular_brightness);
ksr = (ksr + (red * spec));
ksg = (ksg + (green * spec));
ksb = (ksb + (blue * spec));
};
};
};
for each (point in session.lightarray.points) {
red = point.red;
green = point.green;
blue = point.blue;
dfx = (point.x - c0x);
dfy = (point.y - c0y);
dfz = (point.z - c0z);
df = Math.sqrt((((dfx * dfx) + (dfy * dfy)) + (dfz * dfz)));
dfx = (dfx / df);
dfy = (dfy / df);
dfz = (dfz / df);
fade = ((1 / df) / df);
amb = ((point.ambient * fade) * ambient_brightness);
kar = (kar + (red * amb));
kag = (kag + (green * amb));
kab = (kab + (blue * amb));
nf = (((dfx * pa) + (dfy * pb)) + (dfz * pc));
if (nf < 0){
} else {
diff = (((point.diffuse * fade) * nf) * diffuse_brightness);
kdr = (kdr + (red * diff));
kdg = (kdg + (green * diff));
kdb = (kdb + (blue * diff));
rfz = (dfz - ((2 * nf) * pc));
if (rfz < 0){
} else {
rfx = (dfx - ((2 * nf) * pa));
rfy = (dfy - ((2 * nf) * pb));
spec = (((point.specular * fade) * Math.pow(rfz, ak)) * specular_brightness);
ksr = (ksr + (red * spec));
ksg = (ksg + (green * spec));
ksb = (ksb + (blue * spec));
};
};
};
renderTri(_arg1, session, kar, kag, kab, kdr, kdg, kdb, ksr, ksg, ksb);
if (((((draw_fall) || (draw_reflect))) || (draw_normal))){
graphics = session.customGraphics;
cz = c0z;
cx = ((c0x * zoom) / (1 + (cz / focus)));
cy = ((c0y * zoom) / (1 + (cz / focus)));
if (draw_normal){
ncz = (c0z + (30 * pc));
ncx = ((((c0x + (30 * pa)) * zoom) * focus) / (focus + ncz));
ncy = ((((c0y + (30 * pb)) * zoom) * focus) / (focus + ncz));
graphics.lineStyle(1, 0, 1);
graphics.moveTo(cx, cy);
graphics.lineTo(ncx, ncy);
graphics.moveTo(cx, cy);
graphics.drawCircle(cx, cy, 2);
};
if (((draw_fall) || (draw_reflect))){
for each (point in session.lightarray.points) {
red = point.red;
green = point.green;
blue = point.blue;
sum = (((red + green) + blue) / 0xFF);
red = (red / sum);
green = (green / sum);
blue = (blue / sum);
dfx = (point.x - c0x);
dfy = (point.y - c0y);
dfz = (point.z - c0z);
df = Math.sqrt((((dfx * dfx) + (dfy * dfy)) + (dfz * dfz)));
dfx = (dfx / df);
dfy = (dfy / df);
dfz = (dfz / df);
nf = (((dfx * pa) + (dfy * pb)) + (dfz * pc));
if (nf < 0){
} else {
if (draw_fall){
ffz = (c0z + ((30 * dfz) * (1 - draw_fall_k)));
ffx = ((((c0x + ((30 * dfx) * (1 - draw_fall_k))) * zoom) * focus) / (focus + ffz));
ffy = ((((c0y + ((30 * dfy) * (1 - draw_fall_k))) * zoom) * focus) / (focus + ffz));
fz = (c0z + (30 * dfz));
fx = ((((c0x + (30 * dfx)) * zoom) * focus) / (focus + fz));
fy = ((((c0y + (30 * dfy)) * zoom) * focus) / (focus + fz));
graphics.lineStyle(1, (((int(red) * 65536) + (int(green) * 0x0100)) + int(blue)), 1);
graphics.moveTo(ffx, ffy);
graphics.lineTo(fx, fy);
graphics.moveTo(ffx, ffy);
};
if (draw_reflect){
rfx = (dfx - ((2 * nf) * pa));
rfy = (dfy - ((2 * nf) * pb));
rfz = (dfz - ((2 * nf) * pc));
rz = (c0z - ((30 * rfz) * draw_reflect_k));
rx = ((((c0x - ((30 * rfx) * draw_reflect_k)) * zoom) * focus) / (focus + rz));
ry = ((((c0y - ((30 * rfy) * draw_reflect_k)) * zoom) * focus) / (focus + rz));
graphics.lineStyle(1, (((int((red * 0.5)) * 65536) + (int((green * 0.5)) * 0x0100)) + int((blue * 0.5))), 1);
graphics.moveTo(cx, cy);
graphics.lineTo(rx, ry);
graphics.moveTo(cx, cy);
};
};
};
};
};
}
}
}//package away3d.materials
Section 90
//ColorMaterial (away3d.materials.ColorMaterial)
package away3d.materials {
import flash.display.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.base.*;
import away3d.core.utils.*;
import away3d.core.*;
public class ColorMaterial implements ITriangleMaterial, IFogMaterial {
public var color:uint;
private var _alpha:Number;
public function ColorMaterial(_arg1=null, _arg2:Object=null){
if (_arg1 == null){
_arg1 = "random";
};
this.color = Cast.trycolor(_arg1);
_arg2 = Init.parse(_arg2);
_alpha = _arg2.getNumber("alpha", 1, {min:0, max:1});
}
public function get alpha():Number{
return (_alpha);
}
public function renderFog(_arg1:DrawFog):void{
_arg1.source.session.renderFogColor(color, _alpha);
}
public function set alpha(_arg1:Number):void{
_alpha = _arg1;
}
public function get visible():Boolean{
return ((alpha > 0));
}
public function renderTriangle(_arg1:DrawTriangle):void{
_arg1.source.session.renderTriangleColor(color, _alpha, _arg1.v0, _arg1.v1, _arg1.v2);
}
public function fogLayer():IFogMaterial{
return (new ColorMaterial(color, {alpha:alpha}));
}
}
}//package away3d.materials
Section 91
//CompositeMaterial (away3d.materials.CompositeMaterial)
package away3d.materials {
import flash.utils.*;
import flash.display.*;
import away3d.core.draw.*;
import away3d.core.base.*;
import away3d.containers.*;
import flash.geom.*;
import away3d.core.utils.*;
import away3d.core.*;
public class CompositeMaterial implements ITriangleMaterial, IUpdatingMaterial, ILayerMaterial {
public var colorTransform:ColorTransform;
public var blendMode:String;
var _spriteDictionary:Dictionary;
var _sprite:Sprite;
var material:ILayerMaterial;
public var materials:Array;
var _source:Object3D;
public function CompositeMaterial(_arg1:Object=null){
_spriteDictionary = new Dictionary(true);
super();
_arg1 = Init.parse(_arg1);
if (!materials){
materials = _arg1.getArray("materials");
};
blendMode = _arg1.getString("blendMode", BlendMode.NORMAL);
}
public function renderTriangle(_arg1:DrawTriangle):void{
_source = _arg1.source;
if (_source.ownCanvas){
if (!(_sprite = _spriteDictionary[_source])){
_sprite = (_spriteDictionary[_source] = new Sprite());
};
} else {
if (!(_sprite = _spriteDictionary[_arg1.face])){
_sprite = (_spriteDictionary[_arg1.face] = new Sprite());
};
};
if (!_source.session.children[_sprite]){
_source.session.addDisplayObject(_sprite);
if (blendMode){
_sprite.blendMode = blendMode;
};
if (colorTransform){
_sprite.transform.colorTransform = colorTransform;
};
};
for each (material in materials) {
material.renderLayer(_arg1, _sprite);
};
}
public function updateMaterial(_arg1:Object3D, _arg2:View3D):void{
clearSpriteDictionary();
for each (material in materials) {
if ((material is IUpdatingMaterial)){
(material as IUpdatingMaterial).updateMaterial(_arg1, _arg2);
};
};
}
public function renderFace(_arg1:Face, _arg2:Rectangle, _arg3:FaceVO):FaceVO{
throw (new Error("Not implemented"));
}
public function renderLayer(_arg1:DrawTriangle, _arg2:Sprite):void{
if (((!(colorTransform)) && (((!(blendMode)) || ((blendMode == BlendMode.NORMAL)))))){
_sprite = _arg2;
} else {
_source = _arg1.source;
if (_source.ownCanvas){
if (!(_sprite = _spriteDictionary[_source])){
_arg2.addChild((_sprite = (_spriteDictionary[_source] = new Sprite())));
};
} else {
if (!(_sprite = _spriteDictionary[_arg1.face])){
_arg2.addChild((_sprite = (_spriteDictionary[_arg1.face] = new Sprite())));
};
};
if (blendMode){
_sprite.blendMode = blendMode;
};
if (colorTransform){
_sprite.transform.colorTransform = colorTransform;
};
};
for each (material in materials) {
material.renderLayer(_arg1, _sprite);
};
}
public function clearSpriteDictionary():void{
for each (_sprite in _spriteDictionary) {
_sprite.graphics.clear();
};
}
public function get visible():Boolean{
return (true);
}
}
}//package away3d.materials
Section 92
//IFogMaterial (away3d.materials.IFogMaterial)
package away3d.materials {
import away3d.core.draw.*;
public interface IFogMaterial extends IMaterial {
function fogLayer():IFogMaterial;
function renderFog(_arg1:DrawFog):void;
function set alpha(_arg1:Number):void;
function get alpha():Number;
}
}//package away3d.materials
Section 93
//ILayerMaterial (away3d.materials.ILayerMaterial)
package away3d.materials {
import flash.display.*;
import away3d.core.draw.*;
import away3d.core.base.*;
import flash.geom.*;
import away3d.core.utils.*;
public interface ILayerMaterial extends IMaterial {
function renderFace(_arg1:Face, _arg2:Rectangle, _arg3:FaceVO):FaceVO;
function renderLayer(_arg1:DrawTriangle, _arg2:Sprite):void;
}
}//package away3d.materials
Section 94
//IMaterial (away3d.materials.IMaterial)
package away3d.materials {
public interface IMaterial {
function get visible():Boolean;
}
}//package away3d.materials
Section 95
//ISegmentMaterial (away3d.materials.ISegmentMaterial)
package away3d.materials {
import away3d.core.draw.*;
public interface ISegmentMaterial extends IMaterial {
function renderSegment(_arg1:DrawSegment):void;
}
}//package away3d.materials
Section 96
//ITriangleMaterial (away3d.materials.ITriangleMaterial)
package away3d.materials {
import away3d.core.draw.*;
public interface ITriangleMaterial extends IMaterial {
function renderTriangle(_arg1:DrawTriangle):void;
}
}//package away3d.materials
Section 97
//IUpdatingMaterial (away3d.materials.IUpdatingMaterial)
package away3d.materials {
import away3d.core.base.*;
import away3d.containers.*;
public interface IUpdatingMaterial {
function updateMaterial(_arg1:Object3D, _arg2:View3D):void;
}
}//package away3d.materials
Section 98
//IUVMaterial (away3d.materials.IUVMaterial)
package away3d.materials {
import flash.display.*;
public interface IUVMaterial extends IMaterial {
function get width():Number;
function get height():Number;
function get bitmap():BitmapData;
}
}//package away3d.materials
Section 99
//MovieMaterial (away3d.materials.MovieMaterial)
package away3d.materials {
import flash.display.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.base.*;
import flash.geom.*;
import away3d.events.*;
import away3d.core.utils.*;
import away3d.core.*;
public class MovieMaterial extends TransformBitmapMaterial implements ITriangleMaterial, IUVMaterial {
public var interactive:Boolean;
public var movie:Sprite;
private var lastsession:int;
public var transparent:Boolean;
public var auto:Boolean;
public function MovieMaterial(_arg1:Sprite, _arg2:Object=null){
super(_bitmap, _arg2);
this.movie = _arg1;
_arg2 = Init.parse(_arg2);
transparent = _arg2.getBoolean("transparent", true);
auto = _arg2.getBoolean("auto", true);
interactive = _arg2.getBoolean("interactive", false);
_bitmap = (_renderBitmap = new BitmapData(_arg1.width, _arg1.height, transparent, (transparent) ? 0xFFFFFF : 4278190080));
}
public function update():void{
if (transparent){
_renderBitmap.fillRect(_renderBitmap.rect, 0xFFFFFF);
};
_renderBitmap.draw(movie, new Matrix(movie.scaleX, 0, 0, movie.scaleY), movie.transform.colorTransform);
}
public function onMouseMove(_arg1:MouseEvent3D):void{
movie.x = (_arg1.screenX - (_arg1.uv.u * _renderBitmap.width));
movie.y = (_arg1.screenY - ((1 - _arg1.uv.v) * _renderBitmap.height));
}
public function resetInteractiveLayer():void{
movie.x = -10000;
movie.y = -10000;
}
override public function get height():Number{
return (movie.height);
}
public function get scale():Number2D{
return (new Number2D(0, 0));
}
public function get normal():Number3D{
return (new Number3D(0, 0, 0));
}
public function onMouseOut(_arg1:MouseEvent3D):void{
if (_arg1.material == this){
_arg1.object.removeOnMouseMove(onMouseMove);
resetInteractiveLayer();
};
}
override public function renderTriangle(_arg1:DrawTriangle):void{
session = _arg1.source.session;
if (lastsession != session.time){
lastsession = session.time;
if (auto){
update();
};
if (interactive){
if (!session.view.interactiveLayer.contains(movie)){
session.view.interactiveLayer.addChild(movie);
resetInteractiveLayer();
_arg1.source.addOnMouseOver(onMouseOver);
_arg1.source.addOnMouseOut(onMouseOut);
};
} else {
if (session.view.interactiveLayer.contains(movie)){
session.view.interactiveLayer.removeChild(movie);
_arg1.source.removeOnMouseOver(onMouseOver);
_arg1.source.removeOnMouseOut(onMouseOut);
};
};
};
super.renderTriangle(_arg1);
}
override public function get width():Number{
return (movie.width);
}
public function onMouseOver(_arg1:MouseEvent3D):void{
if (_arg1.material == this){
_arg1.object.addOnMouseMove(onMouseMove);
onMouseMove(_arg1);
};
}
}
}//package away3d.materials
Section 100
//PhongBitmapMaterial (away3d.materials.PhongBitmapMaterial)
package away3d.materials {
import flash.utils.*;
import flash.display.*;
import away3d.core.utils.*;
import away3d.materials.shaders.*;
public class PhongBitmapMaterial extends CompositeMaterial {
public var diffusePhongShader:DiffusePhongShader;
public var specularPhongShader:SpecularPhongShader;
var _shininess:Number;
public var ambientShader:AmbientShader;
var _specular:Number;
public var phongShader:CompositeMaterial;
public var bitmapMaterial:BitmapMaterial;
public function PhongBitmapMaterial(_arg1:BitmapData, _arg2:Object=null){
_arg2 = Init.parse(_arg2);
bitmapMaterial = new BitmapMaterial(_arg1, _arg2);
phongShader = new CompositeMaterial({blendMode:BlendMode.MULTIPLY});
phongShader.materials.push((ambientShader = new AmbientShader({blendMode:BlendMode.ADD})));
phongShader.materials.push((diffusePhongShader = new DiffusePhongShader({blendMode:BlendMode.ADD})));
materials = new Array();
materials.push(bitmapMaterial);
materials.push(phongShader);
_shininess = _arg2.getNumber("shininess", 20);
specular = _arg2.getNumber("specular", 0.7, {min:0, max:1});
super(_arg2);
}
public function get specular():Number{
return (_specular);
}
public function get shininess():Number{
return (_shininess);
}
public function set shininess(_arg1:Number):void{
_shininess = _arg1;
if (specularPhongShader){
specularPhongShader.shininess = _arg1;
};
}
public function set specular(_arg1:Number):void{
_specular = _arg1;
if (_specular){
if (specularPhongShader){
specularPhongShader.specular = _arg1;
} else {
materials.push((specularPhongShader = new SpecularPhongShader({shininess:_shininess, specular:_specular, blendMode:BlendMode.ADD})));
};
} else {
if (specularPhongShader){
materials.pop();
};
};
}
}
}//package away3d.materials
Section 101
//ShadingColorMaterial (away3d.materials.ShadingColorMaterial)
package away3d.materials {
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.base.*;
import away3d.core.utils.*;
import away3d.core.*;
public class ShadingColorMaterial extends CenterLightingMaterial {
var sfb:int;
var sfr:int;
public var ambient:int;
var sfg:int;
var fg:int;
var fr:int;
var fb:int;
public var specular:int;
public var diffuse:int;
public var alpha:Number;
public var cache:Boolean;
public function ShadingColorMaterial(_arg1:Object=null){
var _local2:int;
super(_arg1);
_arg1 = Init.parse(_arg1);
_local2 = _arg1.getColor("color", 0xFFFFFF);
ambient = _arg1.getColor("ambient", _local2);
diffuse = _arg1.getColor("diffuse", _local2);
specular = _arg1.getColor("specular", _local2);
alpha = _arg1.getNumber("alpha", 1);
cache = _arg1.getBoolean("cache", false);
}
override public function renderTri(_arg1:DrawTriangle, _arg2:AbstractRenderSession, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number, _arg10:Number, _arg11:Number):void{
fr = int((((((ambient & 0xFF0000) * _arg3) + ((diffuse & 0xFF0000) * _arg6)) + ((specular & 0xFF0000) * _arg9)) >> 16));
fg = int((((((ambient & 0xFF00) * _arg4) + ((diffuse & 0xFF00) * _arg7)) + ((specular & 0xFF00) * _arg10)) >> 8));
fb = int(((((ambient & 0xFF) * _arg5) + ((diffuse & 0xFF) * _arg8)) + ((specular & 0xFF) * _arg11)));
if (fr > 0xFF){
fr = 0xFF;
};
if (fg > 0xFF){
fg = 0xFF;
};
if (fb > 0xFF){
fb = 0xFF;
};
_arg2.renderTriangleColor((((fr << 16) | (fg << 8)) | fb), alpha, _arg1.v0, _arg1.v1, _arg1.v2);
if (cache){
if (_arg1.face != null){
sfr = int(((((ambient & 0xFF0000) * _arg3) + ((diffuse & 0xFF0000) * _arg6)) >> 16));
sfg = int(((((ambient & 0xFF00) * _arg4) + ((diffuse & 0xFF00) * _arg7)) >> 8));
sfb = int((((ambient & 0xFF) * _arg5) + ((diffuse & 0xFF) * _arg8)));
if (sfr > 0xFF){
sfr = 0xFF;
};
if (sfg > 0xFF){
sfg = 0xFF;
};
if (sfb > 0xFF){
sfb = 0xFF;
};
_arg1.face.material = new ColorMaterial((((sfr << 16) | (sfg << 8)) | sfb));
};
};
}
override public function get visible():Boolean{
return (true);
}
}
}//package away3d.materials
Section 102
//TransformBitmapMaterial (away3d.materials.TransformBitmapMaterial)
package away3d.materials {
import flash.display.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.base.*;
import away3d.containers.*;
import flash.geom.*;
import away3d.core.utils.*;
import away3d.core.*;
public class TransformBitmapMaterial extends BitmapMaterial implements ITriangleMaterial, IUVMaterial {
var line:Point;
var overlap:Boolean;
public var globalProjection:Boolean;
var face:Face;
var h:Number;
var i:String;
var t:Matrix;
var v0:Number3D;
var v1:Number3D;
var w:Number;
var v2:Number3D;
var mapa:Number;
var mapb:Number;
var mapd:Number;
var mapc:Number;
var point1:Point;
var fPoint1:Point;
var fPoint2:Point;
var DOWN:Number3D;
var zero:Number;
var fPoint4:Point;
var point3:Point;
var point2:Point;
var _projectionVector:Number3D;
var fPoint3:Point;
var _rotation:Number;// = 0
var maptx:Number;
var mapty:Number;
var _offsetX:Number;// = 0
var _offsetY:Number;// = 0
public var throughProjection:Boolean;
var _u0:Number;
var _u1:Number;
var _u2:Number;
var _v0:Number;
var _v2:Number;
var _invtexturemapping:Matrix;
var _v1:Number;
var v0y:Number;
var v0z:Number;
var v0x:Number;
var dot:Number;
var v1y:Number;
var v1z:Number;
var v1x:Number;
var _scaleX:Number;// = 1
var _scaleY:Number;// = 1
var mPoint2:Point;
var mPoint3:Point;
var mPoint4:Point;
var mPoint1:Point;
var v2x:Number;
var v2y:Number;
var flag:Boolean;
var v2z:Number;
var point:Point;
var sign:Number;
var _N:Number3D;
var _M:Number3D;
var transformDirty:Boolean;
var _transform:Matrix;
var RIGHT:Number3D;
public function TransformBitmapMaterial(_arg1:BitmapData, _arg2:Object=null){
_transform = new Matrix();
_scaleX = 1;
_scaleY = 1;
_offsetX = 0;
_offsetY = 0;
_rotation = 0;
_N = new Number3D();
_M = new Number3D();
DOWN = new Number3D(0, -1, 0);
RIGHT = new Number3D(1, 0, 0);
v0 = new Number3D();
v1 = new Number3D();
v2 = new Number3D();
fPoint1 = new Point();
fPoint2 = new Point();
fPoint3 = new Point();
fPoint4 = new Point();
mPoint1 = new Point();
mPoint2 = new Point();
mPoint3 = new Point();
mPoint4 = new Point();
line = new Point();
super(_arg1, _arg2);
_arg2 = Init.parse(_arg2);
transform = _arg2.getObject("transform", Matrix);
scaleX = _arg2.getNumber("scaleX", _scaleX);
scaleY = _arg2.getNumber("scaleY", _scaleY);
offsetX = _arg2.getNumber("offsetX", _offsetX);
offsetY = _arg2.getNumber("offsetY", _offsetY);
rotation = _arg2.getNumber("rotation", _rotation);
projectionVector = _arg2.getObject("projectionVector", Number3D);
throughProjection = _arg2.getBoolean("throughProjection", false);
globalProjection = _arg2.getBoolean("globalProjection", false);
}
public function get offsetX():Number{
return (_offsetX);
}
public function get offsetY():Number{
return (_offsetY);
}
public function set offsetX(_arg1:Number):void{
if (isNaN(_arg1)){
throw (new Error("isNaN(offsetX)"));
};
if (_arg1 == Infinity){
Debug.warning("offsetX == Infinity");
};
if (_arg1 == -(Infinity)){
Debug.warning("offsetX == -Infinity");
};
_offsetX = _arg1;
clearFaceDictionary();
transformDirty = true;
}
public function set offsetY(_arg1:Number):void{
if (isNaN(_arg1)){
throw (new Error("isNaN(offsetY)"));
};
if (_arg1 == Infinity){
Debug.warning("offsetY == Infinity");
};
if (_arg1 == -(Infinity)){
Debug.warning("offsetY == -Infinity");
};
_offsetY = _arg1;
clearFaceDictionary();
transformDirty = true;
}
public function get scaleY():Number{
return (_scaleY);
}
public function get scaleX():Number{
return (_scaleX);
}
override public function clearFaceDictionary():void{
if (!transformDirty){
super.clearFaceDictionary();
};
}
public function getContainerPoints(_arg1:Rectangle):Array{
return ([_arg1.topLeft, new Point(_arg1.top, _arg1.right), _arg1.bottomRight, new Point(_arg1.bottom, _arg1.left)]);
}
public function get projectionVector():Number3D{
return (_projectionVector);
}
override public function getMapping(_arg1:DrawTriangle):Matrix{
_faceVO = _faceDictionary[(face = _arg1.face)];
if (!_faceVO){
_faceVO = (_faceDictionary[face] = new FaceVO());
};
if (_faceVO.invalidated){
_faceVO.invalidated = false;
if (projectionVector){
_faceVO.mapping = projectUV(_arg1);
} else {
_faceVO.mapping = _arg1.transformUV(this);
};
if (_transform){
_mapping = _transform.clone();
_mapping.concat(_faceVO.mapping);
return ((_faceVO.mapping = _mapping));
};
};
return (_faceVO.mapping);
}
public function set scaleY(_arg1:Number):void{
if (isNaN(_arg1)){
throw (new Error("isNaN(scaleY)"));
};
if (_arg1 == Infinity){
Debug.warning("scaleY == Infinity");
};
if (_arg1 == -(Infinity)){
Debug.warning("scaleY == -Infinity");
};
if (_arg1 == 0){
Debug.warning("scaleY == 0");
};
_scaleY = _arg1;
clearFaceDictionary();
transformDirty = true;
}
public function updateTransform():void{
if ((((((((((_scaleX == 1)) && ((_scaleY == 1)))) && ((_offsetX == 0)))) && ((_offsetY == 0)))) && ((_rotation == 0)))){
_transform = null;
} else {
_transform = new Matrix();
_transform.scale(_scaleX, _scaleY);
_transform.rotate(_rotation);
_transform.translate(_offsetX, _offsetY);
};
transformDirty = false;
}
public function set scaleX(_arg1:Number):void{
if (isNaN(_arg1)){
throw (new Error("isNaN(scaleX)"));
};
if (_arg1 == Infinity){
Debug.warning("scaleX == Infinity");
};
if (_arg1 == -(Infinity)){
Debug.warning("scaleX == -Infinity");
};
if (_arg1 == 0){
Debug.warning("scaleX == 0");
};
_scaleX = _arg1;
clearFaceDictionary();
transformDirty = true;
}
public function set projectionVector(_arg1:Number3D):void{
_projectionVector = _arg1;
if (_projectionVector){
_N.cross(_projectionVector, DOWN);
if (!_N.modulo){
_N = RIGHT;
};
_M.cross(_N, _projectionVector);
_N.cross(_M, _projectionVector);
_N.normalize();
_M.normalize();
};
clearFaceDictionary();
}
public function checkEdge(_arg1:Array, _arg2:Array):Boolean{
for (i in _arg1) {
point2 = _arg1[i];
if (int(i) == 0){
point1 = _arg1[(_arg1.length - 1)];
point3 = _arg1[(_arg1.length - 2)];
} else {
point1 = _arg1[(int(i) - 1)];
if (int(i) == 1){
point3 = _arg1[(_arg1.length - 1)];
} else {
point3 = _arg1[(int(i) - 2)];
};
};
line.x = (point2.y - point1.y);
line.y = (point1.x - point2.x);
zero = ((point1.x * line.x) + (point1.y * line.y));
sign = ((zero - (point3.x * line.x)) - (point3.y * line.y));
flag = true;
for each (point in _arg2) {
dot = ((point.x * line.x) + (point.y * line.y));
if ((zero * sign) > (dot * sign)){
flag = false;
break;
};
};
if (flag){
return (true);
};
};
return (false);
}
public function set rotation(_arg1:Number):void{
if (isNaN(_arg1)){
throw (new Error("isNaN(rotation)"));
};
if (_arg1 == Infinity){
Debug.warning("rotation == Infinity");
};
if (_arg1 == -(Infinity)){
Debug.warning("rotation == -Infinity");
};
_rotation = _arg1;
clearFaceDictionary();
transformDirty = true;
}
public function set transform(_arg1:Matrix):void{
_transform = _arg1;
if (_transform){
_rotation = Math.atan2(_transform.b, _transform.a);
_scaleX = (_transform.a / Math.cos(_rotation));
_scaleY = (_transform.d / Math.cos(_rotation));
_offsetX = _transform.tx;
_offsetY = _transform.ty;
} else {
_scaleX = (_scaleY = 1);
_offsetX = (_offsetY = (_rotation = 0));
};
clearFaceDictionary();
}
public function findSeparatingAxis(_arg1:Array, _arg2:Array):Boolean{
if (checkEdge(_arg1, _arg2)){
return (true);
};
if (checkEdge(_arg2, _arg1)){
return (true);
};
return (false);
}
override public function updateMaterial(_arg1:Object3D, _arg2:View3D):void{
super.updateMaterial(_arg1, _arg2);
}
override public function renderFace(_arg1:Face, _arg2:Rectangle, _arg3:FaceVO):FaceVO{
if (transformDirty){
updateTransform();
};
if (_transform){
_mapping = _transform.clone();
} else {
_mapping = new Matrix();
};
if (!_projectionVector){
renderSource(_arg1.parent, _arg2, _mapping);
};
_faceVO = _faceDictionary[_arg1];
if (!_faceVO){
_faceVO = (_faceDictionary[_arg1] = new FaceVO());
};
if (_arg3.resized){
_arg3.resized = false;
_faceVO.resized = true;
};
if (((_arg3.updated) || (_faceVO.invalidated))){
_arg3.updated = false;
_bitmapRect = _arg1.bitmapRect;
if (_faceVO.invalidated){
_faceVO.invalidated = false;
} else {
_faceVO.updated = true;
};
_faceVO.bitmap = _arg3.bitmap;
if (_projectionVector){
_invtexturemapping = _arg1._dt.invtexturemapping;
_mapping.concat(projectUV(_arg1._dt));
_mapping.concat(_invtexturemapping);
if (((((throughProjection) || ((_arg1.normal.dot(_projectionVector) >= 0)))) && (((repeat) || (!(findSeparatingAxis(getFacePoints(_invtexturemapping), getMappingPoints(_mapping)))))))){
if (_faceVO.cleared){
_faceVO.bitmap = _arg3.bitmap.clone();
};
_faceVO.cleared = false;
_faceVO.updated = true;
_graphics = _s.graphics;
_graphics.clear();
_graphics.beginBitmapFill(_bitmap, _mapping, repeat, smooth);
_graphics.drawRect(0, 0, _bitmapRect.width, _bitmapRect.height);
_graphics.endFill();
_faceVO.bitmap.draw(_s, null, null, null, _faceVO.bitmap.rect);
};
} else {
if (((repeat) && (!(findSeparatingAxis(getContainerPoints(_arg2), getMappingPoints(_mapping)))))){
_faceVO.cleared = false;
_faceVO.updated = true;
_faceVO.bitmap.copyPixels(_sourceVO.bitmap, _bitmapRect, _zeroPoint, null, null, true);
};
};
};
return (_faceVO);
}
public function get transform():Matrix{
return (_transform);
}
public function get rotation():Number{
return (_rotation);
}
final public function projectUV(_arg1:DrawTriangle):Matrix{
face = _arg1.face;
if (globalProjection){
if (_arg1.backface){
v0.transform(face.v0.position, _arg1.source.sceneTransform);
v2.transform(face.v1.position, _arg1.source.sceneTransform);
v1.transform(face.v2.position, _arg1.source.sceneTransform);
} else {
v0.transform(face.v0.position, _arg1.source.sceneTransform);
v1.transform(face.v1.position, _arg1.source.sceneTransform);
v2.transform(face.v2.position, _arg1.source.sceneTransform);
};
} else {
if (_arg1.backface){
v0 = face.v0.position;
v2 = face.v1.position;
v1 = face.v2.position;
} else {
v0 = face.v0.position;
v1 = face.v1.position;
v2 = face.v2.position;
};
};
v0x = v0.x;
v0y = v0.y;
v0z = v0.z;
v1x = v1.x;
v1y = v1.y;
v1z = v1.z;
v2x = v2.x;
v2y = v2.y;
v2z = v2.z;
_u0 = (((v0x * _N.x) + (v0y * _N.y)) + (v0z * _N.z));
_u1 = (((v1x * _N.x) + (v1y * _N.y)) + (v1z * _N.z));
_u2 = (((v2x * _N.x) + (v2y * _N.y)) + (v2z * _N.z));
_v0 = (((v0x * _M.x) + (v0y * _M.y)) + (v0z * _M.z));
_v1 = (((v1x * _M.x) + (v1y * _M.y)) + (v1z * _M.z));
_v2 = (((v2x * _M.x) + (v2y * _M.y)) + (v2z * _M.z));
if ((((((_u0 == _u1)) && ((_v0 == _v1)))) || ((((_u0 == _u2)) && ((_v0 == _v2)))))){
if (_u0 > 0.05){
_u0 = (_u0 - 0.05);
} else {
_u0 = (_u0 + 0.05);
};
if (_v0 > 0.07){
_v0 = (_v0 - 0.07);
} else {
_v0 = (_v0 + 0.07);
};
};
if ((((_u2 == _u1)) && ((_v2 == _v1)))){
if (_u2 > 0.04){
_u2 = (_u2 - 0.04);
} else {
_u2 = (_u2 + 0.04);
};
if (_v2 > 0.06){
_v2 = (_v2 - 0.06);
} else {
_v2 = (_v2 + 0.06);
};
};
t = new Matrix((_u1 - _u0), (_v1 - _v0), (_u2 - _u0), (_v2 - _v0), _u0, _v0);
t.invert();
return (t);
}
public function getFacePoints(_arg1:Matrix):Array{
fPoint1.x = (_u0 = _arg1.tx);
fPoint2.x = (_arg1.a + _u0);
fPoint3.x = (_arg1.c + _u0);
fPoint1.y = (_v0 = _arg1.ty);
fPoint2.y = (_arg1.b + _v0);
fPoint3.y = (_arg1.d + _v0);
return ([fPoint1, fPoint2, fPoint3]);
}
public function getMappingPoints(_arg1:Matrix):Array{
mapa = (_arg1.a * width);
mapb = (_arg1.b * height);
mapc = (_arg1.c * width);
mapd = (_arg1.d * height);
maptx = _arg1.tx;
mapty = _arg1.ty;
mPoint1.x = maptx;
mPoint1.y = mapty;
mPoint2.x = (maptx + mapc);
mPoint2.y = (mapty + mapd);
mPoint3.x = ((maptx + mapa) + mapc);
mPoint3.y = ((mapty + mapb) + mapd);
mPoint4.x = (maptx + mapa);
mPoint4.y = (mapty + mapb);
return ([mPoint1, mPoint2, mPoint3, mPoint4]);
}
override public function renderTriangle(_arg1:DrawTriangle):void{
if (transformDirty){
updateTransform();
};
super.renderTriangle(_arg1);
}
}
}//package away3d.materials
Section 103
//TransparentMaterial (away3d.materials.TransparentMaterial)
package away3d.materials {
import away3d.core.draw.*;
public final class TransparentMaterial implements ITriangleMaterial, ISegmentMaterial {
public static var INSTANCE:TransparentMaterial = new (TransparentMaterial);
;
public function get visible():Boolean{
return (false);
}
public function renderSegment(_arg1:DrawSegment):void{
}
public function renderTriangle(_arg1:DrawTriangle):void{
}
}
}//package away3d.materials
Section 104
//WhiteShadingBitmapMaterial (away3d.materials.WhiteShadingBitmapMaterial)
package away3d.materials {
import flash.utils.*;
import flash.display.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.base.*;
import flash.geom.*;
import away3d.core.utils.*;
import flash.filters.*;
import away3d.core.*;
public class WhiteShadingBitmapMaterial extends CenterLightingMaterial implements IUVMaterial {
var br:Number;
public var blackrender:Boolean;
private var step:int;// = 1
var mapping:Matrix;
var _faceDictionary:Dictionary;
public var whiterender:Boolean;
private var colorTransform:ColorMatrixFilter;
public var diffuse:BitmapData;
public var whitek:Number;// = 0.2
private var cache:Dictionary;
public var repeat:Boolean;
public var smooth:Boolean;
private var bitmapPoint:Point;
public function WhiteShadingBitmapMaterial(_arg1:BitmapData, _arg2:Object=null){
_faceDictionary = new Dictionary(true);
whitek = 0.2;
bitmapPoint = new Point(0, 0);
colorTransform = new ColorMatrixFilter();
cache = new Dictionary();
step = 1;
super(_arg2);
this.diffuse = _arg1;
_arg2 = Init.parse(_arg2);
smooth = _arg2.getBoolean("smooth", false);
repeat = _arg2.getBoolean("repeat", false);
}
public function doubleStepTo(_arg1:int):void{
if (step < _arg1){
step = (step * 2);
};
}
protected function ladder(_arg1:Number):Number{
if (_arg1 < (1 / 0xFF)){
return (0);
};
if (_arg1 > 0xFF){
_arg1 = 0xFF;
};
return (Math.exp((Math.round((Math.log(_arg1) * step)) / step)));
}
override public function renderTri(_arg1:DrawTriangle, _arg2:AbstractRenderSession, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number, _arg7:Number, _arg8:Number, _arg9:Number, _arg10:Number, _arg11:Number):void{
var _local12:Number;
var _local13:BitmapData;
br = (((((((((_arg3 + _arg4) + _arg5) + _arg6) + _arg7) + _arg8) + _arg9) + _arg10) + _arg11) / 3);
if (!(mapping = _arg1.texturemapping)){
mapping = _arg1.transformUV(this);
};
v0 = _arg1.v0;
v1 = _arg1.v1;
v2 = _arg1.v2;
if ((((br < 1)) && (((blackrender) || ((((step < 16)) && (!(diffuse.transparent)))))))){
_arg2.renderTriangleBitmap(diffuse, mapping, v0, v1, v2, smooth, repeat);
_arg2.renderTriangleColor(0, (1 - br), v0, v1, v2);
} else {
if ((((br > 1)) && (whiterender))){
_arg2.renderTriangleBitmap(diffuse, mapping, v0, v1, v2, smooth, repeat);
_arg2.renderTriangleColor(0xFFFFFF, ((br - 1) * whitek), v0, v1, v2);
} else {
if (step < 64){
if (Math.random() < 0.01){
doubleStepTo(64);
};
};
_local12 = (ladder(br) / 0xFF);
_local13 = cache[_local12];
if (_local13 == null){
_local13 = new BitmapData(diffuse.width, diffuse.height, true, 0);
colorTransform.matrix = [_local12, 0, 0, 0, 0, 0, _local12, 0, 0, 0, 0, 0, _local12, 0, 0, 0, 0, 0, 1, 0];
_local13.applyFilter(diffuse, _local13.rect, bitmapPoint, colorTransform);
cache[_local12] = _local13;
};
_arg2.renderTriangleBitmap(_local13, mapping, v0, v1, v2, smooth, repeat);
};
};
}
override public function get visible():Boolean{
return (true);
}
public function get faceDictionary():Dictionary{
return (_faceDictionary);
}
public function renderMaterial(_arg1:Mesh):void{
}
public function get height():Number{
return (diffuse.height);
}
public function get bitmap():BitmapData{
return (diffuse);
}
public function get width():Number{
return (diffuse.width);
}
}
}//package away3d.materials
Section 105
//WireColorMaterial (away3d.materials.WireColorMaterial)
package away3d.materials {
import flash.display.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.base.*;
import away3d.core.utils.*;
import away3d.core.*;
public class WireColorMaterial implements ITriangleMaterial {
public var color:int;
public var alpha:Number;
public var width:Number;
public var wirealpha:Number;
var graphics:Graphics;
public var wirecolor:int;
public function WireColorMaterial(_arg1=null, _arg2:Object=null){
if (_arg1 == null){
_arg1 = "random";
};
this.color = Cast.trycolor(_arg1);
_arg2 = Init.parse(_arg2);
alpha = _arg2.getNumber("alpha", 1, {min:0, max:1});
wirecolor = _arg2.getColor("wirecolor", 0);
width = _arg2.getNumber("width", 1, {min:0});
wirealpha = _arg2.getNumber("wirealpha", 1, {min:0, max:1});
}
public function renderTriangle(_arg1:DrawTriangle):void{
_arg1.source.session.renderTriangleLineFill(width, color, alpha, wirecolor, wirealpha, _arg1.v0, _arg1.v1, _arg1.v2);
}
public function get visible():Boolean{
return ((((alpha > 0)) || ((wirealpha > 0))));
}
}
}//package away3d.materials
Section 106
//WireframeMaterial (away3d.materials.WireframeMaterial)
package away3d.materials {
import flash.display.*;
import away3d.core.math.*;
import away3d.core.draw.*;
import away3d.core.render.*;
import away3d.core.base.*;
import away3d.core.utils.*;
import away3d.core.*;
public class WireframeMaterial implements ITriangleMaterial, ISegmentMaterial {
public var color:int;
public var width:Number;
public var alpha:Number;
public function WireframeMaterial(_arg1=null, _arg2:Object=null){
if (_arg1 == null){
_arg1 = "random";
};
this.color = Cast.trycolor(_arg1);
_arg2 = Init.parse(_arg2);
alpha = _arg2.getNumber("alpha", 1, {min:0, max:1});
width = _arg2.getNumber("width", 1, {min:0});
}
public function renderTriangle(_arg1:DrawTriangle):void{
if (alpha <= 0){
return;
};
_arg1.source.session.renderTriangleLine(width, color, alpha, _arg1.v0, _arg1.v1, _arg1.v2);
}
public function get visible():Boolean{
return ((alpha > 0));
}
public function renderSegment(_arg1:DrawSegment):void{
if (alpha <= 0){
return;
};
_arg1.source.session.renderLine(_arg1.v0, _arg1.v1, width, color, alpha);
}
}
}//package away3d.materials
Section 107
//WireCube (away3d.primitives.WireCube)
package away3d.primitives {
import away3d.materials.*;
import away3d.core.base.*;
import away3d.core.utils.*;
import away3d.core.*;
public class WireCube extends WireMesh {
public var v001:Vertex;
public var v010:Vertex;
public var v011:Vertex;
public var v100:Vertex;
public var v101:Vertex;
public var v111:Vertex;
public var v110:Vertex;
public var v000:Vertex;
public function WireCube(_arg1:Object=null){
var _local2:Number;
var _local3:Number;
var _local4:Number;
super(_arg1);
_arg1 = Init.parse(_arg1);
_local2 = _arg1.getNumber("width", 100, {min:0});
_local3 = _arg1.getNumber("height", 100, {min:0});
_local4 = _arg1.getNumber("depth", 100, {min:0});
v000 = new Vertex((-(_local2) / 2), (-(_local3) / 2), (-(_local4) / 2));
v001 = new Vertex((-(_local2) / 2), (-(_local3) / 2), (_local4 / 2));
v010 = new Vertex((-(_local2) / 2), (_local3 / 2), (-(_local4) / 2));
v011 = new Vertex((-(_local2) / 2), (_local3 / 2), (_local4 / 2));
v100 = new Vertex((_local2 / 2), (-(_local3) / 2), (-(_local4) / 2));
v101 = new Vertex((_local2 / 2), (-(_local3) / 2), (_local4 / 2));
v110 = new Vertex((_local2 / 2), (_local3 / 2), (-(_local4) / 2));
v111 = new Vertex((_local2 / 2), (_local3 / 2), (_local4 / 2));
addSegment(new Segment(v000, v001));
addSegment(new Segment(v011, v001));
addSegment(new Segment(v011, v010));
addSegment(new Segment(v000, v010));
addSegment(new Segment(v100, v000));
addSegment(new Segment(v101, v001));
addSegment(new Segment(v111, v011));
addSegment(new Segment(v110, v010));
addSegment(new Segment(v100, v101));
addSegment(new Segment(v111, v101));
addSegment(new Segment(v111, v110));
addSegment(new Segment(v100, v110));
type = "WireCube";
url = "primitive";
}
}
}//package away3d.primitives
Section 108
//DofCache (away3d.sprites.dof.DofCache)
package away3d.sprites.dof {
import flash.utils.*;
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
public class DofCache {
private var minBitmap:BitmapData;
private var bitmaps:Array;
private var maxBitmap:BitmapData;
private var levels:Number;
public static var doflevels:Number = 16;
public static var maxblur:Number = 150;
public static var aperture:Number = 22;
private static var caches:Dictionary = new Dictionary();
public static var usedof:Boolean = false;
public static var focus:Number;
public function DofCache(_arg1:Number, _arg2:BitmapData){
var _local3:Matrix;
var _local4:Point;
var _local5:Number;
var _local6:BlurFilter;
var _local7:int;
var _local8:BitmapData;
super();
this.levels = _arg1;
_local3 = new Matrix();
_local4 = new Point(0, 0);
bitmaps = new Array(_arg1);
_local5 = 0;
while (_local5 < _arg1) {
_local6 = new BlurFilter((2 + ((maxblur * _local5) / _arg1)), (2 + ((maxblur * _local5) / _arg1)), 4);
_local3.identity();
_local7 = (_arg2.width * (1 + (_local5 / (_arg1 / 2))));
_local3.translate((-(_arg2.width) / 2), (-(_arg2.height) / 2));
_local3.translate((_local7 / 2), (_local7 / 2));
_local8 = new BitmapData(_local7, _local7, true, 0);
_local8.draw(_arg2, _local3);
_local8.applyFilter(_local8, _local8.rect, _local4, _local6);
bitmaps[_local5] = _local8;
_local5++;
};
minBitmap = bitmaps[0];
maxBitmap = bitmaps[(bitmaps.length - 1)];
}
public function getBitmap(_arg1:Number):BitmapData{
var _local2:Number;
_local2 = (focus - _arg1);
if ((focus - _arg1) < 0){
_local2 = -(_local2);
};
_local2 = (_local2 / aperture);
_local2 = Math.floor(_local2);
if (_local2 > (levels - 1)){
return (maxBitmap);
};
if (_local2 < 0){
return (minBitmap);
};
return (bitmaps[_local2]);
}
public static function resetDof(_arg1:Boolean):void{
var _local2:DofCache;
usedof = _arg1;
for each (_local2 in caches) {
if (!_arg1){
_local2 = new DofCache(1, _local2.bitmaps[0]);
} else {
_local2 = new DofCache(doflevels, _local2.bitmaps[0]);
};
};
}
public static function getDofCache(_arg1:BitmapData):DofCache{
if (caches[_arg1] == null){
if (!usedof){
caches[_arg1] = new DofCache(1, _arg1);
} else {
caches[_arg1] = new DofCache(doflevels, _arg1);
};
};
return (caches[_arg1]);
}
}
}//package away3d.sprites.dof
Section 109
//3D_26 (missprimp_fla.3D_26)
package missprimp_fla {
import flash.utils.*;
import flash.display.*;
import away3d.materials.*;
import away3d.core.math.*;
import flash.events.*;
import away3d.containers.*;
import flash.geom.*;
import away3d.core.utils.*;
import flash.filters.*;
import away3d.lights.*;
import flash.text.*;
import flash.ui.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.media.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class 3D_26 extends MovieClip {
public var testa2;
public var testa1;
public var testa3;
public var ginocchi;
public var lowerpants1;
public var lowerpants2;
public var TopsMOD;
public var testap;
public var Modello:ObjectContainer3D;
public var scpx:Number;
public var scpy:Number;
public var scpz:Number;
public var mani;
public var bustolow;
public var topsp;
public var bustinoup;
public var occhiali1;
public var occhiali2;
public var view:View3D;
public var skinp;
public var stoffa:PhongBitmapMaterial;
public var PantaloniMOD;
public var scarpe3;
public var scarpe4;
public var scarpe1;
public var scarpe2;
public var hairp;
public var sscarpe4;
public var busto;
public var hm:PhongBitmapMaterial;
public var braccia;
public var piedi;
public var light:DirectionalLight3D;
public var shirtup;
public var clx:Number;
public var cly:Number;
public var clz:Number;
public var StoffaMOD;
public var undershirtup;
public var pantaloni:PhongBitmapMaterial;
public var upbusto;
public var bacino;
public var capris1;
public var mat:PhongBitmapMaterial;
public var shorts;
public var skirt5;
public var skirt3;
public var capris2;
public var skirt2;
public var skirt4;
public var piedip;
public var GlassesMOD;
public var stinchi;
public var HairMOD;
public var MatMOD;
public var cpy:Number;
public var cpz:Number;
public var bustino;
public var cpx:Number;
public var skirt1;
public var capelli1;
public var capelli3;
public var tops:PhongBitmapMaterial;
public var capelli2;
public var capelli4;
public var bottomsp;
public var skirtp;
public var capelli5;
public var sclx:Number;
public var scly:Number;
public var sclz:Number;
public var bellyshirt;
public var maniche;
public function 3D_26(){
addFrameScript(0, frame1);
}
function frame1(){
view = new View3D();
addChild(view);
light = new DirectionalLight3D({color:0xFFFFFF, ambient:0.3, diffuse:0.75, specular:0.9});
light.x = 40000;
light.z = 40000;
light.y = 10000;
view.scene.addChild(light);
cpx = 340;
cpy = 220;
cpz = 520;
clx = 0;
cly = 120;
clz = 0;
MatMOD = new Pelle();
mat = new PhongBitmapMaterial(Cast.bitmap(MatMOD), {specular:0.1});
HairMOD = new Hair();
hm = new PhongBitmapMaterial(Cast.bitmap(HairMOD), {specular:0.2});
StoffaMOD = new Stoffa();
stoffa = new PhongBitmapMaterial(Cast.bitmap(StoffaMOD), {specular:0.05});
PantaloniMOD = new Pantaloni();
pantaloni = new PhongBitmapMaterial(Cast.bitmap(PantaloniMOD), {specular:0.05});
TopsMOD = new Tops();
tops = new PhongBitmapMaterial(Cast.bitmap(TopsMOD), {specular:0.02});
GlassesMOD = new Glasses();
testa1 = new Testa1({material:mat, rotationX:90, pushback:true});
testa2 = new Testa2({material:mat, rotationX:90, pushback:true, visible:false});
testa3 = new Testa3({material:mat, rotationX:90, pushback:true, visible:false});
busto = new Busto({material:mat, rotationX:90, pushback:true});
bustolow = new BustoLow({material:mat, rotationX:90, pushback:true, visible:false});
upbusto = new UPBusto({material:mat, rotationX:90, pushback:true});
undershirtup = new UnderShirtUP({material:mat, rotationX:90, pushback:true, visible:false});
bacino = new Bacino({material:mat, rotationX:90, pushback:true});
braccia = new Braccia({material:mat, rotationX:90, pushback:true});
mani = new Mani({material:mat, rotationX:90, pushfront:true});
ginocchi = new Ginocchi({material:mat, rotationX:90, pushback:true});
stinchi = new Stinchi({material:mat, rotationX:90, pushback:true});
piedi = new Piedi({material:mat, rotationX:90, pushback:true});
scarpe1 = new Scarpe1({material:mat, rotationX:90, pushback:true, visible:false});
scarpe2 = new Scarpe2({material:mat, rotationX:90, pushback:true, visible:false});
scarpe3 = new Scarpe3({material:mat, rotationX:90, pushback:true, visible:false});
scarpe4 = new Scarpe4({material:mat, rotationX:90, pushback:true, visible:false});
sscarpe4 = new SScarpe4({material:mat, rotationX:90, pushback:true, visible:false});
capelli1 = new Capelli1({material:hm, rotationX:90, pushfront:true});
capelli2 = new Capelli2({material:hm, rotationX:90, pushfront:true, visible:false});
capelli3 = new Capelli3({material:hm, rotationX:90, pushfront:true, visible:false});
capelli4 = new Capelli4({material:hm, rotationX:90, pushfront:true, visible:false});
capelli5 = new Capelli5({material:hm, rotationX:90, pushfront:true, visible:false});
skirt1 = new Skirt1({material:stoffa, rotationX:90, visible:false, pushfront:true});
skirt2 = new Skirt2({material:stoffa, rotationX:90, visible:false, pushfront:true});
skirt3 = new Skirt3({material:stoffa, rotationX:90, visible:false, pushfront:true});
skirt4 = new Skirt4({material:stoffa, rotationX:90, visible:false, pushfront:true});
skirt5 = new Skirt5({material:stoffa, rotationX:90, visible:false, pushfront:true});
shorts = new Shorts({material:pantaloni, rotationX:90, visible:false});
capris1 = new Capris1({material:pantaloni, rotationX:90, visible:false});
capris2 = new Capris2({material:pantaloni, rotationX:90, visible:false});
lowerpants1 = new LowerPants1({material:pantaloni, rotationX:90, visible:false});
lowerpants2 = new LowerPants2({material:pantaloni, rotationX:90, visible:false});
bustino = new Bustino({material:tops, rotationX:90, visible:false});
bellyshirt = new BellyShirt({material:tops, rotationX:90, visible:false});
shirtup = new ShirtUP({material:tops, rotationX:90, visible:false});
bustinoup = new BustinoUP({material:tops, rotationX:90, visible:false});
maniche = new Maniche({material:tops, rotationX:90, visible:false});
occhiali1 = new Occhiali1({material:GlassesMOD, rotationX:90, visible:false});
occhiali2 = new Occhiali2({material:GlassesMOD, rotationX:90, visible:false});
Modello = new ObjectContainer3D();
view.scene.addChildren(Modello);
Modello.addChildren(shirtup, undershirtup, bustolow, bellyshirt, occhiali1, occhiali2, bustino, bustinoup, maniche, shorts, capris1, capris2, lowerpants1, lowerpants2, skirt1, skirt2, skirt3, skirt4, skirt5, testa1, testa2, testa3, busto, upbusto, braccia, mani, bacino, ginocchi, stinchi, piedi, scarpe1, scarpe2, scarpe3, scarpe4, sscarpe4, capelli1, capelli2, capelli3, capelli4, capelli5);
view.camera.position = new Number3D(cpx, cpy, cpz);
view.camera.lookAt(new Number3D(clx, cly, clz));
view.render();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function RENDERIZZA():void{
view.render();
}
public function onEnterFrame(_arg1:Event):void{
if (root["rotazione"] != ""){
view.camera.position = new Number3D(cpx, cpy, cpz);
view.camera.lookAt(new Number3D(clx, cly, clz));
if (root["rotazione"] == "rs"){
Modello.rotationY = (Modello.rotationY + 5);
};
if (root["rotazione"] == "rd"){
Modello.rotationY = (Modello.rotationY - 5);
};
view.render();
};
}
public function PIEDI():void{
piedip = new PhongBitmapMaterial(Cast.bitmap(MatMOD), {specular:0.1});
piedi.material = piedip;
scarpe1.material = piedip;
scarpe2.material = piedip;
scarpe3.material = piedip;
scarpe4.material = piedip;
sscarpe4.material = piedip;
view.render();
}
public function SKIRT():void{
skirtp = new PhongBitmapMaterial(Cast.bitmap(StoffaMOD), {specular:0.05});
skirt1.material = skirtp;
skirt2.material = skirtp;
skirt3.material = skirtp;
skirt4.material = skirtp;
skirt5.material = skirtp;
view.render();
}
public function SKIN():void{
skinp = new PhongBitmapMaterial(Cast.bitmap(MatMOD), {specular:0.1});
busto.material = skinp;
upbusto.material = skinp;
braccia.material = skinp;
mani.material = skinp;
bacino.material = skinp;
ginocchi.material = skinp;
stinchi.material = skinp;
bustolow.material = skinp;
undershirtup.material = skinp;
view.render();
}
public function BOTTOMS():void{
bottomsp = new PhongBitmapMaterial(Cast.bitmap(PantaloniMOD), {specular:0.05});
shorts.material = bottomsp;
capris1.material = bottomsp;
capris2.material = bottomsp;
lowerpants1.material = bottomsp;
lowerpants2.material = bottomsp;
view.render();
}
public function TOPS():void{
topsp = new PhongBitmapMaterial(Cast.bitmap(TopsMOD), {specular:0.05});
bustino.material = topsp;
bustinoup.material = topsp;
maniche.material = topsp;
bellyshirt.material = topsp;
shirtup.material = topsp;
view.render();
}
public function HEAD():void{
testap = new PhongBitmapMaterial(Cast.bitmap(MatMOD), {specular:0.1});
testa1.material = testap;
testa2.material = testap;
testa3.material = testap;
view.render();
}
public function HAIR():void{
hairp = new PhongBitmapMaterial(Cast.bitmap(HairMOD), {specular:0.2});
capelli1.material = hairp;
capelli2.material = hairp;
capelli3.material = hairp;
capelli4.material = hairp;
capelli5.material = hairp;
view.render();
}
}
}//package missprimp_fla
Section 110
//Belt_10 (missprimp_fla.Belt_10)
package missprimp_fla {
import flash.display.*;
public dynamic class Belt_10 extends MovieClip {
public function Belt_10(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package missprimp_fla
Section 111
//BKGALL_3 (missprimp_fla.BKGALL_3)
package missprimp_fla {
import flash.display.*;
public dynamic class BKGALL_3 extends MovieClip {
public function BKGALL_3(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package missprimp_fla
Section 112
//Bocca_22 (missprimp_fla.Bocca_22)
package missprimp_fla {
import flash.display.*;
public dynamic class Bocca_22 extends MovieClip {
public function Bocca_22(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package missprimp_fla
Section 113
//BoccaCOL_21 (missprimp_fla.BoccaCOL_21)
package missprimp_fla {
import flash.display.*;
public dynamic class BoccaCOL_21 extends MovieClip {
public var bocca:MovieClip;
public function BoccaCOL_21(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package missprimp_fla
Section 114
//Bottoms_34 (missprimp_fla.Bottoms_34)
package missprimp_fla {
import flash.utils.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.ui.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.media.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class Bottoms_34 extends MovieClip {
public function Bottoms_34(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7);
}
function frame3(){
root["tredi"].bacino.visible = false;
root["tredi"].ginocchi.visible = false;
if (root["shoesshape"].currentFrame != 5){
root["tredi"].stinchi.visible = true;
};
root["tredi"].shorts.visible = true;
root["tredi"].capris1.visible = true;
root["tredi"].lowerpants1.visible = false;
root["tredi"].capris2.visible = false;
root["tredi"].lowerpants2.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][6] = currentFrame;
stop();
}
function frame6(){
root["tredi"].bacino.visible = false;
root["tredi"].ginocchi.visible = false;
root["tredi"].stinchi.visible = false;
root["tredi"].shorts.visible = true;
root["tredi"].capris1.visible = false;
root["tredi"].lowerpants1.visible = true;
root["tredi"].capris2.visible = true;
root["tredi"].lowerpants2.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][6] = currentFrame;
stop();
}
function frame7(){
root["tredi"].bacino.visible = false;
root["tredi"].ginocchi.visible = false;
root["tredi"].stinchi.visible = false;
root["tredi"].shorts.visible = true;
root["tredi"].capris1.visible = false;
root["tredi"].lowerpants1.visible = false;
root["tredi"].capris2.visible = true;
root["tredi"].lowerpants2.visible = true;
root["tredi"].RENDERIZZA();
root["pca"][6] = currentFrame;
stop();
}
function frame1(){
root["tredi"].bacino.visible = true;
root["tredi"].ginocchi.visible = true;
if (root["shoesshape"].currentFrame != 5){
root["tredi"].stinchi.visible = true;
};
root["tredi"].shorts.visible = false;
root["tredi"].capris1.visible = false;
root["tredi"].lowerpants1.visible = false;
root["tredi"].capris2.visible = false;
root["tredi"].lowerpants2.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][6] = currentFrame;
root["bottomscolor"].visible = false;
root["bottomscolorm"].visible = false;
root["bottomscolorp"].visible = false;
root["belts"].visible = false;
root["beltsm"].visible = false;
root["beltsp"].visible = false;
stop();
}
function frame4(){
root["tredi"].bacino.visible = false;
root["tredi"].ginocchi.visible = false;
if (root["shoesshape"].currentFrame != 5){
root["tredi"].stinchi.visible = true;
};
root["tredi"].shorts.visible = true;
root["tredi"].capris1.visible = false;
root["tredi"].lowerpants1.visible = false;
root["tredi"].capris2.visible = true;
root["tredi"].lowerpants2.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][6] = currentFrame;
stop();
}
function frame5(){
root["tredi"].bacino.visible = false;
root["tredi"].ginocchi.visible = false;
root["tredi"].stinchi.visible = false;
root["tredi"].shorts.visible = true;
root["tredi"].capris1.visible = true;
root["tredi"].lowerpants1.visible = true;
root["tredi"].capris2.visible = false;
root["tredi"].lowerpants2.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][6] = currentFrame;
stop();
}
function frame2(){
root["tredi"].bacino.visible = false;
root["tredi"].ginocchi.visible = true;
if (root["shoesshape"].currentFrame != 5){
root["tredi"].stinchi.visible = true;
};
root["tredi"].shorts.visible = true;
root["tredi"].capris1.visible = false;
root["tredi"].lowerpants1.visible = false;
root["tredi"].capris2.visible = false;
root["tredi"].lowerpants2.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][6] = currentFrame;
root["bottomscolor"].visible = true;
root["bottomscolorm"].visible = true;
root["bottomscolorp"].visible = true;
root["belts"].visible = true;
root["beltsm"].visible = true;
root["beltsp"].visible = true;
stop();
}
}
}//package missprimp_fla
Section 115
//GlassesL_36 (missprimp_fla.GlassesL_36)
package missprimp_fla {
import flash.utils.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.ui.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.media.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class GlassesL_36 extends MovieClip {
public function GlassesL_36(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
root["tredi"].occhiali1.visible = false;
root["tredi"].occhiali2.visible = true;
root["tredi"].GlassesMOD.gotoAndStop(1);
root["tredi"].RENDERIZZA();
root["pca"][2] = currentFrame;
stop();
}
function frame6(){
root["tredi"].occhiali1.visible = true;
root["tredi"].occhiali2.visible = false;
root["tredi"].GlassesMOD.gotoAndStop(3);
root["tredi"].RENDERIZZA();
root["pca"][2] = currentFrame;
stop();
}
function frame7(){
root["tredi"].occhiali1.visible = false;
root["tredi"].occhiali2.visible = true;
root["tredi"].GlassesMOD.gotoAndStop(3);
root["tredi"].RENDERIZZA();
root["pca"][2] = currentFrame;
stop();
}
function frame1(){
root["tredi"].occhiali1.visible = false;
root["tredi"].occhiali2.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][2] = currentFrame;
stop();
}
function frame4(){
root["tredi"].occhiali1.visible = true;
root["tredi"].occhiali2.visible = false;
root["tredi"].GlassesMOD.gotoAndStop(2);
root["tredi"].RENDERIZZA();
root["pca"][2] = currentFrame;
stop();
}
function frame5(){
root["tredi"].occhiali1.visible = false;
root["tredi"].occhiali2.visible = true;
root["tredi"].GlassesMOD.gotoAndStop(2);
root["tredi"].RENDERIZZA();
root["pca"][2] = currentFrame;
stop();
}
function frame9(){
root["tredi"].occhiali1.visible = false;
root["tredi"].occhiali2.visible = true;
root["tredi"].GlassesMOD.gotoAndStop(4);
root["tredi"].RENDERIZZA();
root["pca"][2] = currentFrame;
stop();
}
function frame8(){
root["tredi"].occhiali1.visible = true;
root["tredi"].occhiali2.visible = false;
root["tredi"].GlassesMOD.gotoAndStop(4);
root["tredi"].RENDERIZZA();
root["pca"][2] = currentFrame;
stop();
}
function frame2(){
root["tredi"].occhiali1.visible = true;
root["tredi"].occhiali2.visible = false;
root["tredi"].GlassesMOD.gotoAndStop(1);
root["tredi"].RENDERIZZA();
root["pca"][2] = currentFrame;
stop();
}
}
}//package missprimp_fla
Section 116
//HairStyle_30 (missprimp_fla.HairStyle_30)
package missprimp_fla {
import flash.utils.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.ui.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.media.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class HairStyle_30 extends MovieClip {
public function HairStyle_30(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame3(){
root["tredi"].capelli1.visible = false;
root["tredi"].capelli2.visible = false;
root["tredi"].capelli3.visible = true;
root["tredi"].capelli4.visible = false;
root["tredi"].capelli5.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][14] = currentFrame;
stop();
}
function frame1(){
root["tredi"].capelli1.visible = true;
root["tredi"].capelli2.visible = false;
root["tredi"].capelli3.visible = false;
root["tredi"].capelli4.visible = false;
root["tredi"].capelli5.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][14] = currentFrame;
stop();
}
function frame4(){
root["tredi"].capelli1.visible = false;
root["tredi"].capelli2.visible = false;
root["tredi"].capelli3.visible = false;
root["tredi"].capelli4.visible = true;
root["tredi"].capelli5.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][14] = currentFrame;
stop();
}
function frame5(){
root["tredi"].capelli1.visible = false;
root["tredi"].capelli2.visible = false;
root["tredi"].capelli3.visible = false;
root["tredi"].capelli4.visible = false;
root["tredi"].capelli5.visible = true;
root["tredi"].RENDERIZZA();
root["pca"][14] = currentFrame;
stop();
}
function frame2(){
root["tredi"].capelli1.visible = false;
root["tredi"].capelli2.visible = true;
root["tredi"].capelli3.visible = false;
root["tredi"].capelli4.visible = false;
root["tredi"].capelli5.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][14] = currentFrame;
stop();
}
}
}//package missprimp_fla
Section 117
//HeadShape_31 (missprimp_fla.HeadShape_31)
package missprimp_fla {
import flash.utils.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.ui.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.media.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class HeadShape_31 extends MovieClip {
public function HeadShape_31(){
addFrameScript(0, frame1, 1, frame2, 2, frame3);
}
function frame3(){
root["tredi"].testa1.visible = false;
root["tredi"].testa2.visible = false;
root["tredi"].testa3.visible = true;
root["tredi"].RENDERIZZA();
root["pca"][16] = currentFrame;
stop();
}
function frame1(){
root["tredi"].testa1.visible = true;
root["tredi"].testa2.visible = false;
root["tredi"].testa3.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][16] = currentFrame;
stop();
}
function frame2(){
root["tredi"].testa1.visible = false;
root["tredi"].testa2.visible = true;
root["tredi"].testa3.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][16] = currentFrame;
stop();
}
}
}//package missprimp_fla
Section 118
//Lingerie_23 (missprimp_fla.Lingerie_23)
package missprimp_fla {
import flash.display.*;
public dynamic class Lingerie_23 extends MovieClip {
public function Lingerie_23(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package missprimp_fla
Section 119
//MainTimeline (missprimp_fla.MainTimeline)
package missprimp_fla {
import flash.utils.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.ui.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.media.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class MainTimeline extends MovieClip {
public var skirtcolor:MovieClip;
public var urlStart:Number;
public var rs:SimpleButton;
public var skirtcolorm:SimpleButton;
public var domEnd:Number;
public var rd:SimpleButton;
public var eyescolorm:SimpleButton;
public var shoescolorm:SimpleButton;
public var shoescolorp:SimpleButton;
public var skirtcolorp:SimpleButton;
public var eyescolorp:SimpleButton;
public var topsl:MovieClip;
public var topsm:SimpleButton;
public var tredi:MovieClip;
public var topscolor:MovieClip;
public var skirtshape:MovieClip;
public var glassesp:SimpleButton;
public var topsp:SimpleButton;
public var sendfri:MovieClip;
public var glassesl:MovieClip;
public var glassesm:SimpleButton;
public var beltsm:SimpleButton;
public var topscolorm:SimpleButton;
public var topscolorp:SimpleButton;
public var view:SimpleButton;
public var beltsp:SimpleButton;
public var LastDot:Number;
public var bottomscolor:MovieClip;
public var domain:String;
public var nailscolorm:SimpleButton;
public var headshapem:SimpleButton;
public var pca:Array;
public var headshapep:SimpleButton;
public var nailscolorp:SimpleButton;
public var belts:MovieClip;
public var urlEnd:Number;
public var backgroundm:SimpleButton;
public var backgroundp:SimpleButton;
public var bottomscolorm:SimpleButton;
public var bottomscolorp:SimpleButton;
public var nome:TextField;
public var hairstyle:MovieClip;
public var pca2:String;
public var lipsshapem:SimpleButton;
public var skincolorm:SimpleButton;
public var lipsshapep:SimpleButton;
public var skincolorp:SimpleButton;
public var hairstylem:SimpleButton;
public var bkg:MovieClip;
public var hairstylep:SimpleButton;
public var url:String;
public var primpcode:TextField;
public var lg:SimpleButton;
public var shoescolor:MovieClip;
public var lingeriecolorm:SimpleButton;
public var lipscolorm:SimpleButton;
public var bottoms:MovieClip;
public var lingeriecolorp:SimpleButton;
public var shoesshape:MovieClip;
public var lipscolorp:SimpleButton;
public var headshape:MovieClip;
public var skirtshapep:SimpleButton;
public var bottomsm:SimpleButton;
public var bottomsp:SimpleButton;
public var wincodes:MovieClip;
public var haircolorm:SimpleButton;
public var eyesshapem:SimpleButton;
public var haircolorp:SimpleButton;
public var eyesshapep:SimpleButton;
public var skirtshapem:SimpleButton;
public var getp:SimpleButton;
public var shoesshapem:SimpleButton;
public var shoesshapep:SimpleButton;
public var rotazione;
public var browsshapem:SimpleButton;
public var sendp:SimpleButton;
public var browsshapep:SimpleButton;
public function MainTimeline(){
addFrameScript(0, frame1, 1, frame2, 3, frame4);
}
public function onEnterFrame2(_arg1:Event):void{
if ((((framesLoaded == 4)) && ((currentFrame == 2)))){
gotoAndPlay(4);
};
}
public function bottomscm(_arg1:MouseEvent):void{
root["bottoms"].prevFrame();
}
public function backgroundcm(_arg1:MouseEvent):void{
root["bkg"].prevFrame();
root["pca"][23] = root["bkg"].currentFrame;
}
public function backgroundcp(_arg1:MouseEvent):void{
root["bkg"].nextFrame();
root["pca"][23] = root["bkg"].currentFrame;
}
public function bottomscp(_arg1:MouseEvent):void{
root["bottoms"].nextFrame();
}
public function scm(_arg1:MouseEvent):void{
tredi.MatMOD.pelle.prevFrame();
tredi.SKIN();
tredi.HEAD();
tredi.PIEDI();
root["pca"][13] = tredi.MatMOD.pelle.currentFrame;
}
public function scp(_arg1:MouseEvent):void{
tredi.MatMOD.pelle.nextFrame();
tredi.SKIN();
tredi.HEAD();
tredi.PIEDI();
root["pca"][13] = tredi.MatMOD.pelle.currentFrame;
}
public function browsshapecm(_arg1:MouseEvent):void{
tredi.MatMOD.sopracciglia.sopracciglia.prevFrame();
tredi.HEAD();
root["pca"][19] = tredi.MatMOD.sopracciglia.sopracciglia.currentFrame;
}
public function gmd(_arg1:MouseEvent):void{
wincodes.visible = true;
}
public function rsb(_arg1:MouseEvent):void{
rotazione = "rs";
}
public function bottomscolorcp(_arg1:MouseEvent):void{
tredi.PantaloniMOD.nextFrame();
tredi.BOTTOMS();
root["pca"][7] = tredi.PantaloniMOD.currentFrame;
}
public function rdb(_arg1:MouseEvent):void{
rotazione = "rd";
}
function frame4(){
wincodes.visible = false;
sendfri.visible = false;
pca = new Array();
pca.push("name", "_", 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
WPC();
getp.addEventListener(MouseEvent.MOUSE_DOWN, gmd);
sendp.addEventListener(MouseEvent.MOUSE_DOWN, smd);
rotazione = "";
addEventListener(MouseEvent.MOUSE_DOWN, md);
addEventListener(MouseEvent.MOUSE_UP, mu);
rs.addEventListener(MouseEvent.MOUSE_DOWN, rsb);
rd.addEventListener(MouseEvent.MOUSE_DOWN, rdb);
haircolorm.addEventListener(MouseEvent.MOUSE_DOWN, hcm);
haircolorp.addEventListener(MouseEvent.MOUSE_DOWN, hcp);
skincolorm.addEventListener(MouseEvent.MOUSE_DOWN, scm);
skincolorp.addEventListener(MouseEvent.MOUSE_DOWN, scp);
browsshapem.addEventListener(MouseEvent.MOUSE_DOWN, browsshapecm);
browsshapep.addEventListener(MouseEvent.MOUSE_DOWN, browsshapecp);
eyescolorm.addEventListener(MouseEvent.MOUSE_DOWN, eyescolorcm);
eyescolorp.addEventListener(MouseEvent.MOUSE_DOWN, eyescolorcp);
eyesshapem.addEventListener(MouseEvent.MOUSE_DOWN, eyesshapecm);
eyesshapep.addEventListener(MouseEvent.MOUSE_DOWN, eyesshapecp);
lipscolorm.addEventListener(MouseEvent.MOUSE_DOWN, lipscolorcm);
lipscolorp.addEventListener(MouseEvent.MOUSE_DOWN, lipscolorcp);
lipsshapem.addEventListener(MouseEvent.MOUSE_DOWN, lipsshapecm);
lipsshapep.addEventListener(MouseEvent.MOUSE_DOWN, lipsshapecp);
lingeriecolorm.addEventListener(MouseEvent.MOUSE_DOWN, lingeriecolorcm);
lingeriecolorp.addEventListener(MouseEvent.MOUSE_DOWN, lingeriecolorcp);
hairstylem.addEventListener(MouseEvent.MOUSE_DOWN, hairstylecm);
hairstylep.addEventListener(MouseEvent.MOUSE_DOWN, hairstylecp);
headshapem.addEventListener(MouseEvent.MOUSE_DOWN, headshapecm);
headshapep.addEventListener(MouseEvent.MOUSE_DOWN, headshapecp);
nailscolorm.addEventListener(MouseEvent.MOUSE_DOWN, nailscolorcm);
nailscolorp.addEventListener(MouseEvent.MOUSE_DOWN, nailscolorcp);
shoesshapem.addEventListener(MouseEvent.MOUSE_DOWN, shoesshapecm);
shoesshapep.addEventListener(MouseEvent.MOUSE_DOWN, shoesshapecp);
shoescolorm.addEventListener(MouseEvent.MOUSE_DOWN, shoescolorcm);
shoescolorp.addEventListener(MouseEvent.MOUSE_DOWN, shoescolorcp);
skirtshapem.addEventListener(MouseEvent.MOUSE_DOWN, skirtshapecm);
skirtshapep.addEventListener(MouseEvent.MOUSE_DOWN, skirtshapecp);
skirtcolorm.addEventListener(MouseEvent.MOUSE_DOWN, skirtcolorcm);
skirtcolorp.addEventListener(MouseEvent.MOUSE_DOWN, skirtcolorcp);
bottomsm.addEventListener(MouseEvent.MOUSE_DOWN, bottomscm);
bottomsp.addEventListener(MouseEvent.MOUSE_DOWN, bottomscp);
bottomscolorm.addEventListener(MouseEvent.MOUSE_DOWN, bottomscolorcm);
bottomscolorp.addEventListener(MouseEvent.MOUSE_DOWN, bottomscolorcp);
beltsm.addEventListener(MouseEvent.MOUSE_DOWN, beltscm);
beltsp.addEventListener(MouseEvent.MOUSE_DOWN, beltscp);
topsm.addEventListener(MouseEvent.MOUSE_DOWN, topscm);
topsp.addEventListener(MouseEvent.MOUSE_DOWN, topscp);
topscolorm.addEventListener(MouseEvent.MOUSE_DOWN, topscolorcm);
topscolorp.addEventListener(MouseEvent.MOUSE_DOWN, topscolorcp);
glassesm.addEventListener(MouseEvent.MOUSE_DOWN, glassescm);
glassesp.addEventListener(MouseEvent.MOUSE_DOWN, glassescp);
backgroundm.addEventListener(MouseEvent.MOUSE_DOWN, backgroundcm);
backgroundp.addEventListener(MouseEvent.MOUSE_DOWN, backgroundcp);
view.addEventListener(MouseEvent.MOUSE_DOWN, viewbtn);
stop();
}
public function browsshapecp(_arg1:MouseEvent):void{
tredi.MatMOD.sopracciglia.sopracciglia.nextFrame();
tredi.HEAD();
root["pca"][19] = tredi.MatMOD.sopracciglia.sopracciglia.currentFrame;
}
public function eyescolorcp(_arg1:MouseEvent):void{
tredi.MatMOD.occhio.nextFrame();
tredi.HEAD();
root["pca"][18] = tredi.MatMOD.occhio.currentFrame;
}
public function WPC():void{
nome.text = nome.text.split("_").join(" ");
pca[0] = nome.text;
pca2 = String(pca);
pca2 = pca2.split(",").join("");
wincodes.primpcode.text = pca2;
wincodes.primpcode2.text = (("<embed src='http://www.lorenzgames.com/missprimp/viewer.swf?Name=" + pca2) + "' width='300' height='400'>");
}
public function skirtcolorcp(_arg1:MouseEvent):void{
tredi.StoffaMOD.nextFrame();
tredi.SKIRT();
root["pca"][9] = tredi.StoffaMOD.currentFrame;
}
public function skirtcolorcm(_arg1:MouseEvent):void{
tredi.StoffaMOD.prevFrame();
tredi.SKIRT();
root["pca"][9] = tredi.StoffaMOD.currentFrame;
}
public function lingeriecolorcm(_arg1:MouseEvent):void{
tredi.MatMOD.lingerie.prevFrame();
tredi.SKIN();
root["pca"][10] = tredi.MatMOD.lingerie.currentFrame;
}
public function topscm(_arg1:MouseEvent):void{
root["topsl"].prevFrame();
}
public function lingeriecolorcp(_arg1:MouseEvent):void{
tredi.MatMOD.lingerie.nextFrame();
tredi.SKIN();
root["pca"][10] = tredi.MatMOD.lingerie.currentFrame;
}
public function bottomscolorcm(_arg1:MouseEvent):void{
tredi.PantaloniMOD.prevFrame();
tredi.BOTTOMS();
root["pca"][7] = tredi.PantaloniMOD.currentFrame;
}
public function eyescolorcm(_arg1:MouseEvent):void{
tredi.MatMOD.occhio.prevFrame();
tredi.HEAD();
root["pca"][18] = tredi.MatMOD.occhio.currentFrame;
}
public function topscp(_arg1:MouseEvent):void{
root["topsl"].nextFrame();
}
public function lipscolorcm(_arg1:MouseEvent):void{
tredi.MatMOD.bocca.prevFrame();
tredi.HEAD();
root["pca"][21] = tredi.MatMOD.bocca.currentFrame;
}
public function lipscolorcp(_arg1:MouseEvent):void{
tredi.MatMOD.bocca.nextFrame();
tredi.HEAD();
root["pca"][21] = tredi.MatMOD.bocca.currentFrame;
}
public function hcm(_arg1:MouseEvent):void{
tredi.HairMOD.prevFrame();
tredi.MatMOD.sopracciglia.prevFrame();
tredi.HAIR();
tredi.HEAD();
root["pca"][15] = tredi.MatMOD.sopracciglia.currentFrame;
}
public function hcp(_arg1:MouseEvent):void{
tredi.HairMOD.nextFrame();
tredi.MatMOD.sopracciglia.nextFrame();
tredi.HAIR();
tredi.HEAD();
root["pca"][15] = tredi.MatMOD.sopracciglia.currentFrame;
}
function frame1(){
stage.showDefaultContextMenu = false;
url = stage.loaderInfo.url;
urlStart = (url.indexOf("://") + 3);
urlEnd = url.indexOf("/", urlStart);
domain = url.substring(urlStart, urlEnd);
LastDot = (domain.lastIndexOf(".") - 1);
domEnd = (domain.lastIndexOf(".", LastDot) + 1);
domain = domain.substring(domEnd, domain.length);
MochiAd.showPreGameAd({clip:root, id:"5c725b6bd06e654d", res:"550x400"});
}
function frame2(){
lg.addEventListener(MouseEvent.CLICK, lgclickHandler);
addEventListener(Event.ENTER_FRAME, onEnterFrame2);
stop();
}
public function glassescm(_arg1:MouseEvent):void{
root["glassesl"].prevFrame();
}
public function glassescp(_arg1:MouseEvent):void{
root["glassesl"].nextFrame();
}
public function shoescolorcm(_arg1:MouseEvent):void{
tredi.MatMOD.scarpe.prevFrame();
tredi.PIEDI();
root["pca"][12] = tredi.MatMOD.scarpe.currentFrame;
}
public function eyesshapecm(_arg1:MouseEvent):void{
tredi.MatMOD.occhio.occhio.prevFrame();
tredi.HEAD();
root["pca"][17] = tredi.MatMOD.occhio.occhio.currentFrame;
}
public function beltscm(_arg1:MouseEvent):void{
tredi.PantaloniMOD.belt.prevFrame();
tredi.BOTTOMS();
root["pca"][5] = tredi.PantaloniMOD.belt.currentFrame;
}
public function eyesshapecp(_arg1:MouseEvent):void{
tredi.MatMOD.occhio.occhio.nextFrame();
tredi.HEAD();
root["pca"][17] = tredi.MatMOD.occhio.occhio.currentFrame;
}
public function beltscp(_arg1:MouseEvent):void{
tredi.PantaloniMOD.belt.nextFrame();
tredi.BOTTOMS();
root["pca"][5] = tredi.PantaloniMOD.belt.currentFrame;
}
public function nailscolorcp(_arg1:MouseEvent):void{
tredi.MatMOD.nails.nextFrame();
tredi.SKIN();
tredi.PIEDI();
root["pca"][22] = tredi.MatMOD.nails.currentFrame;
}
public function shoescolorcp(_arg1:MouseEvent):void{
tredi.MatMOD.scarpe.nextFrame();
tredi.PIEDI();
root["pca"][12] = tredi.MatMOD.scarpe.currentFrame;
}
public function skirtshapecp(_arg1:MouseEvent):void{
root["skirtshape"].nextFrame();
}
public function skirtshapecm(_arg1:MouseEvent):void{
root["skirtshape"].prevFrame();
}
public function nailscolorcm(_arg1:MouseEvent):void{
tredi.MatMOD.nails.prevFrame();
tredi.SKIN();
tredi.PIEDI();
root["pca"][22] = tredi.MatMOD.nails.currentFrame;
}
public function lipsshapecm(_arg1:MouseEvent):void{
tredi.MatMOD.bocca.bocca.prevFrame();
tredi.HEAD();
root["pca"][20] = tredi.MatMOD.bocca.bocca.currentFrame;
}
public function topscolorcp(_arg1:MouseEvent):void{
tredi.TopsMOD.nextFrame();
tredi.TOPS();
root["pca"][4] = tredi.TopsMOD.currentFrame;
}
public function lipsshapecp(_arg1:MouseEvent):void{
tredi.MatMOD.bocca.bocca.nextFrame();
tredi.HEAD();
root["pca"][20] = tredi.MatMOD.bocca.bocca.currentFrame;
}
public function lgclickHandler(_arg1:MouseEvent):void{
var _local2:URLRequest;
_local2 = new URLRequest("http://www.lorenzgames.com");
navigateToURL(_local2, "_blank");
}
public function md(_arg1:MouseEvent):void{
WPC();
}
public function topscolorcm(_arg1:MouseEvent):void{
tredi.TopsMOD.prevFrame();
tredi.TOPS();
root["pca"][4] = tredi.TopsMOD.currentFrame;
}
public function mu(_arg1:MouseEvent):void{
rotazione = "";
}
public function smd(_arg1:MouseEvent):void{
sendfri.visible = true;
}
public function hairstylecm(_arg1:MouseEvent):void{
root["hairstyle"].prevFrame();
}
public function hairstylecp(_arg1:MouseEvent):void{
root["hairstyle"].nextFrame();
}
public function viewbtn(_arg1:MouseEvent):void{
var _local2:*;
nome.text = primpcode.text.split("_")[0];
_local2 = String(primpcode.text.split("_")[1]).split("");
glassesl.gotoAndStop(_local2[0]);
topsl.gotoAndStop(_local2[1]);
tredi.TopsMOD.gotoAndStop(_local2[2]);
tredi.PantaloniMOD.belt.gotoAndStop(_local2[3]);
bottoms.gotoAndStop(_local2[4]);
tredi.PantaloniMOD.gotoAndStop(_local2[5]);
skirtshape.gotoAndStop(_local2[6]);
tredi.StoffaMOD.gotoAndStop(_local2[7]);
tredi.MatMOD.lingerie.gotoAndStop(_local2[8]);
shoesshape.gotoAndStop(_local2[9]);
tredi.MatMOD.scarpe.gotoAndStop(_local2[10]);
tredi.MatMOD.pelle.gotoAndStop(_local2[11]);
hairstyle.gotoAndStop(_local2[12]);
tredi.HairMOD.gotoAndStop(_local2[13]);
tredi.MatMOD.sopracciglia.gotoAndStop(_local2[13]);
headshape.gotoAndStop(_local2[14]);
tredi.MatMOD.occhio.occhio.gotoAndStop(_local2[15]);
tredi.MatMOD.occhio.gotoAndStop(_local2[16]);
tredi.MatMOD.sopracciglia.sopracciglia.gotoAndStop(_local2[17]);
tredi.MatMOD.bocca.bocca.gotoAndStop(_local2[18]);
tredi.MatMOD.bocca.gotoAndStop(_local2[19]);
tredi.MatMOD.nails.gotoAndStop(_local2[20]);
bkg.gotoAndStop(_local2[21]);
tredi.HEAD();
tredi.HAIR();
tredi.PIEDI();
tredi.SKIRT();
tredi.TOPS();
tredi.BOTTOMS();
tredi.SKIN();
}
public function shoesshapecm(_arg1:MouseEvent):void{
root["shoesshape"].prevFrame();
}
public function headshapecm(_arg1:MouseEvent):void{
root["headshape"].prevFrame();
}
public function shoesshapecp(_arg1:MouseEvent):void{
root["shoesshape"].nextFrame();
}
public function headshapecp(_arg1:MouseEvent):void{
root["headshape"].nextFrame();
}
}
}//package missprimp_fla
Section 120
//Nails_24 (missprimp_fla.Nails_24)
package missprimp_fla {
import flash.display.*;
public dynamic class Nails_24 extends MovieClip {
public function Nails_24(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package missprimp_fla
Section 121
//Occhio_20 (missprimp_fla.Occhio_20)
package missprimp_fla {
import flash.display.*;
public dynamic class Occhio_20 extends MovieClip {
public function Occhio_20(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package missprimp_fla
Section 122
//OcchioCOL_19 (missprimp_fla.OcchioCOL_19)
package missprimp_fla {
import flash.display.*;
public dynamic class OcchioCOL_19 extends MovieClip {
public var occhio:MovieClip;
public function OcchioCOL_19(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package missprimp_fla
Section 123
//PelleIN_16 (missprimp_fla.PelleIN_16)
package missprimp_fla {
import flash.display.*;
public dynamic class PelleIN_16 extends MovieClip {
public function PelleIN_16(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package missprimp_fla
Section 124
//Scarpe_25 (missprimp_fla.Scarpe_25)
package missprimp_fla {
import flash.display.*;
public dynamic class Scarpe_25 extends MovieClip {
public function Scarpe_25(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package missprimp_fla
Section 125
//SendFri_47 (missprimp_fla.SendFri_47)
package missprimp_fla {
import flash.utils.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.ui.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.media.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class SendFri_47 extends MovieClip {
public var okbtn:SimpleButton;
public var to:TextField;
public var from:TextField;
public var myLoader:URLLoader;
public var messaggio:TextField;
public function SendFri_47(){
addFrameScript(0, frame1);
}
function frame1(){
myLoader = new URLLoader();
okbtn.addEventListener(MouseEvent.MOUSE_DOWN, md);
}
public function md(_arg1:MouseEvent):void{
this.visible = false;
if (to.text != ""){
messaggio.text = messaggio.text.split("&").join(" and ");
messaggio.text = messaggio.text.split("#").join(" cancelletto ");
messaggio.text = ((messaggio.text + " To see this Miss Primp click here: http://www.lorenzgames.com/missprimp/viewer.php?Name=") + root["wincodes"].primpcode.text);
myLoader.load(new URLRequest(((((("http://www.lorenzgames.com/missprimp/mail.php?from=" + from.text) + "&to=") + to.text) + "&messaggio=") + messaggio.text)));
};
}
}
}//package missprimp_fla
Section 126
//ShoesShape_32 (missprimp_fla.ShoesShape_32)
package missprimp_fla {
import flash.utils.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.ui.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.media.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class ShoesShape_32 extends MovieClip {
public function ShoesShape_32(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5);
}
function frame3(){
root["tredi"].piedi.visible = false;
root["tredi"].scarpe1.visible = false;
root["tredi"].scarpe2.visible = true;
root["tredi"].scarpe3.visible = false;
root["tredi"].scarpe4.visible = false;
root["tredi"].sscarpe4.visible = false;
root["tredi"].stinchi.visible = true;
root["tredi"].RENDERIZZA();
root["pca"][11] = currentFrame;
root["shoescolor"].visible = true;
root["shoescolorm"].visible = true;
root["shoescolorp"].visible = true;
stop();
}
function frame1(){
root["tredi"].piedi.visible = true;
root["tredi"].scarpe1.visible = false;
root["tredi"].scarpe2.visible = false;
root["tredi"].scarpe3.visible = false;
root["tredi"].scarpe4.visible = false;
root["tredi"].sscarpe4.visible = false;
root["tredi"].stinchi.visible = true;
root["tredi"].RENDERIZZA();
root["pca"][11] = currentFrame;
root["shoescolor"].visible = false;
root["shoescolorm"].visible = false;
root["shoescolorp"].visible = false;
stop();
}
function frame4(){
root["tredi"].piedi.visible = false;
root["tredi"].scarpe1.visible = false;
root["tredi"].scarpe2.visible = false;
root["tredi"].scarpe3.visible = true;
root["tredi"].scarpe4.visible = false;
root["tredi"].sscarpe4.visible = false;
root["tredi"].stinchi.visible = true;
root["tredi"].RENDERIZZA();
root["pca"][11] = currentFrame;
root["shoescolor"].visible = true;
root["shoescolorm"].visible = true;
root["shoescolorp"].visible = true;
stop();
}
function frame5(){
root["tredi"].piedi.visible = false;
root["tredi"].scarpe1.visible = false;
root["tredi"].scarpe2.visible = false;
root["tredi"].scarpe3.visible = false;
root["tredi"].scarpe4.visible = true;
root["tredi"].sscarpe4.visible = true;
root["tredi"].stinchi.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][11] = currentFrame;
root["shoescolor"].visible = true;
root["shoescolorm"].visible = true;
root["shoescolorp"].visible = true;
stop();
}
function frame2(){
root["tredi"].piedi.visible = false;
root["tredi"].scarpe1.visible = true;
root["tredi"].scarpe2.visible = false;
root["tredi"].scarpe3.visible = false;
root["tredi"].scarpe4.visible = false;
root["tredi"].sscarpe4.visible = false;
root["tredi"].stinchi.visible = true;
root["tredi"].RENDERIZZA();
root["pca"][11] = currentFrame;
root["shoescolor"].visible = true;
root["shoescolorm"].visible = true;
root["shoescolorp"].visible = true;
stop();
}
}
}//package missprimp_fla
Section 127
//SkirtShape_33 (missprimp_fla.SkirtShape_33)
package missprimp_fla {
import flash.utils.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.ui.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.media.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class SkirtShape_33 extends MovieClip {
public function SkirtShape_33(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6);
}
function frame3(){
root["tredi"].skirt1.visible = false;
root["tredi"].skirt2.visible = true;
root["tredi"].skirt3.visible = false;
root["tredi"].skirt4.visible = false;
root["tredi"].skirt5.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][8] = currentFrame;
stop();
}
function frame6(){
root["tredi"].skirt1.visible = false;
root["tredi"].skirt2.visible = false;
root["tredi"].skirt3.visible = false;
root["tredi"].skirt4.visible = false;
root["tredi"].skirt5.visible = true;
root["tredi"].RENDERIZZA();
root["pca"][8] = currentFrame;
stop();
}
function frame1(){
root["tredi"].skirt1.visible = false;
root["tredi"].skirt2.visible = false;
root["tredi"].skirt3.visible = false;
root["tredi"].skirt4.visible = false;
root["tredi"].skirt5.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][8] = currentFrame;
root["skirtcolor"].visible = false;
root["skirtcolorm"].visible = false;
root["skirtcolorp"].visible = false;
stop();
}
function frame4(){
root["tredi"].skirt1.visible = false;
root["tredi"].skirt2.visible = false;
root["tredi"].skirt3.visible = true;
root["tredi"].skirt4.visible = false;
root["tredi"].skirt5.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][8] = currentFrame;
stop();
}
function frame5(){
root["tredi"].skirt1.visible = false;
root["tredi"].skirt2.visible = false;
root["tredi"].skirt3.visible = false;
root["tredi"].skirt4.visible = true;
root["tredi"].skirt5.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][8] = currentFrame;
stop();
}
function frame2(){
root["tredi"].skirt1.visible = true;
root["tredi"].skirt2.visible = false;
root["tredi"].skirt3.visible = false;
root["tredi"].skirt4.visible = false;
root["tredi"].skirt5.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][8] = currentFrame;
root["skirtcolor"].visible = true;
root["skirtcolorm"].visible = true;
root["skirtcolorp"].visible = true;
stop();
}
}
}//package missprimp_fla
Section 128
//SopraccigliaCOL_17 (missprimp_fla.SopraccigliaCOL_17)
package missprimp_fla {
import flash.display.*;
public dynamic class SopraccigliaCOL_17 extends MovieClip {
public var sopracciglia:MovieClip;
public function SopraccigliaCOL_17(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package missprimp_fla
Section 129
//Sopraciglia_18 (missprimp_fla.Sopraciglia_18)
package missprimp_fla {
import flash.display.*;
public dynamic class Sopraciglia_18 extends MovieClip {
public function Sopraciglia_18(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package missprimp_fla
Section 130
//TopsL_35 (missprimp_fla.TopsL_35)
package missprimp_fla {
import flash.utils.*;
import flash.display.*;
import flash.events.*;
import flash.geom.*;
import flash.filters.*;
import flash.text.*;
import flash.ui.*;
import flash.net.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.media.*;
import flash.printing.*;
import flash.xml.*;
public dynamic class TopsL_35 extends MovieClip {
public function TopsL_35(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8);
}
function frame3(){
root["tredi"].busto.visible = false;
root["tredi"].upbusto.visible = false;
root["tredi"].braccia.visible = true;
root["tredi"].bustino.visible = true;
root["tredi"].bustinoup.visible = true;
root["tredi"].maniche.visible = false;
root["tredi"].bustolow.visible = false;
root["tredi"].bellyshirt.visible = false;
root["tredi"].shirtup.visible = false;
root["tredi"].undershirtup.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][3] = currentFrame;
stop();
}
function frame6(){
root["tredi"].busto.visible = false;
root["tredi"].upbusto.visible = false;
root["tredi"].braccia.visible = true;
root["tredi"].bustino.visible = true;
root["tredi"].bustinoup.visible = false;
root["tredi"].maniche.visible = false;
root["tredi"].bustolow.visible = false;
root["tredi"].bellyshirt.visible = false;
root["tredi"].shirtup.visible = true;
root["tredi"].undershirtup.visible = true;
root["tredi"].RENDERIZZA();
root["pca"][3] = currentFrame;
stop();
}
function frame7(){
root["tredi"].busto.visible = false;
root["tredi"].upbusto.visible = false;
root["tredi"].braccia.visible = true;
root["tredi"].bustino.visible = false;
root["tredi"].bustinoup.visible = false;
root["tredi"].maniche.visible = false;
root["tredi"].bustolow.visible = true;
root["tredi"].bellyshirt.visible = true;
root["tredi"].shirtup.visible = true;
root["tredi"].undershirtup.visible = true;
root["tredi"].RENDERIZZA();
root["pca"][3] = currentFrame;
stop();
}
function frame1(){
root["tredi"].busto.visible = true;
root["tredi"].upbusto.visible = true;
root["tredi"].braccia.visible = true;
root["tredi"].bustino.visible = false;
root["tredi"].bustinoup.visible = false;
root["tredi"].maniche.visible = false;
root["tredi"].bustolow.visible = false;
root["tredi"].bellyshirt.visible = false;
root["tredi"].shirtup.visible = false;
root["tredi"].undershirtup.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][3] = currentFrame;
root["topscolor"].visible = false;
root["topscolorm"].visible = false;
root["topscolorp"].visible = false;
stop();
}
function frame4(){
root["tredi"].busto.visible = false;
root["tredi"].upbusto.visible = false;
root["tredi"].braccia.visible = true;
root["tredi"].bustino.visible = false;
root["tredi"].bustinoup.visible = true;
root["tredi"].maniche.visible = false;
root["tredi"].bustolow.visible = true;
root["tredi"].bellyshirt.visible = true;
root["tredi"].shirtup.visible = false;
root["tredi"].undershirtup.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][3] = currentFrame;
stop();
}
function frame5(){
root["tredi"].busto.visible = false;
root["tredi"].upbusto.visible = false;
root["tredi"].braccia.visible = false;
root["tredi"].bustino.visible = true;
root["tredi"].bustinoup.visible = true;
root["tredi"].maniche.visible = true;
root["tredi"].bustolow.visible = false;
root["tredi"].bellyshirt.visible = false;
root["tredi"].shirtup.visible = false;
root["tredi"].undershirtup.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][3] = currentFrame;
stop();
}
function frame8(){
root["tredi"].busto.visible = false;
root["tredi"].upbusto.visible = false;
root["tredi"].braccia.visible = false;
root["tredi"].bustino.visible = true;
root["tredi"].bustinoup.visible = false;
root["tredi"].maniche.visible = true;
root["tredi"].bustolow.visible = false;
root["tredi"].bellyshirt.visible = false;
root["tredi"].shirtup.visible = true;
root["tredi"].undershirtup.visible = true;
root["tredi"].RENDERIZZA();
root["pca"][3] = currentFrame;
stop();
}
function frame2(){
root["tredi"].busto.visible = false;
root["tredi"].upbusto.visible = true;
root["tredi"].braccia.visible = true;
root["tredi"].bustino.visible = true;
root["tredi"].bustinoup.visible = false;
root["tredi"].maniche.visible = false;
root["tredi"].bustolow.visible = false;
root["tredi"].bellyshirt.visible = false;
root["tredi"].shirtup.visible = false;
root["tredi"].undershirtup.visible = false;
root["tredi"].RENDERIZZA();
root["pca"][3] = currentFrame;
root["topscolor"].visible = true;
root["topscolorm"].visible = true;
root["topscolorp"].visible = true;
stop();
}
}
}//package missprimp_fla
Section 131
//Wincodes_45 (missprimp_fla.Wincodes_45)
package missprimp_fla {
import flash.display.*;
import flash.events.*;
import flash.text.*;
public dynamic class Wincodes_45 extends MovieClip {
public var okbtn:SimpleButton;
public var primpcode:TextField;
public var primpcode2:TextField;
public function Wincodes_45(){
addFrameScript(0, frame1);
}
function frame1(){
okbtn.addEventListener(MouseEvent.MOUSE_DOWN, md);
}
public function md(_arg1:MouseEvent):void{
this.visible = false;
}
}
}//package missprimp_fla
Section 132
//Bacino (Bacino)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Bacino extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Bacino(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-2.310623, 1.520802, 99.205627);
v(-3.006989, -12.044291, 111.600464);
v(-2.30162, 3.639582, 105.985916);
v(-6.288742, 6.433398, 97.586838);
v(-11.008942, 7.584233, 108.005188);
v(-20.467918, 7.54149, 98.643158);
v(-18.782013, 9.1524, 111.139351);
v(-21.306328, 4.371252, 122.137215);
v(-26.338921, -2.980173, 102.463043);
v(-21.072792, -2.664467, 127.432297);
v(-18.322403, -5.042849, 130.97522);
v(-15.929588, -10.604251, 126.303513);
v(-11.690201, -15.458895, 102.075035);
v(-7.595146, -14.000582, 119.267532);
v(-2.415588, 3.016242, 109.765579);
v(-1.788376, 9.01792, 111.681641);
v(-10.801476, 10.936342, 111.235085);
v(-6.59671, 13.30855, 121.744667);
v(-3.387856, 10.559322, 127.347565);
v(-18.355232, 11.419931, 116.178078);
v(-16.761162, 10.925675, 121.858932);
v(-13.700249, 9.04556, 128.976013);
v(-5.7873, -16.437239, 127.652618);
v(1.5E-5, -13.468113, 111.883408);
v(1.5E-5, -17.138315, 125.964005);
v(1.5E-5, -3.955881, 110.386215);
v(-14.006332, -13.546842, 129.597015);
v(1.5E-5, 7.223679, 113.535423);
v(1.5E-5, 9.281733, 121.962029);
v(1.5E-5, 8.346867, 127.22438);
v(3.007027, -12.044291, 111.600464);
v(5.011124, -12.186988, 101.092339);
v(2.310654, 1.520802, 99.205627);
v(2.301659, 3.639582, 105.985916);
v(11.00898, 7.584229, 108.005188);
v(6.288773, 6.4334, 97.586838);
v(6.288773, 6.433401, 97.586838);
v(20.467949, 7.541489, 98.64315);
v(18.782051, 9.152396, 111.139351);
v(21.306358, 4.371252, 122.137207);
v(26.338951, -2.980173, 102.463036);
v(21.072838, -2.664467, 127.432289);
v(15.929626, -10.604252, 126.303513);
v(18.322449, -5.042849, 130.97522);
v(20.586403, -12.692038, 102.777824);
v(11.690231, -15.458897, 102.075035);
v(8.091827, -14.00058, 119.267532);
v(6.687149, -12.75573, 101.308594);
v(2.415627, 3.016242, 109.765579);
v(10.801514, 10.936344, 111.235085);
v(1.788414, 9.017923, 111.681641);
v(6.596748, 13.308552, 121.744667);
v(3.387894, 10.559326, 127.347565);
v(18.35527, 11.419935, 116.17807);
v(16.7612, 10.925672, 121.858932);
v(13.700287, 9.045556, 128.976013);
v(5.787338, -16.437239, 127.652618);
v(14.006378, -13.546845, 129.597015);
v(-5.018402, -12.18751, 101.053993);
v(-6.696777, -12.757597, 101.281563);
v(-20.586372, -12.692038, 102.777824);
uv(0.3399, 0.165539);
uv(0.338938, 0.183665);
uv(0.339913, 0.175455);
uv(0.334402, 0.163172);
uv(0.327878, 0.178408);
uv(0.319879, 0.163506);
uv(0.317135, 0.182991);
uv(0.30973, 0.165928);
uv(0.311311, 0.189205);
uv(0.30669, 0.170303);
uv(0.309188, 0.190421);
uv(0.172176, 0.044024);
uv(0.180758, 0.065602);
uv(0.184065, 0.05877);
uv(0.174299, 0.042809);
uv(0.326937, 0.169735);
uv(0.332253, 0.193874);
uv(0.339755, 0.180982);
uv(0.20361, 0.037388);
uv(0.191153, 0.036735);
uv(0.202743, 0.034586);
uv(0.196965, 0.052104);
uv(0.2014, 0.060297);
uv(0.328165, 0.183131);
uv(0.180713, 0.043963);
uv(0.317725, 0.19036);
uv(0.182916, 0.052271);
uv(0.187146, 0.062679);
uv(0.198083, 0.048864);
uv(0.201926, 0.037269);
uv(0.195241, 0.047478);
uv(0.206082, 0.037683);
uv(0.206082, 0.050033);
uv(0.206082, 0.035493);
uv(0.186723, 0.064892);
uv(0.206082, 0.040099);
uv(0.206082, 0.052422);
uv(0.206082, 0.060117);
uv(0.34725, 0.183665);
uv(0.35002, 0.168298);
uv(0.346288, 0.165539);
uv(0.346275, 0.175455);
uv(0.35831, 0.178408);
uv(0.351786, 0.163172);
uv(0.351786, 0.163172);
uv(0.366309, 0.163505);
uv(0.369054, 0.182991);
uv(0.376458, 0.165928);
uv(0.374878, 0.189205);
uv(0.379498, 0.170303);
uv(0.377, 0.190421);
uv(0.228099, 0.05877);
uv(0.231406, 0.065602);
uv(0.239988, 0.044024);
uv(0.237866, 0.042809);
uv(0.371547, 0.170763);
uv(0.359252, 0.169735);
uv(0.353935, 0.193874);
uv(0.365111, 0.205167);
uv(0.352337, 0.168615);
uv(0.346433, 0.180982);
uv(0.358023, 0.183131);
uv(0.208554, 0.037388);
uv(0.2152, 0.052104);
uv(0.210765, 0.060297);
uv(0.221011, 0.036735);
uv(0.231452, 0.043963);
uv(0.368464, 0.19036);
uv(0.229248, 0.052271);
uv(0.225018, 0.062679);
uv(0.210238, 0.037269);
uv(0.214081, 0.048864);
uv(0.216923, 0.047478);
uv(0.209421, 0.034586);
uv(0.225441, 0.064892);
uv(0.336158, 0.168242);
uv(0.333838, 0.168575);
uv(0.314641, 0.170763);
uv(0.321077, 0.205167);
f(0, 1, 2, 0, 1, 2);
f(3, 2, 4, 3, 2, 4);
f(5, 3, 4, 5, 3, 4);
f(4, 6, 5, 4, 6, 5);
f(5, 6, 7, 7, 6, 8);
f(8, 5, 7, 9, 7, 8);
f(7, 9, 8, 8, 10, 9);
f(9, 10, 11, 11, 12, 13);
f(10, 9, 7, 12, 11, 14);
f(12, 13, 1, 15, 16, 1);
f(1, 14, 2, 1, 17, 2);
f(15, 16, 14, 18, 19, 20);
f(17, 15, 18, 21, 18, 22);
f(16, 15, 17, 19, 18, 21);
f(6, 4, 16, 6, 4, 23);
f(19, 16, 17, 24, 19, 21);
f(6, 16, 19, 6, 23, 25);
f(20, 17, 18, 26, 21, 22);
f(20, 19, 17, 26, 24, 21);
f(7, 6, 19, 8, 6, 25);
f(7, 19, 20, 14, 24, 26);
f(7, 20, 21, 14, 26, 27);
f(21, 20, 18, 27, 26, 22);
f(10, 7, 21, 12, 14, 27);
f(22, 1, 13, 28, 29, 30);
f(23, 1, 22, 31, 29, 28);
f(24, 23, 22, 32, 31, 28);
f(23, 25, 1, 31, 33, 29);
f(1, 25, 14, 29, 33, 20);
f(13, 11, 26, 30, 13, 34);
f(26, 22, 13, 34, 28, 30);
f(26, 11, 10, 34, 13, 12);
f(27, 15, 14, 35, 18, 20);
f(28, 15, 27, 36, 18, 35);
f(28, 18, 15, 36, 22, 18);
f(29, 18, 28, 37, 22, 36);
f(27, 14, 25, 35, 20, 33);
f(30, 31, 32, 38, 39, 40);
f(30, 32, 33, 38, 40, 41);
f(34, 33, 35, 42, 41, 43);
f(35, 36, 34, 43, 44, 42);
f(37, 38, 34, 45, 46, 42);
f(34, 36, 37, 42, 44, 45);
f(38, 37, 39, 46, 47, 48);
f(39, 37, 40, 48, 47, 49);
f(40, 41, 39, 49, 50, 48);
f(42, 43, 41, 51, 52, 53);
f(41, 43, 39, 53, 52, 54);
f(44, 45, 46, 55, 56, 57);
f(46, 42, 44, 57, 58, 55);
f(46, 45, 30, 57, 56, 38);
f(45, 47, 30, 56, 59, 38);
f(48, 30, 33, 60, 38, 41);
f(31, 30, 47, 39, 38, 59);
f(34, 49, 48, 42, 61, 60);
f(48, 33, 34, 60, 41, 42);
f(50, 51, 52, 62, 63, 64);
f(50, 49, 51, 62, 65, 63);
f(34, 38, 49, 42, 46, 61);
f(49, 53, 51, 65, 66, 63);
f(49, 38, 53, 61, 46, 67);
f(51, 54, 52, 63, 68, 64);
f(53, 54, 51, 66, 68, 63);
f(38, 39, 53, 46, 48, 67);
f(53, 39, 54, 66, 54, 68);
f(54, 39, 55, 68, 54, 69);
f(54, 55, 52, 68, 69, 64);
f(39, 43, 55, 54, 52, 69);
f(30, 56, 46, 70, 71, 72);
f(30, 23, 56, 70, 31, 71);
f(23, 24, 56, 31, 32, 71);
f(25, 23, 30, 33, 31, 70);
f(25, 30, 48, 33, 70, 73);
f(46, 56, 57, 72, 71, 74);
f(57, 42, 46, 74, 51, 72);
f(42, 57, 43, 51, 74, 52);
f(48, 50, 27, 73, 62, 35);
f(50, 28, 27, 62, 36, 35);
f(50, 52, 28, 62, 64, 36);
f(52, 29, 28, 64, 37, 36);
f(48, 27, 25, 73, 35, 33);
f(41, 40, 44, 50, 49, 55);
f(44, 42, 41, 55, 58, 50);
f(49, 50, 48, 65, 62, 73);
f(4, 2, 14, 4, 2, 17);
f(14, 16, 4, 17, 23, 4);
f(58, 1, 0, 75, 1, 0);
f(59, 1, 58, 76, 1, 75);
f(12, 1, 59, 15, 1, 76);
f(60, 11, 13, 77, 78, 16);
f(13, 12, 60, 16, 15, 77);
f(60, 8, 9, 77, 9, 10);
f(9, 11, 60, 10, 78, 77);
f(0, 2, 3, 0, 2, 3);
f(35, 33, 32, 43, 41, 40);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 133
//BellyShirt (BellyShirt)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class BellyShirt extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function BellyShirt(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-13.869934, -25.270374, 160.224762);
v(-15.518173, -18.315712, 164.879517);
v(-11.805313, -20.638329, 165.674438);
v(-7.335518, -21.548168, 164.041046);
v(-5.248734, -23.178398, 160.364349);
v(-1.196144, -18.202911, 160.279251);
v(-1.791161, -20.574574, 157.2379);
v(-5.663475, -20.321945, 151.314957);
v(-10.770279, -18.749405, 150.035522);
v(-12.518646, -23.267479, 153.856842);
v(-6.44873, -23.618515, 155.852997);
v(-17.681107, -19.330429, 154.603104);
v(-15.759399, -15.398237, 150.695465);
v(-19.114182, -17.420834, 160.706894);
v(-19.346962, -9.028306, 160.60936);
v(-19.106758, -18.029457, 157.014725);
v(-10.022095, -17.21715, 141.571625);
v(-13.243233, -12.137419, 142.651352);
v(-13.040672, -10.770188, 138.092102);
v(-14.174438, -3.595138, 143.4702);
v(-9.826218, 5.727512, 158.375824);
v(-17.877083, -1.208207, 159.001785);
v(-14.43206, -0.973847, 156.160736);
v(-8.247375, 2.786534, 154.416336);
v(-7.080841, 1.448503, 142.263489);
v(-13.329971, -1.67367, 138.184128);
v(1.5E-5, 1.656258, 136.378021);
v(3.1E-5, -17.685707, 156.17717);
v(2.3E-5, -19.1945, 143.774719);
v(1.5E-5, -18.65616, 135.172119);
v(-4.339958, -19.627365, 142.020111);
v(-9.968781, -16.019854, 136.520248);
v(-4.119019, -17.955084, 135.770081);
v(3.1E-5, 3.059096, 153.59314);
v(2.3E-5, 1.644497, 141.898193);
v(3.8E-5, 4.452197, 158.490936);
v(15.518257, -18.315704, 164.879517);
v(13.870018, -25.270363, 160.224762);
v(11.805397, -20.638325, 165.674438);
v(7.335602, -21.548172, 164.041046);
v(5.248817, -23.178398, 160.364349);
v(1.791237, -20.574574, 157.2379);
v(1.19622, -18.202911, 160.279251);
v(10.770355, -18.749405, 150.035507);
v(5.663544, -20.321945, 151.314957);
v(12.518723, -23.267464, 153.856842);
v(6.448807, -23.618511, 155.852997);
v(17.681175, -19.330425, 154.603104);
v(15.759468, -15.398235, 150.69545);
v(19.114265, -17.420826, 160.706894);
v(19.347038, -9.028309, 160.609375);
v(19.106842, -18.029449, 157.014725);
v(13.04071, -10.770189, 138.092102);
v(13.243271, -12.137421, 142.651352);
v(14.174484, -3.595136, 143.4702);
v(9.826294, 5.727513, 158.375824);
v(8.247452, 2.786534, 154.416336);
v(14.432129, -0.973847, 156.160736);
v(17.876595, -1.208207, 159.001785);
v(7.080879, 1.448508, 142.263489);
v(13.329994, -1.673671, 138.184128);
v(4.339996, -19.627361, 142.020111);
v(10.022148, -17.217146, 141.571625);
v(9.968811, -16.019854, 136.520248);
v(4.119041, -17.955084, 135.770081);
v(3.1E-5, -17.321577, 156.999817);
v(-18.198616, -0.578975, 159.952286);
v(18.198074, -0.578975, 159.952286);
v(3.8E-5, 5.208002, 159.482559);
v(9.952446, 6.60561, 159.36911);
v(-9.95237, 6.605609, 159.36911);
v(3.8E-5, -16.192627, 160.227966);
v(-4.885765, -19.392456, 162.481079);
v(4.877182, -19.302168, 162.531555);
uv(0.451926, 0.670455);
uv(0.428821, 0.759437);
uv(0.480867, 0.774633);
uv(0.543524, 0.743408);
uv(0.572777, 0.673123);
uv(0.629586, 0.671496);
uv(0.621245, 0.613357);
uv(0.566963, 0.500131);
uv(0.495376, 0.475673);
uv(0.470868, 0.548723);
uv(0.555955, 0.586882);
uv(0.398501, 0.562989);
uv(0.425439, 0.488289);
uv(0.378413, 0.679671);
uv(0.37515, 0.677807);
uv(0.378517, 0.60909);
uv(0.492661, 0.254536);
uv(0.443264, 0.275176);
uv(0.389512, 0.008401);
uv(0.428983, 0.29083);
uv(0.240838, 0.513236);
uv(0.201641, 0.520638);
uv(0.218413, 0.487043);
uv(0.248524, 0.466415);
uv(0.250964, 0.246724);
uv(0.213182, 0.300272);
uv(0.444046, 0.592765);
uv(0.454304, 0.008318);
uv(0.646353, 0.008233);
uv(0.537766, 0.204262);
uv(0.646353, 0.593079);
uv(0.646353, 0.296651);
uv(0.646353, 0.008193);
uv(0.579798, 0.263109);
uv(0.450014, 0.008344);
uv(0.565227, 0.008263);
uv(0.288678, 0.456681);
uv(0.288678, 0.223248);
uv(0.288678, 0.514597);
uv(0.646353, 0.186649);
uv(0.863886, 0.759437);
uv(0.840781, 0.670455);
uv(0.81184, 0.774633);
uv(0.749182, 0.743408);
uv(0.71993, 0.673123);
uv(0.671462, 0.613357);
uv(0.663121, 0.671496);
uv(0.797331, 0.475673);
uv(0.725744, 0.500131);
uv(0.821839, 0.548723);
uv(0.736751, 0.586882);
uv(0.894206, 0.562989);
uv(0.867267, 0.488289);
uv(0.914294, 0.679671);
uv(0.917558, 0.677807);
uv(0.914191, 0.60909);
uv(0.903195, 0.008401);
uv(0.849443, 0.275176);
uv(0.863723, 0.29083);
uv(0.336519, 0.513236);
uv(0.328832, 0.466415);
uv(0.358943, 0.487043);
uv(0.375713, 0.520638);
uv(0.326392, 0.246724);
uv(0.364174, 0.300272);
uv(0.848661, 0.592765);
uv(0.838402, 0.008318);
uv(0.754941, 0.204262);
uv(0.712908, 0.263109);
uv(0.800046, 0.254536);
uv(0.842693, 0.008344);
uv(0.727479, 0.008263);
uv(0.646353, 0.608805);
uv(0.395754, 0.647076);
uv(0.391247, 0.665246);
uv(0.901452, 0.665246);
uv(0.896945, 0.647076);
uv(0.288678, 0.526323);
uv(0.337133, 0.524982);
uv(0.240223, 0.524982);
uv(0.200075, 0.531877);
uv(0.377278, 0.531877);
uv(0.646353, 0.670516);
uv(0.577865, 0.713587);
uv(0.714721, 0.714552);
f(0, 1, 2, 0, 1, 2);
f(0, 2, 3, 0, 2, 3);
f(4, 0, 3, 4, 0, 3);
f(5, 6, 4, 5, 6, 4);
f(7, 8, 9, 7, 8, 9);
f(6, 7, 10, 6, 7, 10);
f(10, 7, 9, 10, 7, 9);
f(4, 6, 10, 4, 6, 10);
f(4, 10, 0, 4, 10, 0);
f(10, 9, 0, 10, 9, 0);
f(9, 11, 0, 9, 11, 0);
f(11, 9, 8, 11, 9, 8);
f(8, 12, 11, 8, 12, 11);
f(1, 13, 14, 1, 13, 14);
f(0, 13, 1, 0, 13, 1);
f(0, 15, 13, 0, 15, 13);
f(0, 11, 15, 0, 11, 15);
f(11, 12, 15, 11, 12, 15);
f(14, 12, 16, 14, 12, 16);
f(13, 15, 14, 13, 15, 14);
f(17, 18, 19, 17, 18, 19);
f(14, 17, 19, 14, 17, 19);
f(20, 21, 22, 20, 21, 22);
f(22, 23, 20, 22, 23, 20);
f(24, 23, 22, 24, 23, 22);
f(22, 19, 24, 22, 25, 24);
f(19, 22, 14, 19, 26, 14);
f(25, 26, 24, 27, 28, 29);
f(24, 19, 25, 29, 19, 27);
f(27, 28, 7, 30, 31, 7);
f(28, 29, 30, 31, 32, 33);
f(28, 30, 7, 31, 33, 7);
f(16, 12, 8, 16, 12, 8);
f(30, 16, 8, 33, 16, 8);
f(7, 30, 8, 7, 33, 8);
f(31, 16, 30, 34, 16, 33);
f(30, 32, 31, 33, 35, 34);
f(29, 32, 30, 32, 35, 33);
f(31, 18, 17, 34, 18, 17);
f(16, 31, 17, 16, 34, 17);
f(16, 17, 14, 16, 17, 14);
f(33, 24, 34, 36, 24, 37);
f(33, 23, 24, 36, 23, 24);
f(35, 23, 33, 38, 23, 36);
f(35, 20, 23, 38, 20, 23);
f(34, 24, 26, 39, 29, 28);
f(36, 37, 38, 40, 41, 42);
f(38, 37, 39, 42, 41, 43);
f(40, 39, 37, 44, 43, 41);
f(40, 41, 42, 44, 45, 46);
f(43, 44, 45, 47, 48, 49);
f(46, 44, 41, 50, 48, 45);
f(44, 46, 45, 48, 50, 49);
f(41, 40, 46, 45, 44, 50);
f(46, 40, 37, 50, 44, 41);
f(45, 46, 37, 49, 50, 41);
f(47, 45, 37, 51, 49, 41);
f(47, 48, 43, 51, 52, 47);
f(43, 45, 47, 47, 49, 51);
f(49, 36, 50, 53, 40, 54);
f(49, 37, 36, 53, 41, 40);
f(51, 37, 49, 55, 41, 53);
f(47, 37, 51, 51, 41, 55);
f(48, 47, 51, 52, 51, 55);
f(50, 48, 51, 54, 52, 55);
f(51, 49, 50, 55, 53, 54);
f(52, 53, 54, 56, 57, 58);
f(53, 50, 54, 57, 54, 58);
f(55, 56, 57, 59, 60, 61);
f(57, 58, 55, 61, 62, 59);
f(59, 54, 57, 63, 64, 61);
f(57, 56, 59, 61, 60, 63);
f(57, 54, 50, 65, 58, 54);
f(60, 54, 59, 66, 58, 67);
f(59, 26, 60, 67, 28, 66);
f(28, 27, 44, 31, 30, 48);
f(29, 28, 61, 32, 31, 68);
f(61, 28, 44, 68, 31, 48);
f(61, 44, 43, 68, 48, 47);
f(62, 61, 43, 69, 68, 47);
f(48, 62, 43, 52, 69, 47);
f(63, 64, 61, 70, 71, 68);
f(61, 62, 63, 68, 69, 70);
f(64, 29, 61, 71, 32, 68);
f(52, 63, 53, 56, 70, 57);
f(63, 62, 53, 70, 69, 57);
f(53, 62, 50, 57, 69, 54);
f(59, 33, 34, 63, 36, 37);
f(59, 56, 33, 63, 60, 36);
f(56, 35, 33, 60, 38, 36);
f(59, 34, 26, 67, 39, 28);
f(25, 19, 18, 27, 19, 18);
f(52, 54, 60, 56, 58, 66);
f(65, 27, 6, 72, 30, 6);
f(41, 27, 65, 45, 30, 72);
f(50, 62, 48, 54, 69, 52);
f(14, 15, 12, 14, 15, 12);
f(14, 21, 66, 14, 73, 74);
f(67, 58, 50, 75, 76, 54);
f(68, 35, 55, 77, 38, 59);
f(55, 69, 68, 59, 78, 77);
f(70, 66, 21, 79, 80, 21);
f(21, 20, 70, 21, 20, 79);
f(70, 20, 35, 79, 20, 38);
f(35, 68, 70, 38, 77, 79);
f(58, 67, 69, 62, 81, 78);
f(69, 55, 58, 78, 59, 62);
f(14, 22, 21, 14, 26, 73);
f(58, 57, 50, 76, 65, 54);
f(35, 56, 55, 38, 60, 59);
f(65, 71, 42, 72, 82, 46);
f(6, 5, 65, 6, 5, 72);
f(5, 71, 65, 5, 82, 72);
f(42, 41, 65, 46, 45, 72);
f(72, 4, 3, 83, 4, 3);
f(5, 4, 72, 5, 4, 83);
f(73, 40, 42, 84, 44, 46);
f(39, 40, 73, 43, 44, 84);
f(6, 27, 7, 6, 30, 7);
f(44, 27, 41, 48, 30, 45);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 134
//Braccia (Braccia)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Braccia extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Braccia(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-18.83577, -8.399372, 135.786896);
v(-22.21312, -5.920768, 136.508179);
v(-35.462845, 1.653035, 147.516281);
v(-32.033539, -2.483596, 148.424164);
v(-44.177536, 9.666457, 161.984467);
v(-34.184021, 7.365752, 157.774017);
v(-39.298477, 18.079206, 161.591888);
v(-27.385811, 9.561624, 159.966995);
v(-27.690208, 11.862285, 161.278549);
v(-33.672668, 3.237258, 164.585037);
v(-30.491699, 3.377112, 160.969589);
v(-28.72319, 14.661865, 164.505737);
v(-41.540695, 14.624039, 164.252182);
v(-43.028671, 14.875978, 162.237274);
v(-26.482208, -0.434909, 149.555099);
v(-22.481316, 4.619256, 147.881271);
v(-17.113327, -3.867141, 135.53952);
v(-25.14817, 8.45355, 149.557114);
v(-29.303787, 11.076497, 148.636246);
v(-40.61351, 15.372557, 159.495255);
v(-41.920822, 15.104349, 159.090454);
v(-33.804077, 9.866578, 146.138382);
v(-42.067764, 13.805022, 158.165039);
v(-36.402527, 5.792897, 145.694885);
v(-41.286514, 11.660621, 163.192551);
v(-41.111343, 12.820369, 164.588394);
v(-20.988586, -2.871413, 136.150589);
v(34.637959, -2.033361, 109.834221);
v(31.186646, -4.511965, 109.710373);
v(32.216812, -6.586464, 132.825714);
v(26.376091, -8.88624, 132.314713);
v(28.518883, -5.748348, 144.295654);
v(23.332939, -3.971141, 143.837189);
v(27.738777, 2.302446, 144.166901);
v(22.290398, 3.618088, 153.574341);
v(19.791801, -1.508212, 153.355743);
v(29.054947, -7.001307, 154.166153);
v(22.301018, -6.056449, 153.575287);
v(28.511696, 4.591288, 154.656967);
v(31.335777, 0.156339, 154.499725);
v(31.426941, -1.420667, 144.536133);
v(22.45826, -4.683407, 130.503601);
v(22.392723, 1.588067, 128.263565);
v(29.447411, 0.020266, 109.765854);
v(24.408379, 3.936056, 132.142563);
v(30.271629, 4.557018, 132.655518);
v(34.609959, 1.558558, 133.035095);
v(35.380241, -3.231601, 133.102478);
v(30.009827, -4.082739, 154.497437);
v(33.369904, 1.015995, 109.69471);
v(-34.621353, 7.841491, 168.328308);
v(-32.833969, 11.685318, 168.354095);
uv(0.233367, 0.268584);
uv(0.233122, 0.273628);
uv(0.26507, 0.273031);
uv(0.26507, 0.264457);
uv(0.281308, 0.269106);
uv(0.281302, 0.261492);
uv(0.281225, 0.267953);
uv(0.294834, 0.257547);
uv(0.294834, 0.261215);
uv(0.294834, 0.271145);
uv(0.294834, 0.26123);
uv(0.29727, 0.270573);
uv(0.285118, 0.274325);
uv(0.281289, 0.273373);
uv(0.263048, 0.258519);
uv(0.259972, 0.258138);
uv(0.233653, 0.266058);
uv(0.26507, 0.261569);
uv(0.26507, 0.270176);
uv(0.277189, 0.272565);
uv(0.277405, 0.274133);
uv(0.26507, 0.276544);
uv(0.276644, 0.274605);
uv(0.26507, 0.277675);
uv(0.286428, 0.272528);
uv(0.286341, 0.274615);
uv(0.233083, 0.271763);
uv(0.453067, 0.273628);
uv(0.452821, 0.268584);
uv(0.421118, 0.273031);
uv(0.421118, 0.264457);
uv(0.40488, 0.269106);
uv(0.404887, 0.261492);
uv(0.404963, 0.267953);
uv(0.391354, 0.261215);
uv(0.391354, 0.257547);
uv(0.391354, 0.271145);
uv(0.391354, 0.26123);
uv(0.388919, 0.270573);
uv(0.391354, 0.276742);
uv(0.404899, 0.273373);
uv(0.42314, 0.258519);
uv(0.426216, 0.258138);
uv(0.452535, 0.266058);
uv(0.421118, 0.261569);
uv(0.421118, 0.270176);
uv(0.421118, 0.276544);
uv(0.421118, 0.277675);
uv(0.391354, 0.276703);
uv(0.453106, 0.271763);
uv(0.294834, 0.276703);
uv(0.294834, 0.276742);
f(0, 1, 2, 0, 1, 2);
f(0, 2, 3, 0, 2, 3);
f(3, 2, 4, 3, 2, 4);
f(3, 4, 5, 3, 4, 5);
f(6, 5, 7, 6, 5, 7);
f(7, 8, 6, 7, 8, 6);
f(4, 9, 10, 4, 9, 10);
f(5, 4, 10, 5, 4, 10);
f(5, 10, 7, 5, 10, 7);
f(6, 8, 11, 6, 8, 11);
f(12, 13, 6, 12, 13, 6);
f(14, 5, 6, 14, 5, 6);
f(14, 3, 5, 14, 3, 5);
f(0, 3, 14, 0, 3, 14);
f(15, 14, 6, 15, 14, 6);
f(16, 14, 15, 16, 14, 15);
f(16, 0, 14, 16, 0, 14);
f(17, 15, 6, 17, 15, 6);
f(16, 15, 17, 16, 15, 17);
f(6, 18, 17, 6, 18, 17);
f(19, 18, 6, 19, 18, 6);
f(20, 21, 18, 20, 21, 18);
f(18, 19, 20, 18, 19, 20);
f(22, 23, 21, 22, 23, 21);
f(21, 20, 22, 21, 20, 22);
f(23, 22, 4, 23, 22, 4);
f(2, 23, 4, 2, 23, 4);
f(4, 13, 24, 4, 13, 24);
f(24, 13, 25, 24, 13, 25);
f(25, 13, 12, 25, 13, 12);
f(1, 23, 2, 1, 23, 2);
f(1, 21, 23, 1, 21, 23);
f(1, 26, 21, 1, 26, 21);
f(26, 18, 21, 26, 18, 21);
f(18, 26, 16, 18, 26, 16);
f(16, 17, 18, 16, 17, 18);
f(27, 28, 29, 27, 28, 29);
f(29, 28, 30, 29, 28, 30);
f(29, 30, 31, 29, 30, 31);
f(31, 30, 32, 31, 30, 32);
f(33, 34, 35, 33, 34, 35);
f(35, 32, 33, 35, 32, 33);
f(36, 31, 37, 36, 31, 37);
f(31, 32, 37, 31, 32, 37);
f(37, 32, 35, 37, 32, 35);
f(34, 33, 38, 34, 33, 38);
f(39, 38, 33, 39, 38, 33);
f(33, 40, 39, 33, 40, 39);
f(32, 41, 33, 32, 41, 33);
f(30, 41, 32, 30, 41, 32);
f(30, 28, 41, 30, 28, 41);
f(41, 42, 33, 41, 42, 33);
f(41, 43, 42, 41, 43, 42);
f(28, 43, 41, 28, 43, 41);
f(42, 44, 33, 42, 44, 33);
f(42, 43, 44, 42, 43, 44);
f(45, 33, 44, 45, 33, 44);
f(33, 45, 40, 33, 45, 40);
f(45, 46, 40, 45, 46, 40);
f(46, 47, 40, 46, 47, 40);
f(40, 47, 31, 40, 47, 31);
f(47, 29, 31, 47, 29, 31);
f(40, 31, 36, 40, 31, 36);
f(48, 40, 36, 48, 40, 36);
f(39, 40, 48, 39, 40, 48);
f(47, 27, 29, 47, 27, 29);
f(46, 27, 47, 46, 27, 47);
f(49, 27, 46, 49, 27, 46);
f(45, 49, 46, 45, 49, 46);
f(45, 44, 43, 45, 44, 43);
f(43, 49, 45, 43, 49, 45);
f(24, 9, 4, 24, 9, 4);
f(50, 9, 24, 50, 9, 24);
f(24, 25, 50, 24, 25, 50);
f(51, 50, 25, 51, 50, 25);
f(25, 12, 51, 25, 12, 51);
f(51, 12, 6, 51, 12, 6);
f(6, 11, 51, 6, 11, 51);
f(22, 13, 4, 22, 13, 4);
f(20, 13, 22, 20, 13, 22);
f(19, 13, 20, 19, 13, 20);
f(6, 13, 19, 6, 13, 19);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 135
//Bustino (Bustino)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Bustino extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Bustino(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-13.869934, -25.270374, 160.224762);
v(-15.518173, -18.315712, 164.879517);
v(-11.805313, -20.638329, 165.674438);
v(-7.335518, -21.548168, 164.041046);
v(-5.248734, -23.178398, 160.364349);
v(-1.196144, -18.202911, 160.279251);
v(-1.791161, -20.574574, 157.2379);
v(-5.663475, -20.321945, 151.314957);
v(-10.770279, -18.749405, 150.035522);
v(-12.518646, -23.267479, 153.856842);
v(-6.44873, -23.618515, 155.852997);
v(-17.681107, -19.330429, 154.603104);
v(-15.759399, -15.398237, 150.695465);
v(-19.114182, -17.420834, 160.706894);
v(-19.346962, -9.028306, 160.60936);
v(-19.106758, -18.029457, 157.014725);
v(-10.964012, -16.62149, 138.467575);
v(-14.487877, -11.510571, 139.547302);
v(-18.322403, -5.042849, 130.97522);
v(-15.506607, -2.915845, 140.36615);
v(-14.43206, -0.973847, 156.160736);
v(-8.247375, 2.786534, 154.416336);
v(-9.826218, 5.727512, 158.375824);
v(-17.877083, -1.208207, 159.001785);
v(-7.74633, 3.370286, 135.837692);
v(-13.700249, 9.04556, 128.976013);
v(-3.387856, 10.559322, 127.347565);
v(3.1E-5, -17.685707, 156.17717);
v(2.3E-5, -18.610979, 140.670654);
v(1.5E-5, -17.138315, 125.964005);
v(-4.747849, -19.046499, 138.916061);
v(-5.7873, -16.437239, 127.652618);
v(-14.006332, -13.546842, 129.597015);
v(3.1E-5, 3.059096, 153.59314);
v(2.3E-5, 4.560999, 134.150528);
v(3.8E-5, 4.452197, 158.490936);
v(1.5E-5, 8.346867, 127.22438);
v(15.518257, -18.315704, 164.879517);
v(13.870018, -25.270363, 160.224762);
v(11.805397, -20.638325, 165.674438);
v(7.335602, -21.548172, 164.041046);
v(5.248817, -23.178398, 160.364349);
v(1.791237, -20.574574, 157.2379);
v(1.19622, -18.202911, 160.279251);
v(10.770355, -18.749405, 150.035507);
v(5.663544, -20.321945, 151.314957);
v(12.518723, -23.267464, 153.856842);
v(6.448807, -23.618511, 155.852997);
v(17.681175, -19.330425, 154.603104);
v(15.759468, -15.398235, 150.69545);
v(19.114265, -17.420826, 160.706894);
v(19.347038, -9.028309, 160.609375);
v(19.106842, -18.029449, 157.014725);
v(18.322449, -5.042849, 130.97522);
v(14.487915, -11.510572, 139.547302);
v(15.506653, -2.915843, 140.36615);
v(14.432129, -0.973847, 156.160736);
v(17.876595, -1.208207, 159.001785);
v(9.826294, 5.727513, 158.375824);
v(8.247452, 2.786534, 154.416336);
v(7.746368, 3.37029, 135.837692);
v(3.387894, 10.559326, 127.347565);
v(13.700287, 9.045556, 128.976013);
v(4.747879, -19.046495, 138.916061);
v(10.964058, -16.621487, 138.467575);
v(14.006378, -13.546845, 129.597015);
v(5.787338, -16.437239, 127.652618);
v(3.1E-5, -17.321577, 156.999817);
v(-18.198616, -0.578975, 159.952286);
v(18.198074, -0.578975, 159.952286);
v(9.952446, 6.60561, 159.36911);
v(3.8E-5, 5.208002, 159.482559);
v(-9.95237, 6.605609, 159.36911);
v(3.8E-5, -16.192627, 160.227966);
v(-4.885765, -19.392456, 162.481079);
v(4.877182, -19.302168, 162.531555);
uv(0.451926, 0.670455);
uv(0.428821, 0.759437);
uv(0.480867, 0.774633);
uv(0.543524, 0.743408);
uv(0.572777, 0.673123);
uv(0.629586, 0.671496);
uv(0.621245, 0.613357);
uv(0.566963, 0.500131);
uv(0.495376, 0.475673);
uv(0.470868, 0.548723);
uv(0.555955, 0.586882);
uv(0.398501, 0.562989);
uv(0.425439, 0.488289);
uv(0.378413, 0.679671);
uv(0.37515, 0.677807);
uv(0.378517, 0.60909);
uv(0.492661, 0.254536);
uv(0.443264, 0.275176);
uv(0.389512, 0.008401);
uv(0.428983, 0.29083);
uv(0.218413, 0.487043);
uv(0.248524, 0.466415);
uv(0.240838, 0.513236);
uv(0.201641, 0.520638);
uv(0.213182, 0.300272);
uv(0.250964, 0.246724);
uv(0.444046, 0.592765);
uv(0.537766, 0.204262);
uv(0.454304, 0.008318);
uv(0.598862, 0.008251);
uv(0.646353, 0.593079);
uv(0.646353, 0.296651);
uv(0.646353, 0.008193);
uv(0.579798, 0.263109);
uv(0.565227, 0.008263);
uv(0.450014, 0.008344);
uv(0.288678, 0.456681);
uv(0.288678, 0.223248);
uv(0.288678, 0.514597);
uv(0.646353, 0.008198);
uv(0.646353, 0.186649);
uv(0.863886, 0.759437);
uv(0.840781, 0.670455);
uv(0.81184, 0.774633);
uv(0.749182, 0.743408);
uv(0.71993, 0.673123);
uv(0.671462, 0.613357);
uv(0.663121, 0.671496);
uv(0.797331, 0.475673);
uv(0.725744, 0.500131);
uv(0.821839, 0.548723);
uv(0.736751, 0.586882);
uv(0.894206, 0.562989);
uv(0.867267, 0.488289);
uv(0.914294, 0.679671);
uv(0.917558, 0.677807);
uv(0.914191, 0.60909);
uv(0.903195, 0.008401);
uv(0.849443, 0.275176);
uv(0.863723, 0.29083);
uv(0.358943, 0.487043);
uv(0.375713, 0.520638);
uv(0.336519, 0.513236);
uv(0.328832, 0.466415);
uv(0.326392, 0.246724);
uv(0.364174, 0.300272);
uv(0.848661, 0.592765);
uv(0.754941, 0.204262);
uv(0.693844, 0.008251);
uv(0.838402, 0.008318);
uv(0.712908, 0.263109);
uv(0.800046, 0.254536);
uv(0.842693, 0.008344);
uv(0.727479, 0.008263);
uv(0.646353, 0.608805);
uv(0.395754, 0.647076);
uv(0.391247, 0.665246);
uv(0.901452, 0.665246);
uv(0.896945, 0.647076);
uv(0.337133, 0.524982);
uv(0.288678, 0.526323);
uv(0.240223, 0.524982);
uv(0.200075, 0.531877);
uv(0.377278, 0.531877);
uv(0.646353, 0.670516);
uv(0.577865, 0.713587);
uv(0.714721, 0.714552);
f(0, 1, 2, 0, 1, 2);
f(0, 2, 3, 0, 2, 3);
f(4, 0, 3, 4, 0, 3);
f(5, 6, 4, 5, 6, 4);
f(7, 8, 9, 7, 8, 9);
f(6, 7, 10, 6, 7, 10);
f(10, 7, 9, 10, 7, 9);
f(4, 6, 10, 4, 6, 10);
f(4, 10, 0, 4, 10, 0);
f(10, 9, 0, 10, 9, 0);
f(9, 11, 0, 9, 11, 0);
f(8, 12, 11, 8, 12, 11);
f(11, 9, 8, 11, 9, 8);
f(1, 13, 14, 1, 13, 14);
f(0, 13, 1, 0, 13, 1);
f(0, 15, 13, 0, 15, 13);
f(0, 11, 15, 0, 11, 15);
f(11, 12, 15, 11, 12, 15);
f(14, 12, 16, 14, 12, 16);
f(13, 15, 14, 13, 15, 14);
f(17, 18, 19, 17, 18, 19);
f(14, 17, 19, 14, 17, 19);
f(20, 21, 22, 20, 21, 22);
f(22, 23, 20, 22, 23, 20);
f(20, 19, 24, 20, 24, 25);
f(24, 21, 20, 25, 21, 20);
f(19, 20, 14, 19, 26, 14);
f(24, 19, 25, 27, 19, 28);
f(25, 26, 24, 28, 29, 27);
f(27, 28, 7, 30, 31, 7);
f(28, 29, 30, 31, 32, 33);
f(28, 30, 7, 31, 33, 7);
f(16, 12, 8, 16, 12, 8);
f(30, 16, 8, 33, 16, 8);
f(7, 30, 8, 7, 33, 8);
f(30, 31, 32, 33, 34, 35);
f(32, 16, 30, 35, 16, 33);
f(29, 31, 30, 32, 34, 33);
f(32, 18, 17, 35, 18, 17);
f(16, 32, 17, 16, 35, 17);
f(16, 17, 14, 16, 17, 14);
f(33, 24, 34, 36, 25, 37);
f(33, 21, 24, 36, 21, 25);
f(35, 21, 33, 38, 21, 36);
f(35, 22, 21, 38, 22, 21);
f(36, 24, 26, 39, 27, 29);
f(34, 24, 36, 40, 27, 39);
f(37, 38, 39, 41, 42, 43);
f(39, 38, 40, 43, 42, 44);
f(41, 40, 38, 45, 44, 42);
f(41, 42, 43, 45, 46, 47);
f(44, 45, 46, 48, 49, 50);
f(47, 45, 42, 51, 49, 46);
f(45, 47, 46, 49, 51, 50);
f(42, 41, 47, 46, 45, 51);
f(47, 41, 38, 51, 45, 42);
f(46, 47, 38, 50, 51, 42);
f(48, 46, 38, 52, 50, 42);
f(44, 46, 48, 48, 50, 52);
f(48, 49, 44, 52, 53, 48);
f(50, 37, 51, 54, 41, 55);
f(50, 38, 37, 54, 42, 41);
f(52, 38, 50, 56, 42, 54);
f(48, 38, 52, 52, 42, 56);
f(49, 48, 52, 53, 52, 56);
f(51, 49, 52, 55, 53, 56);
f(52, 50, 51, 56, 54, 55);
f(53, 54, 55, 57, 58, 59);
f(54, 51, 55, 58, 55, 59);
f(56, 57, 58, 60, 61, 62);
f(58, 59, 56, 62, 63, 60);
f(56, 59, 60, 60, 63, 64);
f(60, 55, 56, 64, 65, 60);
f(56, 55, 51, 66, 59, 55);
f(60, 61, 62, 67, 68, 69);
f(62, 55, 60, 69, 59, 67);
f(28, 27, 45, 31, 30, 49);
f(29, 28, 63, 32, 31, 70);
f(63, 28, 45, 70, 31, 49);
f(63, 45, 44, 70, 49, 48);
f(64, 63, 44, 71, 70, 48);
f(49, 64, 44, 53, 71, 48);
f(63, 64, 65, 70, 71, 72);
f(65, 66, 63, 72, 73, 70);
f(66, 29, 63, 73, 32, 70);
f(53, 65, 54, 57, 72, 58);
f(65, 64, 54, 72, 71, 58);
f(54, 64, 51, 58, 71, 55);
f(60, 33, 34, 64, 36, 37);
f(60, 59, 33, 64, 63, 36);
f(59, 35, 33, 63, 38, 36);
f(61, 60, 36, 68, 67, 39);
f(60, 34, 36, 67, 40, 39);
f(25, 19, 18, 28, 19, 18);
f(53, 55, 62, 57, 59, 69);
f(67, 27, 6, 74, 30, 6);
f(42, 27, 67, 46, 30, 74);
f(51, 64, 49, 55, 71, 53);
f(14, 15, 12, 14, 15, 12);
f(14, 23, 68, 14, 75, 76);
f(69, 57, 51, 77, 78, 55);
f(58, 70, 71, 62, 79, 80);
f(71, 35, 58, 80, 38, 62);
f(23, 22, 72, 23, 22, 81);
f(72, 68, 23, 81, 82, 23);
f(35, 71, 72, 38, 80, 81);
f(72, 22, 35, 81, 22, 38);
f(70, 58, 57, 79, 62, 61);
f(57, 69, 70, 61, 83, 79);
f(14, 20, 23, 14, 26, 75);
f(57, 56, 51, 78, 66, 55);
f(35, 59, 58, 38, 63, 62);
f(67, 73, 43, 74, 84, 47);
f(6, 5, 67, 6, 5, 74);
f(5, 73, 67, 5, 84, 74);
f(43, 42, 67, 47, 46, 74);
f(74, 4, 3, 85, 4, 3);
f(5, 4, 74, 5, 4, 85);
f(75, 41, 43, 86, 45, 47);
f(40, 41, 75, 44, 45, 86);
f(6, 27, 7, 6, 30, 7);
f(45, 27, 42, 49, 30, 46);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 136
//BustinoUP (BustinoUP)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class BustinoUP extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function BustinoUP(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-27.578957, 9.646152, 158.896912);
v(-31.075493, 2.683784, 160.025604);
v(-19.892273, -0.264524, 162.089783);
v(-15.333801, 6.34537, 163.708694);
v(-10.826759, 9.608884, 167.240692);
v(-34.656548, 2.526339, 164.095795);
v(-26.277077, -0.30919, 165.067169);
v(-24.249512, -0.621634, 172.454514);
v(-35.724541, 7.70967, 168.309875);
v(-33.712349, 12.036954, 168.338898);
v(-21.331635, 5.950027, 172.390854);
v(-7.403313, -5.185091, 176.016998);
v(-5.235947, -11.079955, 172.436798);
v(-10.71209, -10.01891, 174.771973);
v(-29.084541, 15.387876, 164.006531);
v(-23.114372, -4.242906, 163.318451);
v(-10.813217, -14.704367, 168.008682);
v(-15.365356, -13.587157, 167.597519);
v(-15.253891, -8.707894, 172.303818);
v(-27.921638, 12.236178, 160.373444);
v(-15.472939, -18.315712, 164.879517);
v(-11.760078, -20.638329, 165.674438);
v(-4.534134, -16.19659, 164.267899);
v(-4.84053, -19.392456, 162.481079);
v(-7.290283, -21.548168, 164.041046);
v(-1.150909, -18.202911, 160.279251);
v(0.04528, -15.583632, 162.301544);
v(0.04528, -11.993457, 169.264664);
v(-19.301727, -9.028306, 160.60936);
v(-10.35994, 7.619869, 160.684464);
v(-18.153381, -0.578975, 159.952286);
v(-6.030853, 1.521746, 176.382874);
v(-7.713196, 6.962165, 174.015427);
v(0.045235, -10.020634, 174.86676);
v(0.04528, 7.744476, 167.535889);
v(0.04528, 5.691522, 160.582855);
v(0.045235, 4.035344, 176.554199);
v(22.183456, -6.855353, 152.450928);
v(19.237259, -1.515041, 152.193146);
v(17.510643, -0.264524, 161.03096);
v(22.17099, 4.504004, 152.449814);
v(25.711914, 3.171041, 164.561737);
v(15.424355, 6.345366, 167.762405);
v(21.282524, 3.722832, 170.971436);
v(30.113586, -7.964758, 153.144684);
v(25.396088, -8.375831, 166.673172);
v(31.234756, -4.537921, 153.533661);
v(23.500359, -1.865387, 171.502014);
v(32.791618, 0.439392, 153.536346);
v(10.802643, -10.018908, 174.771988);
v(5.3265, -11.079951, 172.436798);
v(7.49382, -5.185091, 176.016998);
v(29.475723, 5.646687, 153.720978);
v(20.882072, -10.190972, 163.802277);
v(10.903763, -14.704363, 168.008682);
v(15.400169, -11.147529, 165.84964);
v(15.563492, -18.315704, 164.879517);
v(11.850632, -20.638325, 165.674438);
v(7.380836, -21.548172, 164.041046);
v(4.922417, -19.302168, 162.531555);
v(4.624672, -16.19659, 164.267899);
v(1.241455, -18.202911, 160.279251);
v(5.280769, 9.371969, 167.65126);
v(6.39389, 6.687324, 174.015427);
v(10.450485, 7.619871, 160.684464);
v(18.243309, -0.578975, 159.952286);
v(19.392273, -9.028309, 160.609375);
v(5.384918, 1.145509, 176.382889);
v(0.045273, 5.208002, 159.482559);
v(9.997681, 6.60561, 159.36911);
v(-9.907135, 6.605609, 159.36911);
v(0.045273, -16.192627, 160.227966);
uv(0.346356, 0.705776);
uv(0.30382, 0.741353);
uv(0.367505, 0.706107);
uv(0.431405, 0.737055);
uv(0.494585, 0.804574);
uv(0.272668, 0.831601);
uv(0.332783, 0.763024);
uv(0.361206, 0.904243);
uv(0.276157, 0.913915);
uv(0.303526, 0.905971);
uv(0.402108, 0.903026);
uv(0.539835, 0.978708);
uv(0.572956, 0.903904);
uv(0.496192, 0.948545);
uv(0.347735, 0.80647);
uv(0.377118, 0.729595);
uv(0.494774, 0.819255);
uv(0.430963, 0.811395);
uv(0.432526, 0.901362);
uv(0.348006, 0.734484);
uv(0.429455, 0.759437);
uv(0.481501, 0.774633);
uv(0.582794, 0.747745);
uv(0.578499, 0.713587);
uv(0.544158, 0.743408);
uv(0.63022, 0.671496);
uv(0.646987, 0.710155);
uv(0.646987, 0.843265);
uv(0.375783, 0.677807);
uv(0.214023, 0.576297);
uv(0.238239, 0.540535);
uv(0.235966, 0.618062);
uv(0.191829, 0.557153);
uv(0.391881, 0.665246);
uv(0.559074, 0.985703);
uv(0.53823, 0.934082);
uv(0.641509, 0.985354);
uv(0.288898, 0.621553);
uv(0.288898, 0.539334);
uv(0.644248, 0.988978);
uv(0.646987, 0.810217);
uv(0.979559, 0.736395);
uv(0.976565, 0.688296);
uv(0.891815, 0.685866);
uv(0.979546, 0.736192);
uv(0.957478, 0.737454);
uv(0.86257, 0.814547);
uv(0.925516, 0.875892);
uv(0.987618, 0.865863);
uv(0.95305, 0.777817);
uv(0.984043, 0.885133);
uv(0.956605, 0.886035);
uv(0.987789, 0.910107);
uv(0.795044, 0.954908);
uv(0.721019, 0.903904);
uv(0.748661, 0.978708);
uv(0.976725, 0.857547);
uv(0.919902, 0.738844);
uv(0.799201, 0.819255);
uv(0.862231, 0.777982);
uv(0.86452, 0.759437);
uv(0.812473, 0.774633);
uv(0.749816, 0.743408);
uv(0.715355, 0.714552);
uv(0.711181, 0.747745);
uv(0.663755, 0.671496);
uv(0.720378, 0.812422);
uv(0.735982, 0.934082);
uv(0.339558, 0.540535);
uv(0.363774, 0.624232);
uv(0.314388, 0.622917);
uv(0.373931, 0.544633);
uv(0.902085, 0.665246);
uv(0.918192, 0.677807);
uv(0.719099, 0.985703);
uv(0.288898, 0.526323);
uv(0.337353, 0.524982);
uv(0.200295, 0.531877);
uv(0.240444, 0.524982);
uv(0.377498, 0.531877);
uv(0.646987, 0.670516);
f(0, 1, 2, 0, 1, 2);
f(0, 2, 3, 0, 2, 3);
f(0, 3, 4, 0, 3, 4);
f(2, 5, 6, 2, 5, 6);
f(5, 7, 6, 5, 7, 6);
f(5, 8, 7, 5, 8, 7);
f(8, 9, 10, 8, 9, 10);
f(7, 8, 10, 7, 8, 10);
f(11, 12, 13, 11, 12, 13);
f(11, 13, 7, 11, 13, 7);
f(11, 7, 10, 11, 7, 10);
f(9, 14, 10, 9, 14, 10);
f(15, 2, 6, 15, 2, 6);
f(16, 17, 18, 16, 17, 18);
f(13, 16, 18, 13, 16, 18);
f(7, 13, 18, 7, 13, 18);
f(19, 0, 4, 19, 0, 4);
f(4, 14, 19, 4, 14, 19);
f(16, 20, 17, 16, 20, 17);
f(16, 21, 20, 16, 21, 20);
f(22, 23, 24, 22, 23, 24);
f(25, 23, 22, 25, 23, 22);
f(26, 25, 22, 26, 25, 22);
f(24, 21, 16, 24, 21, 16);
f(22, 24, 16, 22, 24, 16);
f(22, 16, 13, 22, 16, 13);
f(12, 22, 13, 12, 22, 13);
f(27, 26, 22, 27, 26, 22);
f(22, 12, 27, 22, 12, 27);
f(20, 28, 17, 20, 28, 17);
f(3, 29, 4, 29, 30, 31);
f(2, 29, 3, 32, 30, 29);
f(28, 30, 2, 28, 33, 2);
f(10, 14, 4, 10, 14, 4);
f(31, 10, 4, 34, 10, 4);
f(32, 31, 4, 35, 34, 4);
f(11, 10, 31, 11, 10, 34);
f(33, 12, 11, 36, 12, 11);
f(33, 27, 12, 36, 27, 12);
f(7, 18, 15, 7, 18, 15);
f(15, 6, 7, 15, 6, 7);
f(18, 28, 15, 18, 28, 15);
f(28, 2, 15, 28, 2, 15);
f(34, 29, 35, 37, 30, 38);
f(34, 4, 29, 37, 31, 30);
f(36, 4, 34, 39, 4, 40);
f(36, 32, 4, 39, 35, 4);
f(36, 31, 32, 39, 34, 35);
f(37, 38, 39, 41, 42, 43);
f(38, 40, 39, 42, 44, 43);
f(39, 40, 41, 43, 44, 45);
f(39, 41, 42, 43, 45, 46);
f(42, 41, 43, 46, 45, 47);
f(44, 39, 45, 48, 43, 49);
f(46, 44, 45, 50, 48, 49);
f(47, 48, 46, 51, 52, 50);
f(49, 50, 51, 53, 54, 55);
f(45, 49, 51, 49, 53, 55);
f(45, 51, 47, 49, 55, 51);
f(45, 47, 46, 49, 51, 50);
f(52, 48, 47, 56, 52, 51);
f(39, 53, 45, 43, 57, 49);
f(54, 49, 45, 58, 53, 49);
f(45, 55, 54, 49, 59, 58);
f(41, 40, 52, 45, 44, 56);
f(52, 43, 41, 56, 47, 45);
f(56, 54, 55, 60, 58, 59);
f(57, 54, 56, 61, 58, 60);
f(58, 59, 60, 62, 63, 64);
f(59, 61, 60, 63, 65, 64);
f(61, 26, 60, 65, 26, 64);
f(57, 58, 54, 61, 62, 58);
f(58, 60, 54, 62, 64, 58);
f(54, 60, 49, 58, 64, 53);
f(60, 50, 49, 64, 54, 53);
f(27, 50, 60, 27, 54, 64);
f(60, 26, 27, 64, 26, 27);
f(62, 42, 63, 66, 46, 67);
f(64, 42, 62, 68, 69, 70);
f(64, 39, 42, 68, 71, 69);
f(65, 66, 39, 72, 73, 43);
f(42, 43, 63, 46, 47, 67);
f(67, 63, 43, 74, 67, 47);
f(47, 67, 43, 51, 74, 47);
f(52, 47, 43, 56, 51, 47);
f(47, 51, 67, 51, 55, 74);
f(50, 33, 51, 54, 36, 55);
f(27, 33, 50, 27, 36, 54);
f(53, 55, 45, 57, 59, 49);
f(66, 55, 53, 73, 59, 57);
f(39, 66, 53, 43, 73, 57);
f(35, 68, 69, 38, 75, 76);
f(69, 64, 35, 76, 68, 38);
f(64, 34, 35, 68, 37, 38);
f(64, 62, 34, 68, 70, 37);
f(62, 36, 34, 66, 39, 40);
f(62, 63, 36, 66, 67, 39);
f(63, 67, 36, 67, 74, 39);
f(28, 18, 17, 28, 18, 17);
f(66, 56, 55, 73, 60, 59);
f(29, 2, 30, 30, 32, 77);
f(30, 70, 29, 77, 78, 30);
f(35, 29, 70, 38, 30, 78);
f(70, 68, 35, 78, 75, 38);
f(65, 39, 64, 79, 71, 68);
f(64, 69, 65, 68, 76, 79);
f(71, 26, 61, 80, 26, 65);
f(25, 26, 71, 25, 26, 80);
f(5, 2, 1, 5, 2, 1);
f(37, 39, 44, 41, 43, 48);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 137
//Busto (Busto)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Busto extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Busto(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-13.869934, -25.270374, 160.224762);
v(-15.518173, -18.315712, 164.879517);
v(-11.805313, -20.638329, 165.674438);
v(-7.335518, -21.548168, 164.041046);
v(-5.248734, -23.178398, 160.364349);
v(-1.196144, -18.202911, 160.279251);
v(-1.791161, -20.574574, 157.2379);
v(-5.663475, -20.321945, 151.314957);
v(-10.770279, -18.749405, 150.035522);
v(-12.518646, -23.267479, 153.856842);
v(-6.44873, -23.618515, 155.852997);
v(-17.681107, -19.330429, 154.603104);
v(-15.759399, -15.398237, 150.695465);
v(-19.114182, -17.420834, 160.706894);
v(-19.346962, -9.028306, 160.60936);
v(-19.106758, -18.029457, 157.014725);
v(-8.375961, -16.467207, 138.467575);
v(-11.068016, -12.494091, 139.547302);
v(-18.322403, -5.042849, 130.97522);
v(-11.846283, -5.812736, 140.36615);
v(-14.43206, -0.973847, 156.160736);
v(-8.247375, 2.786534, 154.416336);
v(-9.826218, 5.727512, 158.375824);
v(-17.877083, -1.208207, 159.001785);
v(-5.917809, -0.926033, 135.837692);
v(-13.700249, 9.04556, 128.976013);
v(-3.387856, 10.559322, 127.347565);
v(3.1E-5, -17.685707, 156.17717);
v(2.3E-5, -18.013796, 140.670654);
v(1.5E-5, -17.138315, 125.964005);
v(-3.627113, -18.352358, 138.916061);
v(-5.7873, -16.437239, 127.652618);
v(-14.006332, -13.546842, 129.597015);
v(3.1E-5, 3.059096, 153.59314);
v(2.3E-5, -0.0004, 134.150528);
v(3.8E-5, 4.452197, 158.490936);
v(1.5E-5, 8.346867, 127.22438);
v(15.518257, -18.315704, 164.879517);
v(13.870018, -25.270363, 160.224762);
v(11.805397, -20.638325, 165.674438);
v(7.335602, -21.548172, 164.041046);
v(5.248817, -23.178398, 160.364349);
v(1.791237, -20.574574, 157.2379);
v(1.19622, -18.202911, 160.279251);
v(10.770355, -18.749405, 150.035507);
v(5.663544, -20.321945, 151.314957);
v(12.518723, -23.267464, 153.856842);
v(6.448807, -23.618511, 155.852997);
v(17.681175, -19.330425, 154.603104);
v(15.759468, -15.398235, 150.69545);
v(19.114265, -17.420826, 160.706894);
v(19.347038, -9.028309, 160.609375);
v(19.106842, -18.029449, 157.014725);
v(18.322449, -5.042849, 130.97522);
v(11.068062, -12.494091, 139.547302);
v(11.846329, -5.812736, 140.36615);
v(14.432129, -0.973847, 156.160736);
v(17.876595, -1.208207, 159.001785);
v(9.826294, 5.727513, 158.375824);
v(8.247452, 2.786534, 154.416336);
v(5.917854, -0.926033, 135.837692);
v(3.387894, 10.559326, 127.347565);
v(13.700287, 9.045556, 128.976013);
v(3.627159, -18.352358, 138.916061);
v(8.376007, -16.467207, 138.467575);
v(14.006378, -13.546845, 129.597015);
v(5.787338, -16.437239, 127.652618);
v(3.1E-5, -17.321577, 156.999817);
v(-18.198616, -0.578975, 159.952286);
v(18.198074, -0.578975, 159.952286);
v(9.952446, 6.60561, 159.36911);
v(3.8E-5, 5.208002, 159.482559);
v(-9.95237, 6.605609, 159.36911);
v(3.8E-5, -16.192627, 160.227966);
v(-4.885765, -19.392456, 162.481079);
v(4.877182, -19.302168, 162.531555);
uv(0.183158, 0.061455);
uv(0.18088, 0.068262);
uv(0.186012, 0.069424);
uv(0.19219, 0.067036);
uv(0.195074, 0.061659);
uv(0.200675, 0.061534);
uv(0.199853, 0.056186);
uv(0.194501, 0.047496);
uv(0.187442, 0.046554);
uv(0.185026, 0.052142);
uv(0.193415, 0.055061);
uv(0.177891, 0.053234);
uv(0.180547, 0.047519);
uv(0.17591, 0.06216);
uv(0.175588, 0.062017);
uv(0.17592, 0.05676);
uv(0.316354, 0.255335);
uv(0.321312, 0.240837);
uv(0.331517, 0.222955);
uv(0.327797, 0.224534);
uv(0.31777, 0.211999);
uv(0.326721, 0.225732);
uv(0.323147, 0.24883);
uv(0.331695, 0.246279);
uv(0.329513, 0.252986);
uv(0.318385, 0.253901);
uv(0.334915, 0.21911);
uv(0.324158, 0.209075);
uv(0.338412, 0.206694);
uv(0.343094, 0.247343);
uv(0.343094, 0.226177);
uv(0.335266, 0.240814);
uv(0.094932, 0.32969);
uv(0.094932, 0.021036);
uv(0.042909, 0.303067);
uv(0.338081, 0.223611);
uv(0.328208, 0.239872);
uv(0.335095, 0.19526);
uv(0.323735, 0.211289);
uv(0.011926, 0.008903);
uv(0.343094, 0.245075);
uv(0.343094, 0.216642);
uv(0.343094, 0.253154);
uv(0.343094, 0.206514);
uv(0.223777, 0.068262);
uv(0.221499, 0.061455);
uv(0.218645, 0.069424);
uv(0.212467, 0.067036);
uv(0.209583, 0.061659);
uv(0.204804, 0.056186);
uv(0.203982, 0.061534);
uv(0.217215, 0.046554);
uv(0.210156, 0.047496);
uv(0.219631, 0.052142);
uv(0.211242, 0.055061);
uv(0.226766, 0.053234);
uv(0.22411, 0.047519);
uv(0.228747, 0.06216);
uv(0.229069, 0.062017);
uv(0.228737, 0.05676);
uv(0.368418, 0.211999);
uv(0.358392, 0.224534);
uv(0.359467, 0.225732);
uv(0.369834, 0.255335);
uv(0.363041, 0.24883);
uv(0.367802, 0.253901);
uv(0.356676, 0.252986);
uv(0.354493, 0.246279);
uv(0.351273, 0.21911);
uv(0.347777, 0.206694);
uv(0.36203, 0.209075);
uv(0.350922, 0.240814);
uv(0.146955, 0.303067);
uv(0.348107, 0.223611);
uv(0.35798, 0.239872);
uv(0.354671, 0.222955);
uv(0.364876, 0.240837);
uv(0.362453, 0.211289);
uv(0.351093, 0.19526);
uv(0.136647, 0.012657);
uv(0.202328, 0.055838);
uv(0.202328, 0.054025);
uv(0.17762, 0.060583);
uv(0.177175, 0.061056);
uv(0.227481, 0.061056);
uv(0.227036, 0.060583);
uv(0.21591, 0.059667);
uv(0.216084, 0.060203);
uv(0.202328, 0.060369);
uv(0.202328, 0.059836);
uv(0.188747, 0.059667);
uv(0.188573, 0.060203);
uv(0.202328, 0.061459);
uv(0.195576, 0.064754);
uv(0.209069, 0.064828);
f(0, 1, 2, 0, 1, 2);
f(0, 2, 3, 0, 2, 3);
f(4, 0, 3, 4, 0, 3);
f(5, 6, 4, 5, 6, 4);
f(7, 8, 9, 7, 8, 9);
f(6, 7, 10, 6, 7, 10);
f(10, 7, 9, 10, 7, 9);
f(4, 6, 10, 4, 6, 10);
f(4, 10, 0, 4, 10, 0);
f(10, 9, 0, 10, 9, 0);
f(9, 11, 0, 9, 11, 0);
f(8, 12, 11, 8, 12, 11);
f(11, 9, 8, 11, 9, 8);
f(1, 13, 14, 1, 13, 14);
f(0, 13, 1, 0, 13, 1);
f(0, 15, 13, 0, 15, 13);
f(0, 11, 15, 0, 11, 15);
f(11, 12, 15, 11, 12, 15);
f(14, 12, 16, 16, 17, 18);
f(13, 15, 14, 13, 15, 14);
f(17, 18, 19, 19, 20, 21);
f(14, 17, 19, 16, 19, 21);
f(20, 21, 22, 22, 23, 24);
f(22, 23, 20, 24, 25, 22);
f(20, 19, 24, 22, 21, 26);
f(24, 21, 20, 26, 23, 22);
f(19, 20, 14, 21, 22, 16);
f(24, 19, 25, 26, 21, 27);
f(25, 26, 24, 27, 28, 26);
f(27, 28, 7, 29, 30, 31);
f(28, 29, 30, 32, 33, 34);
f(28, 30, 7, 30, 35, 31);
f(16, 12, 8, 18, 17, 36);
f(30, 16, 8, 35, 18, 36);
f(7, 30, 8, 31, 35, 36);
f(30, 31, 32, 35, 37, 38);
f(32, 16, 30, 38, 18, 35);
f(29, 31, 30, 33, 39, 34);
f(32, 18, 17, 38, 20, 19);
f(16, 32, 17, 18, 38, 19);
f(16, 17, 14, 18, 19, 16);
f(33, 24, 34, 40, 26, 41);
f(33, 21, 24, 40, 23, 26);
f(35, 21, 33, 42, 23, 40);
f(35, 22, 21, 42, 24, 23);
f(36, 24, 26, 43, 26, 28);
f(34, 24, 36, 41, 26, 43);
f(37, 38, 39, 44, 45, 46);
f(39, 38, 40, 46, 45, 47);
f(41, 40, 38, 48, 47, 45);
f(41, 42, 43, 48, 49, 50);
f(44, 45, 46, 51, 52, 53);
f(47, 45, 42, 54, 52, 49);
f(45, 47, 46, 52, 54, 53);
f(42, 41, 47, 49, 48, 54);
f(47, 41, 38, 54, 48, 45);
f(46, 47, 38, 53, 54, 45);
f(48, 46, 38, 55, 53, 45);
f(44, 46, 48, 51, 53, 55);
f(48, 49, 44, 55, 56, 51);
f(50, 37, 51, 57, 44, 58);
f(50, 38, 37, 57, 45, 44);
f(52, 38, 50, 59, 45, 57);
f(48, 38, 52, 55, 45, 59);
f(49, 48, 52, 56, 55, 59);
f(51, 49, 52, 58, 56, 59);
f(52, 50, 51, 59, 57, 58);
f(53, 54, 55, 60, 61, 62);
f(54, 51, 55, 61, 63, 62);
f(56, 57, 58, 64, 65, 66);
f(58, 59, 56, 66, 67, 64);
f(56, 59, 60, 64, 67, 68);
f(60, 55, 56, 68, 62, 64);
f(56, 55, 51, 64, 62, 63);
f(60, 61, 62, 68, 69, 70);
f(62, 55, 60, 70, 62, 68);
f(28, 27, 45, 30, 29, 71);
f(29, 28, 63, 33, 32, 72);
f(63, 28, 45, 73, 30, 71);
f(63, 45, 44, 73, 71, 74);
f(64, 63, 44, 75, 73, 74);
f(49, 64, 44, 76, 75, 74);
f(63, 64, 65, 73, 75, 77);
f(65, 66, 63, 77, 78, 73);
f(66, 29, 63, 79, 33, 72);
f(53, 65, 54, 60, 77, 61);
f(65, 64, 54, 77, 75, 61);
f(54, 64, 51, 61, 75, 63);
f(60, 33, 34, 68, 40, 41);
f(60, 59, 33, 68, 67, 40);
f(59, 35, 33, 67, 42, 40);
f(61, 60, 36, 69, 68, 43);
f(60, 34, 36, 68, 41, 43);
f(25, 19, 18, 27, 21, 20);
f(53, 55, 62, 60, 62, 70);
f(67, 27, 6, 80, 81, 6);
f(42, 27, 67, 49, 81, 80);
f(51, 64, 49, 63, 75, 76);
f(14, 15, 12, 14, 15, 12);
f(14, 23, 68, 14, 82, 83);
f(69, 57, 51, 84, 85, 58);
f(58, 70, 71, 86, 87, 88);
f(71, 35, 58, 88, 89, 86);
f(23, 22, 72, 82, 90, 91);
f(72, 68, 23, 91, 83, 82);
f(35, 71, 72, 89, 88, 91);
f(72, 22, 35, 91, 90, 89);
f(70, 58, 57, 87, 86, 85);
f(57, 69, 70, 85, 84, 87);
f(14, 20, 23, 16, 22, 25);
f(57, 56, 51, 65, 64, 63);
f(35, 59, 58, 42, 67, 66);
f(67, 73, 43, 80, 92, 50);
f(6, 5, 67, 6, 5, 80);
f(5, 73, 67, 5, 92, 80);
f(43, 42, 67, 50, 49, 80);
f(74, 4, 3, 93, 4, 3);
f(5, 4, 74, 5, 4, 93);
f(75, 41, 43, 94, 48, 50);
f(40, 41, 75, 47, 48, 94);
f(6, 27, 7, 6, 81, 7);
f(45, 27, 42, 52, 81, 49);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 138
//BustoLow (BustoLow)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class BustoLow extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function BustoLow(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-11.068016, -12.494091, 139.547302);
v(-18.322403, -5.042849, 130.97522);
v(-11.846283, -5.812736, 140.36615);
v(-5.917809, -2.483646, 139.252411);
v(-13.700249, 9.04556, 128.976013);
v(-3.387856, 10.559322, 127.347565);
v(2.3E-5, -18.013796, 140.670654);
v(1.5E-5, -17.138315, 125.964005);
v(-3.627113, -18.352358, 138.916061);
v(-5.7873, -16.437239, 127.652618);
v(-14.006332, -13.546842, 129.597015);
v(-8.375961, -16.467207, 138.467575);
v(1.5E-5, 8.346867, 127.22438);
v(2.3E-5, -2.658409, 139.36528);
v(18.322449, -5.042849, 130.97522);
v(11.068062, -12.494091, 139.547302);
v(11.846329, -5.812736, 140.36615);
v(5.917854, -2.483646, 139.252411);
v(3.387894, 10.559326, 127.347565);
v(13.700287, 9.045556, 128.976013);
v(3.627159, -18.352358, 138.916061);
v(8.376007, -16.467207, 138.467575);
v(14.006378, -13.546845, 129.597015);
v(5.787338, -16.437239, 127.652618);
uv(0.327797, 0.224534);
uv(0.31777, 0.211999);
uv(0.326721, 0.225732);
uv(0.334915, 0.21911);
uv(0.324158, 0.209075);
uv(0.338412, 0.206694);
uv(0.094932, 0.32969);
uv(0.094932, 0.021036);
uv(0.042909, 0.303067);
uv(0.338081, 0.223611);
uv(0.335095, 0.19526);
uv(0.323735, 0.211289);
uv(0.331517, 0.222955);
uv(0.011926, 0.008903);
uv(0.343094, 0.206514);
uv(0.343094, 0.216642);
uv(0.368418, 0.211999);
uv(0.358392, 0.224534);
uv(0.359467, 0.225732);
uv(0.351273, 0.21911);
uv(0.347777, 0.206694);
uv(0.36203, 0.209075);
uv(0.146955, 0.303067);
uv(0.348107, 0.223611);
uv(0.354671, 0.222955);
uv(0.362453, 0.211289);
uv(0.351093, 0.19526);
uv(0.136647, 0.012657);
f(0, 1, 2, 0, 1, 2);
f(3, 2, 4, 3, 2, 4);
f(4, 5, 3, 4, 5, 3);
f(6, 7, 8, 6, 7, 8);
f(8, 9, 10, 9, 10, 11);
f(10, 11, 8, 11, 12, 9);
f(7, 9, 8, 7, 13, 8);
f(10, 1, 0, 11, 1, 0);
f(11, 10, 0, 12, 11, 0);
f(12, 3, 5, 14, 3, 5);
f(13, 3, 12, 15, 3, 14);
f(14, 15, 16, 16, 17, 18);
f(17, 18, 19, 19, 20, 21);
f(19, 16, 17, 21, 18, 19);
f(7, 6, 20, 7, 6, 22);
f(20, 21, 22, 23, 24, 25);
f(22, 23, 20, 25, 26, 23);
f(23, 7, 20, 27, 7, 22);
f(14, 22, 15, 16, 25, 17);
f(22, 21, 15, 25, 24, 17);
f(18, 17, 12, 20, 19, 14);
f(17, 13, 12, 19, 15, 14);
f(4, 2, 1, 4, 2, 1);
f(14, 16, 19, 16, 18, 21);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 139
//Capelli1 (Capelli1)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Capelli1 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Capelli1(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-14.066154, -4.3711, 176.554138);
v(-21.644432, 4.486315, 175.141479);
v(-20.608688, -12.972604, 172.610382);
v(-22.480247, -0.885493, 219.703537);
v(3.1E-5, 10.689306, 177.52446);
v(-20.311554, 12.995308, 176.509155);
v(3.1E-5, 21.591782, 177.706207);
v(-11.170677, 19.933968, 177.637878);
v(3.8E-5, 13.055227, 230.644379);
v(-7.041374, 15.156733, 231.210083);
v(-8.266876, 21.251505, 227.17244);
v(3.1E-5, 23.764849, 224.425003);
v(-16.989349, -18.543123, 192.991974);
v(-23.724594, -11.263132, 203.66153);
v(-11.584709, -26.018232, 217.122406);
v(-10.162598, -20.090954, 210.200211);
v(3.1E-5, -25.850834, 222.786346);
v(3.1E-5, -21.242765, 217.330994);
v(-18.958954, -14.803288, 213.802948);
v(-8.439598, -22.626768, 230.21788);
v(-16.515022, 17.70093, 222.298172);
v(-11.986328, 25.400908, 207.950531);
v(-9.579613, 26.137194, 218.389648);
v(-18.700333, 11.727873, 224.745651);
v(-11.936531, 19.093294, 189.213089);
v(-22.081924, 17.100245, 211.200775);
v(-23.695328, 9.630855, 214.54921);
v(-6.00563, 3.902876, 233.818329);
v(-18.146591, 2.967597, 227.593445);
v(3.8E-5, 0.587297, 232.494507);
v(-13.365501, -11.328096, 231.231628);
v(-18.945007, -16.583109, 220.152832);
v(-4.860519, -8.008625, 233.504242);
v(-15.987427, -21.931524, 211.352661);
v(-20.75769, -16.260235, 182.085663);
v(-17.80719, -15.272227, 207.10405);
v(-24.305542, -5.605948, 210.105438);
v(-20.417877, -2.267044, 210.288849);
v(-19.753448, 1.440344, 191.977341);
v(-20.842926, -5.696572, 191.496964);
v(-20.608688, -12.972604, 172.610382);
v(-5.624603, -28.229927, 209.398483);
v(-12.557144, -26.818659, 197.155762);
v(-9.376266, -29.262247, 209.759583);
v(3.1E-5, -25.20787, 215.68512);
v(3.1E-5, -27.355921, 219.817001);
v(-3.942284, -25.181482, 217.204468);
v(-22.034546, -12.687436, 201.535797);
v(-10.162598, -20.090954, 210.200211);
v(-14.387741, -17.307495, 184.304321);
v(-18.698578, -12.18343, 195.450287);
v(-18.083504, -13.438339, 194.687149);
v(-19.12912, -14.643801, 181.730515);
v(-19.047974, -22.582397, 170.933945);
v(-17.318756, -12.232852, 197.085098);
v(3.1E-5, 26.916227, 207.254471);
v(3.1E-5, 26.43574, 216.917755);
v(3.1E-5, 19.668556, 187.459671);
v(3.1E-5, -20.84897, 219.451538);
v(21.644485, 4.486315, 175.141479);
v(14.066216, -4.3711, 176.554123);
v(20.608749, -12.972604, 172.610382);
v(22.480316, -0.885493, 219.703537);
v(20.311615, 12.995308, 176.509155);
v(11.170731, 19.933968, 177.637878);
v(8.266953, 21.251505, 227.17244);
v(7.041451, 15.156733, 231.210083);
v(23.724655, -11.263132, 203.66153);
v(16.98941, -18.543123, 192.991974);
v(11.584778, -26.018232, 217.122406);
v(10.162666, -20.090954, 210.200211);
v(18.959023, -14.803288, 213.802948);
v(8.439667, -22.626768, 230.21788);
v(11.986397, 25.400908, 207.950531);
v(16.515091, 17.70093, 222.298172);
v(9.579681, 26.137194, 218.389648);
v(18.700409, 11.727873, 224.745651);
v(11.936592, 19.093294, 189.213089);
v(22.081993, 17.100245, 211.200775);
v(23.695396, 9.630855, 214.54921);
v(18.146667, 2.967597, 227.593445);
v(6.005707, 3.902876, 233.818329);
v(18.945076, -16.583109, 220.152832);
v(13.365578, -11.328096, 231.231628);
v(4.860596, -8.008625, 233.504242);
v(15.987495, -21.931524, 211.352661);
v(20.757751, -16.260235, 182.085663);
v(17.807259, -15.272227, 207.10405);
v(24.305611, -5.605948, 210.105438);
v(20.417938, -2.267044, 210.288849);
v(19.75351, 1.440344, 191.977341);
v(20.842987, -5.696572, 191.496964);
v(20.608749, -12.972604, 172.610382);
v(5.913498, -26.890873, 216.99614);
v(9.376335, -29.262247, 209.759583);
v(5.624672, -28.229927, 209.398483);
v(12.557205, -26.818659, 197.155762);
v(10.162666, -20.090954, 210.200211);
v(22.034607, -12.687436, 201.535797);
v(14.387802, -17.307495, 184.304321);
v(18.698639, -12.18343, 195.450287);
v(18.083565, -13.438339, 194.687149);
v(19.129181, -14.643801, 181.730515);
v(19.048035, -22.582397, 170.933945);
v(17.318817, -12.232852, 197.085098);
uv(0.274609, 0.162846);
uv(0.203634, 0.220458);
uv(0.327843, 0.21171);
uv(0.242088, 0.708834);
uv(8E-6, 0.006472);
uv(0.148766, 0.246155);
uv(0, 0.242917);
uv(0.074959, 0.249226);
uv(0, 0.844193);
uv(0.061971, 0.818036);
uv(0.05436, 0.750741);
uv(0, 0.72528);
uv(0.372863, 0.38004);
uv(0.321851, 0.489081);
uv(0.428464, 0.660809);
uv(0.418526, 0.614793);
uv(0.5, 0.723682);
uv(0.5, 0.70627);
uv(0.34451, 0.647465);
uv(0.438177, 0.785157);
uv(0.11102, 0.709837);
uv(0.065621, 0.558648);
uv(0.05222, 0.657282);
uv(0.149194, 0.744196);
uv(0.081946, 0.341648);
uv(0.136487, 0.593423);
uv(0.177356, 0.637536);
uv(0.126321, 0.916678);
uv(0.207442, 0.795958);
uv(0, 0.972677);
uv(0.346946, 0.836354);
uv(0.354389, 0.703531);
uv(0.391698, 0.922566);
uv(0.392391, 0.607552);
uv(0.345781, 0.284109);
uv(0.297593, 0.540606);
uv(0.351917, 0.566772);
uv(0.273416, 0.597011);
uv(0.221596, 0.593318);
uv(0.229464, 0.345011);
uv(0.277907, 0.348883);
uv(0.327843, 0.21171);
uv(0.215454, 0.35075);
uv(0.466376, 0.581507);
uv(0.425441, 0.440938);
uv(0.446866, 0.579273);
uv(0.5, 0.666369);
uv(0.5, 0.692487);
uv(0.475628, 0.679632);
uv(0.321851, 0.489081);
uv(0.418526, 0.614793);
uv(0.379907, 0.273848);
uv(0.329344, 0.399887);
uv(0.259773, 0.622843);
uv(0.34451, 0.647465);
uv(0.339738, 0.390182);
uv(0.343001, 0.267558);
uv(0.381144, 0.231819);
uv(0.321797, 0.38365);
uv(0.347204, 0.452856);
uv(0, 0.553193);
uv(0, 0.650452);
uv(0, 0.30812);
uv(1.5, 0.729102);
uv(1.438177, 0.785157);
uv(1.391698, 0.922566);
uv(1, 0.972677);
uv(0.5, 0.730065);
uv(0.796366, 0.220458);
uv(0.725391, 0.162846);
uv(0.672157, 0.21171);
uv(0.757912, 0.708834);
uv(1.000012, 0.003443);
uv(0.851234, 0.246155);
uv(1.000003, 0.009501);
uv(0.925042, 0.249226);
uv(1, 0.242917);
uv(1, 0.844193);
uv(1, 0.728872);
uv(0.94564, 0.750741);
uv(0.938029, 0.818036);
uv(0.678149, 0.489081);
uv(0.627137, 0.38004);
uv(0.571536, 0.660809);
uv(0.581474, 0.614793);
uv(0.65549, 0.647464);
uv(0.561823, 0.785157);
uv(0.934379, 0.558648);
uv(0.88898, 0.709837);
uv(0.94778, 0.657282);
uv(0.850806, 0.744196);
uv(0.918054, 0.341648);
uv(0.863513, 0.593422);
uv(0.822644, 0.637535);
uv(0.792558, 0.795958);
uv(0.873679, 0.916678);
uv(0.645611, 0.70353);
uv(0.653054, 0.836354);
uv(0.608302, 0.922566);
uv(0.607609, 0.607551);
uv(0.702407, 0.540605);
uv(0.654219, 0.284109);
uv(0.648083, 0.566772);
uv(0.726584, 0.597011);
uv(0.778404, 0.593317);
uv(0.770536, 0.345011);
uv(0.722093, 0.348882);
uv(0.784546, 0.35075);
uv(0.672157, 0.21171);
uv(0.536559, 0.664858);
uv(0.553134, 0.579273);
uv(0.533624, 0.581507);
uv(0.574559, 0.440938);
uv(0.581474, 0.614793);
uv(0.678149, 0.489081);
uv(0.620093, 0.273848);
uv(0.740227, 0.622843);
uv(0.670656, 0.399887);
uv(0.65549, 0.647464);
uv(0.660262, 0.390182);
uv(0.656999, 0.267558);
uv(0.618856, 0.231819);
uv(0.678203, 0.383649);
uv(0.652796, 0.452856);
uv(-0.274609, 0.162846);
uv(-0.203634, 0.220458);
uv(-0.05222, 0.657282);
uv(-0.065621, 0.558648);
uv(-0.05436, 0.750741);
uv(-0.081946, 0.341648);
uv(-0.074958, 0.249226);
uv(2, 0.987156);
uv(1.608302, 0.922566);
uv(1.561823, 0.785157);
f(0, 1, 2, 0, 1, 2);
f(0, 2, 3, 0, 2, 3);
f(4, 0, 3, 4, 0, 3);
f(4, 5, 1, 4, 5, 1);
f(5, 4, 6, 5, 4, 6);
f(6, 7, 5, 6, 7, 5);
f(8, 9, 10, 8, 9, 10);
f(10, 11, 8, 10, 11, 8);
f(12, 13, 14, 12, 13, 14);
f(15, 12, 14, 15, 12, 14);
f(15, 14, 16, 15, 14, 16);
f(16, 17, 15, 16, 17, 15);
f(14, 13, 18, 14, 13, 18);
f(14, 18, 19, 14, 18, 19);
f(16, 14, 19, 16, 14, 19);
f(20, 21, 22, 20, 21, 22);
f(20, 22, 10, 20, 22, 10);
f(20, 10, 9, 20, 10, 9);
f(9, 23, 20, 9, 23, 20);
f(5, 7, 24, 5, 7, 24);
f(25, 5, 24, 25, 5, 24);
f(25, 24, 21, 25, 24, 21);
f(25, 21, 20, 25, 21, 20);
f(1, 5, 25, 1, 5, 25);
f(25, 26, 1, 25, 26, 1);
f(26, 25, 20, 26, 25, 20);
f(20, 23, 26, 20, 23, 26);
f(23, 9, 27, 23, 9, 27);
f(27, 28, 23, 27, 28, 23);
f(29, 27, 9, 29, 27, 9);
f(8, 29, 9, 8, 29, 9);
f(1, 26, 3, 1, 26, 3);
f(3, 2, 1, 3, 2, 1);
f(26, 23, 28, 26, 23, 28);
f(28, 3, 26, 28, 3, 26);
f(3, 28, 30, 3, 28, 30);
f(30, 31, 3, 30, 31, 3);
f(30, 28, 32, 30, 28, 32);
f(27, 29, 32, 27, 29, 32);
f(28, 27, 32, 28, 27, 32);
f(33, 34, 13, 33, 34, 35);
f(13, 31, 33, 35, 31, 33);
f(33, 31, 19, 33, 31, 19);
f(35, 33, 19, 36, 33, 19);
f(35, 34, 33, 36, 34, 33);
f(31, 13, 36, 31, 35, 37);
f(36, 3, 31, 37, 3, 31);
f(36, 37, 3, 37, 38, 3);
f(13, 38, 36, 35, 39, 37);
f(39, 40, 38, 40, 41, 42);
f(37, 36, 39, 38, 37, 40);
f(37, 39, 38, 38, 40, 42);
f(19, 31, 30, 19, 31, 30);
f(19, 30, 32, 19, 30, 32);
f(41, 42, 43, 43, 44, 45);
f(44, 41, 43, 46, 43, 45);
f(45, 44, 43, 47, 46, 45);
f(43, 42, 41, 45, 44, 43);
f(41, 46, 43, 43, 48, 45);
f(43, 46, 45, 45, 48, 47);
f(41, 44, 46, 43, 46, 48);
f(47, 48, 12, 49, 50, 12);
f(12, 49, 13, 12, 51, 13);
f(50, 37, 18, 52, 53, 54);
f(51, 50, 18, 55, 52, 54);
f(52, 50, 51, 56, 52, 55);
f(51, 53, 52, 55, 57, 56);
f(54, 52, 53, 58, 56, 57);
f(53, 51, 54, 57, 55, 58);
f(52, 54, 50, 56, 58, 52);
f(50, 54, 37, 52, 58, 53);
f(54, 12, 48, 59, 12, 50);
f(49, 12, 54, 51, 12, 59);
f(4, 1, 0, 4, 1, 0);
f(22, 21, 55, 22, 21, 60);
f(55, 56, 22, 60, 61, 22);
f(11, 22, 56, 11, 22, 61);
f(11, 10, 22, 11, 10, 22);
f(55, 21, 24, 60, 21, 24);
f(24, 57, 55, 24, 62, 60);
f(57, 24, 7, 62, 24, 7);
f(7, 6, 57, 7, 6, 62);
f(16, 19, 32, 63, 64, 65);
f(32, 29, 16, 65, 66, 63);
f(45, 46, 58, 47, 48, 67);
f(59, 60, 61, 68, 69, 70);
f(61, 60, 62, 70, 69, 71);
f(60, 4, 62, 69, 72, 71);
f(63, 4, 59, 73, 74, 68);
f(63, 64, 6, 73, 75, 76);
f(6, 4, 63, 76, 74, 73);
f(8, 11, 65, 77, 78, 79);
f(65, 66, 8, 79, 80, 77);
f(67, 68, 69, 81, 82, 83);
f(68, 70, 69, 82, 84, 83);
f(70, 17, 16, 84, 17, 16);
f(16, 69, 70, 16, 83, 84);
f(67, 69, 71, 81, 83, 85);
f(71, 69, 72, 85, 83, 86);
f(69, 16, 72, 83, 16, 86);
f(73, 74, 75, 87, 88, 89);
f(75, 74, 65, 89, 88, 79);
f(74, 76, 66, 88, 90, 80);
f(66, 65, 74, 80, 79, 88);
f(64, 63, 77, 75, 73, 91);
f(63, 78, 77, 73, 92, 91);
f(77, 78, 73, 91, 92, 87);
f(73, 78, 74, 87, 92, 88);
f(59, 79, 78, 68, 93, 92);
f(78, 63, 59, 92, 73, 68);
f(79, 76, 74, 93, 90, 88);
f(74, 78, 79, 88, 92, 93);
f(76, 80, 81, 90, 94, 95);
f(81, 66, 76, 95, 80, 90);
f(81, 29, 66, 95, 66, 80);
f(29, 8, 66, 66, 77, 80);
f(59, 61, 62, 68, 70, 71);
f(62, 79, 59, 71, 93, 68);
f(79, 62, 80, 93, 71, 94);
f(80, 76, 79, 94, 90, 93);
f(62, 82, 83, 71, 96, 97);
f(83, 80, 62, 97, 94, 71);
f(80, 83, 84, 94, 97, 98);
f(29, 81, 84, 66, 95, 98);
f(81, 80, 84, 95, 94, 98);
f(85, 82, 67, 99, 96, 100);
f(67, 86, 85, 100, 101, 99);
f(82, 85, 72, 96, 99, 86);
f(85, 87, 72, 99, 102, 86);
f(86, 87, 85, 101, 102, 99);
f(82, 62, 88, 96, 71, 103);
f(88, 67, 82, 103, 100, 96);
f(89, 88, 62, 104, 103, 71);
f(90, 67, 88, 105, 100, 103);
f(91, 88, 89, 106, 103, 104);
f(91, 89, 90, 106, 104, 107);
f(92, 91, 90, 108, 106, 107);
f(82, 72, 83, 96, 86, 97);
f(83, 72, 84, 97, 86, 98);
f(46, 93, 58, 48, 109, 67);
f(44, 45, 94, 46, 47, 110);
f(95, 44, 94, 111, 46, 110);
f(96, 95, 94, 112, 111, 110);
f(94, 93, 95, 110, 109, 111);
f(95, 96, 94, 111, 112, 110);
f(93, 94, 45, 109, 110, 47);
f(44, 95, 93, 46, 111, 109);
f(97, 98, 68, 113, 114, 82);
f(99, 68, 67, 115, 82, 81);
f(89, 100, 71, 116, 117, 118);
f(100, 101, 71, 117, 119, 118);
f(102, 103, 101, 120, 121, 119);
f(101, 100, 102, 119, 117, 120);
f(104, 101, 103, 122, 119, 121);
f(103, 102, 104, 121, 120, 122);
f(104, 102, 100, 122, 120, 117);
f(104, 100, 89, 122, 117, 116);
f(68, 104, 97, 82, 123, 113);
f(68, 99, 104, 82, 115, 123);
f(60, 59, 4, 124, 125, 4);
f(75, 56, 55, 126, 61, 60);
f(55, 73, 75, 60, 127, 126);
f(75, 11, 56, 126, 11, 61);
f(75, 65, 11, 126, 128, 11);
f(55, 57, 77, 60, 62, 129);
f(77, 73, 55, 129, 127, 60);
f(57, 6, 64, 62, 6, 130);
f(64, 77, 57, 130, 129, 62);
f(16, 29, 84, 63, 131, 132);
f(84, 72, 16, 132, 133, 63);
f(44, 93, 46, 46, 109, 48);
f(58, 93, 45, 67, 109, 47);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 140
//Capelli2 (Capelli2)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Capelli2 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Capelli2(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-1.14518, 1.114013, 176.554138);
v(-21.644432, 5.849253, 141.740189);
v(-20.608688, 3.96823, 172.610382);
v(-19.592606, -0.88549, 219.703537);
v(3.1E-5, 11.348293, 128.366882);
v(-26.161575, 13.654298, 130.52301);
v(3.1E-5, 22.250772, 116.340057);
v(-14.388, 20.592951, 118.507355);
v(3.8E-5, 13.05523, 228.180756);
v(-6.51413, 15.156736, 228.74646);
v(-7.647873, 19.823912, 225.656479);
v(3.1E-5, 22.337255, 222.909042);
v(-16.989349, -13.491253, 192.991974);
v(-21.948158, -11.263129, 203.66153);
v(-10.717278, -26.018229, 217.122406);
v(-9.401649, -20.09095, 210.200211);
v(3.1E-5, -25.85083, 222.786346);
v(3.1E-5, -21.242762, 217.330994);
v(-17.53936, -14.803286, 213.802948);
v(-7.807663, -22.626762, 225.927399);
v(-14.422028, 16.273336, 220.782211);
v(-11.088821, 23.509377, 207.950531);
v(-8.862312, 24.7096, 216.873688);
v(-16.316231, 11.727876, 224.745651);
v(-11.936531, 19.752279, 168.883118);
v(-19.896111, 17.100248, 211.200775);
v(-21.349808, 9.630857, 214.54921);
v(-5.555939, 3.90288, 231.354706);
v(-15.836258, 2.967601, 225.129822);
v(3.8E-5, 0.5873, 230.030884);
v(-12.364731, -11.328094, 228.768005);
v(-16.528313, -16.583105, 220.152832);
v(-4.496574, -8.008622, 231.040619);
v(-14.790329, -21.93152, 211.352661);
v(-20.75769, 4.819342, 167.958405);
v(-16.473831, -15.272224, 207.10405);
v(-21.89962, -2.814132, 210.105438);
v(-18.889038, 0.524773, 210.288849);
v(-19.753448, 1.440347, 191.977341);
v(-20.842926, -3.39905, 191.496964);
v(-20.608688, 3.96823, 172.610382);
v(-20.384659, -12.687433, 201.535797);
v(-9.401649, -20.09095, 210.200211);
v(-14.387741, 3.77208, 170.177063);
v(-18.698578, -4.841782, 195.855896);
v(-18.083504, -6.096691, 195.092758);
v(-19.12912, 6.435776, 167.603241);
v(-19.047974, 11.329306, 156.806671);
v(-17.318756, -4.891203, 197.490707);
v(3.1E-5, 25.024698, 207.254471);
v(3.1E-5, 25.008146, 215.401794);
v(3.1E-5, 20.327547, 167.1297);
v(21.644485, 5.849253, 141.740189);
v(1.145241, 1.114013, 176.554123);
v(20.608749, 3.968229, 172.610382);
v(19.378578, -0.88549, 219.703537);
v(26.161644, 13.6543, 130.52301);
v(14.388054, 20.592958, 118.50737);
v(7.647949, 19.823912, 225.656479);
v(6.514214, 15.156736, 228.74646);
v(21.948227, -11.263129, 203.66153);
v(16.98941, -13.491253, 192.991974);
v(10.717346, -26.018229, 217.122406);
v(9.401718, -20.09095, 210.200211);
v(17.539429, -14.803286, 213.802948);
v(7.807732, -22.626762, 225.927399);
v(11.08889, 23.509378, 207.950531);
v(15.278488, 16.273336, 220.782211);
v(8.862389, 24.7096, 216.873688);
v(16.102211, 11.727876, 224.745651);
v(11.936592, 19.752285, 168.883118);
v(19.896172, 17.100248, 211.200775);
v(21.349876, 9.630857, 214.54921);
v(15.622238, 2.967601, 225.129822);
v(5.556023, 3.90288, 231.354706);
v(16.314285, -16.583105, 220.152832);
v(12.364807, -11.328094, 228.768005);
v(4.496651, -8.008622, 231.040619);
v(14.790398, -21.93152, 211.352661);
v(20.757751, 4.81934, 167.958389);
v(16.473907, -15.272224, 207.10405);
v(21.899689, -2.814132, 210.105438);
v(18.889107, 0.524772, 210.288849);
v(19.75351, 1.440347, 191.977341);
v(20.842987, -3.39905, 191.496964);
v(20.608749, 3.968229, 172.610382);
v(9.401718, -20.09095, 210.200211);
v(20.38472, -12.687433, 201.535797);
v(14.387802, 3.772078, 170.177048);
v(18.698639, -4.841783, 195.855896);
v(18.083565, -6.096694, 195.092758);
v(19.129181, 6.435774, 167.603241);
v(19.048035, 11.329304, 156.806671);
v(17.318817, -4.891204, 197.490707);
uv(0.274609, 0.162846);
uv(0.203634, 0.220458);
uv(0.327843, 0.21171);
uv(0.242088, 0.708834);
uv(8E-6, 0.006472);
uv(0.148766, 0.246155);
uv(0, 0.242917);
uv(0.074959, 0.249226);
uv(0, 0.844193);
uv(0.061971, 0.818036);
uv(0.05436, 0.750741);
uv(0, 0.72528);
uv(0.372863, 0.38004);
uv(0.321851, 0.489081);
uv(0.428464, 0.660809);
uv(0.418526, 0.614793);
uv(0.5, 0.723682);
uv(0.5, 0.70627);
uv(0.34451, 0.647465);
uv(0.438177, 0.785157);
uv(0.11102, 0.709837);
uv(0.065621, 0.558648);
uv(0.05222, 0.657282);
uv(0.149194, 0.744196);
uv(0.081946, 0.341648);
uv(0.136487, 0.593423);
uv(0.177356, 0.637536);
uv(0.126321, 0.916678);
uv(0.207442, 0.795958);
uv(0, 0.972677);
uv(0.346946, 0.836354);
uv(0.354389, 0.703531);
uv(0.391698, 0.922566);
uv(0.392391, 0.607552);
uv(0.345781, 0.284109);
uv(0.297593, 0.540606);
uv(0.351917, 0.566772);
uv(0.273416, 0.597011);
uv(0.221596, 0.593318);
uv(0.229464, 0.345011);
uv(0.277907, 0.348883);
uv(0.327843, 0.21171);
uv(0.215454, 0.35075);
uv(0.321851, 0.489081);
uv(0.418526, 0.614793);
uv(0.379907, 0.273848);
uv(0.329344, 0.399887);
uv(0.259773, 0.622843);
uv(0.34451, 0.647465);
uv(0.339738, 0.390182);
uv(0.343001, 0.267558);
uv(0.381144, 0.231819);
uv(0.321797, 0.38365);
uv(0.347204, 0.452856);
uv(0, 0.553193);
uv(0, 0.650452);
uv(0, 0.30812);
uv(1.5, 0.729102);
uv(1.438177, 0.785157);
uv(1.391698, 0.922566);
uv(1, 0.972677);
uv(0.796366, 0.220458);
uv(0.725391, 0.162846);
uv(0.672157, 0.21171);
uv(0.757912, 0.708834);
uv(1.000012, 0.003443);
uv(0.851234, 0.246155);
uv(1.000003, 0.009501);
uv(0.925042, 0.249226);
uv(1, 0.242917);
uv(1, 0.844193);
uv(1, 0.728872);
uv(0.94564, 0.750741);
uv(0.938029, 0.818036);
uv(0.678149, 0.489081);
uv(0.627137, 0.38004);
uv(0.571536, 0.660809);
uv(0.581474, 0.614793);
uv(0.65549, 0.647464);
uv(0.561823, 0.785157);
uv(0.934379, 0.558648);
uv(0.88898, 0.709837);
uv(0.94778, 0.657282);
uv(0.850806, 0.744196);
uv(0.918054, 0.341648);
uv(0.863513, 0.593422);
uv(0.822644, 0.637535);
uv(0.792558, 0.795958);
uv(0.873679, 0.916678);
uv(0.645611, 0.70353);
uv(0.653054, 0.836354);
uv(0.608302, 0.922566);
uv(0.607609, 0.607551);
uv(0.702407, 0.540605);
uv(0.654219, 0.284109);
uv(0.648083, 0.566772);
uv(0.726584, 0.597011);
uv(0.778404, 0.593317);
uv(0.770536, 0.345011);
uv(0.722093, 0.348882);
uv(0.784546, 0.35075);
uv(0.672157, 0.21171);
uv(0.581474, 0.614793);
uv(0.678149, 0.489081);
uv(0.620093, 0.273848);
uv(0.740227, 0.622843);
uv(0.670656, 0.399887);
uv(0.65549, 0.647464);
uv(0.660262, 0.390182);
uv(0.656999, 0.267558);
uv(0.618856, 0.231819);
uv(0.678203, 0.383649);
uv(0.652796, 0.452856);
uv(-0.274609, 0.162846);
uv(-0.203634, 0.220458);
uv(-0.05222, 0.657282);
uv(-0.065621, 0.558648);
uv(-0.05436, 0.750741);
uv(-0.081946, 0.341648);
uv(-0.074958, 0.249226);
uv(2, 0.987156);
uv(1.608302, 0.922566);
uv(1.561823, 0.785157);
f(0, 1, 2, 0, 1, 2);
f(0, 2, 3, 0, 2, 3);
f(4, 0, 3, 4, 0, 3);
f(4, 5, 1, 4, 5, 1);
f(5, 4, 6, 5, 4, 6);
f(6, 7, 5, 6, 7, 5);
f(8, 9, 10, 8, 9, 10);
f(10, 11, 8, 10, 11, 8);
f(12, 13, 14, 12, 13, 14);
f(15, 12, 14, 15, 12, 14);
f(15, 14, 16, 15, 14, 16);
f(16, 17, 15, 16, 17, 15);
f(14, 13, 18, 14, 13, 18);
f(14, 18, 19, 14, 18, 19);
f(16, 14, 19, 16, 14, 19);
f(20, 21, 22, 20, 21, 22);
f(20, 22, 10, 20, 22, 10);
f(20, 10, 9, 20, 10, 9);
f(9, 23, 20, 9, 23, 20);
f(5, 7, 24, 5, 7, 24);
f(25, 5, 24, 25, 5, 24);
f(25, 24, 21, 25, 24, 21);
f(25, 21, 20, 25, 21, 20);
f(1, 5, 25, 1, 5, 25);
f(25, 26, 1, 25, 26, 1);
f(26, 25, 20, 26, 25, 20);
f(20, 23, 26, 20, 23, 26);
f(23, 9, 27, 23, 9, 27);
f(27, 28, 23, 27, 28, 23);
f(29, 27, 9, 29, 27, 9);
f(8, 29, 9, 8, 29, 9);
f(2, 1, 26, 2, 1, 26);
f(26, 3, 2, 26, 3, 2);
f(26, 23, 28, 26, 23, 28);
f(28, 3, 26, 28, 3, 26);
f(3, 28, 30, 3, 28, 30);
f(30, 31, 3, 30, 31, 3);
f(30, 28, 32, 30, 28, 32);
f(27, 29, 32, 27, 29, 32);
f(28, 27, 32, 28, 27, 32);
f(33, 34, 13, 33, 34, 35);
f(13, 31, 33, 35, 31, 33);
f(33, 31, 19, 33, 31, 19);
f(35, 33, 19, 36, 33, 19);
f(35, 34, 33, 36, 34, 33);
f(31, 13, 36, 31, 35, 37);
f(36, 3, 31, 37, 3, 31);
f(36, 37, 3, 37, 38, 3);
f(13, 38, 36, 35, 39, 37);
f(39, 40, 38, 40, 41, 42);
f(37, 36, 39, 38, 37, 40);
f(37, 39, 38, 38, 40, 42);
f(19, 31, 30, 19, 31, 30);
f(19, 30, 32, 19, 30, 32);
f(41, 42, 12, 43, 44, 12);
f(12, 43, 13, 12, 45, 13);
f(44, 37, 18, 46, 47, 48);
f(45, 44, 18, 49, 46, 48);
f(46, 44, 45, 50, 46, 49);
f(45, 47, 46, 49, 51, 50);
f(45, 48, 46, 49, 52, 50);
f(46, 47, 45, 50, 51, 49);
f(46, 48, 44, 50, 52, 46);
f(44, 48, 37, 46, 52, 47);
f(48, 12, 42, 53, 12, 44);
f(43, 12, 48, 45, 12, 53);
f(4, 1, 0, 4, 1, 0);
f(22, 21, 49, 22, 21, 54);
f(49, 50, 22, 54, 55, 22);
f(11, 22, 50, 11, 22, 55);
f(11, 10, 22, 11, 10, 22);
f(49, 21, 24, 54, 21, 24);
f(24, 51, 49, 24, 56, 54);
f(51, 24, 7, 56, 24, 7);
f(7, 6, 51, 7, 6, 56);
f(16, 19, 32, 57, 58, 59);
f(32, 29, 16, 59, 60, 57);
f(52, 53, 54, 61, 62, 63);
f(54, 53, 55, 63, 62, 64);
f(53, 4, 55, 62, 65, 64);
f(56, 4, 52, 66, 67, 61);
f(56, 57, 6, 66, 68, 69);
f(6, 4, 56, 69, 67, 66);
f(8, 11, 58, 70, 71, 72);
f(58, 59, 8, 72, 73, 70);
f(60, 61, 62, 74, 75, 76);
f(61, 63, 62, 75, 77, 76);
f(63, 17, 16, 77, 17, 16);
f(16, 62, 63, 16, 76, 77);
f(60, 62, 64, 74, 76, 78);
f(64, 62, 65, 78, 76, 79);
f(62, 16, 65, 76, 16, 79);
f(66, 67, 68, 80, 81, 82);
f(68, 67, 58, 82, 81, 72);
f(67, 69, 59, 81, 83, 73);
f(59, 58, 67, 73, 72, 81);
f(57, 56, 70, 68, 66, 84);
f(56, 71, 70, 66, 85, 84);
f(70, 71, 66, 84, 85, 80);
f(66, 71, 67, 80, 85, 81);
f(52, 72, 71, 61, 86, 85);
f(71, 56, 52, 85, 66, 61);
f(72, 69, 67, 86, 83, 81);
f(67, 71, 72, 81, 85, 86);
f(69, 73, 74, 83, 87, 88);
f(74, 59, 69, 88, 73, 83);
f(74, 29, 59, 88, 60, 73);
f(29, 8, 59, 60, 70, 73);
f(72, 52, 54, 86, 61, 63);
f(54, 55, 72, 63, 64, 86);
f(72, 55, 73, 86, 64, 87);
f(73, 69, 72, 87, 83, 86);
f(55, 75, 76, 64, 89, 90);
f(76, 73, 55, 90, 87, 64);
f(73, 76, 77, 87, 90, 91);
f(29, 74, 77, 60, 88, 91);
f(74, 73, 77, 88, 87, 91);
f(78, 75, 60, 92, 89, 93);
f(60, 79, 78, 93, 94, 92);
f(75, 78, 65, 89, 92, 79);
f(78, 80, 65, 92, 95, 79);
f(79, 80, 78, 94, 95, 92);
f(75, 55, 81, 89, 64, 96);
f(81, 60, 75, 96, 93, 89);
f(82, 81, 55, 97, 96, 64);
f(83, 60, 81, 98, 93, 96);
f(84, 81, 82, 99, 96, 97);
f(84, 82, 83, 99, 97, 100);
f(85, 84, 83, 101, 99, 100);
f(75, 65, 76, 89, 79, 90);
f(76, 65, 77, 90, 79, 91);
f(86, 87, 61, 102, 103, 75);
f(88, 61, 60, 104, 75, 74);
f(82, 89, 64, 105, 106, 107);
f(89, 90, 64, 106, 108, 107);
f(91, 92, 90, 109, 110, 108);
f(90, 89, 91, 108, 106, 109);
f(93, 90, 92, 111, 108, 110);
f(92, 91, 93, 110, 109, 111);
f(93, 91, 89, 111, 109, 106);
f(93, 89, 82, 111, 106, 105);
f(61, 93, 86, 75, 112, 102);
f(61, 88, 93, 75, 104, 112);
f(53, 52, 4, 113, 114, 4);
f(68, 50, 49, 115, 55, 54);
f(49, 66, 68, 54, 116, 115);
f(68, 11, 50, 115, 11, 55);
f(68, 58, 11, 115, 117, 11);
f(49, 51, 70, 54, 56, 118);
f(70, 66, 49, 118, 116, 54);
f(51, 6, 57, 56, 6, 119);
f(57, 70, 51, 119, 118, 56);
f(16, 29, 77, 57, 120, 121);
f(77, 65, 16, 121, 122, 57);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 141
//Capelli3 (Capelli3)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Capelli3 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Capelli3(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-1.14518, 2.005413, 183.555328);
v(-21.644432, 7.622316, 158.122833);
v(-20.608688, 4.859631, 179.611572);
v(-19.592606, -0.88549, 219.703537);
v(3.1E-5, 13.121354, 140.276413);
v(-22.510048, 13.653752, 140.323166);
v(3.1E-5, 24.023836, 140.01561);
v(-14.388, 22.366011, 140.062607);
v(0.00753, 9.852502, 229.081497);
v(-5.30336, 11.519036, 223.501755);
v(-6.205292, 15.220202, 220.411774);
v(0.00753, 17.213335, 223.809784);
v(-19.439362, -18.001972, 206.526947);
v(3.1E-5, -25.85083, 224.407639);
v(3.1E-5, -29.425257, 215.733276);
v(-7.969414, -22.626762, 221.403244);
v(-11.232903, 12.404523, 219.379181);
v(-8.813988, 20.043417, 207.950531);
v(-7.404167, 19.094652, 212.311462);
v(-12.514175, 8.799884, 223.716568);
v(-11.936531, 20.643681, 175.884308);
v(-15.820457, 14.960852, 211.200775);
v(-16.976921, 9.037477, 214.54921);
v(-6.010269, 3.90288, 227.513031);
v(-14.967484, 2.967601, 224.138809);
v(3.8E-5, 0.5873, 231.652176);
v(-13.450951, -11.328094, 227.305817);
v(-16.528313, -16.583105, 220.152832);
v(-4.950905, -8.008622, 227.198944);
v(-18.369247, -16.597324, 207.507095);
v(-18.456413, 3.945198, 199.540695);
v(-21.89962, 0.958214, 210.105438);
v(0.00753, 21.245098, 207.254471);
v(0.00753, 19.331404, 214.681244);
v(3.1E-5, 21.218948, 174.13089);
v(21.644485, 7.622316, 158.122833);
v(1.145241, 2.005413, 183.555313);
v(20.608749, 4.85963, 179.611572);
v(19.378578, -0.88549, 219.703537);
v(22.510117, 13.653757, 140.323166);
v(14.388054, 22.36602, 140.062607);
v(6.091682, 15.220202, 224.935928);
v(5.189758, 11.519038, 228.025909);
v(21.948227, -11.263129, 203.66153);
v(16.98941, -13.491253, 192.991974);
v(9.052322, -26.018229, 215.477036);
v(4.767685, -33.469856, 209.114975);
v(17.539429, -14.803286, 213.802948);
v(7.807732, -22.626762, 225.927399);
v(7.0578, 19.094648, 216.153137);
v(12.162003, 12.404523, 220.061661);
v(12.817299, 8.799884, 224.025101);
v(11.936592, 20.643684, 175.884308);
v(15.83551, 13.060283, 210.480225);
v(8.829048, 18.142851, 207.22998);
v(16.991974, 7.136907, 213.828659);
v(15.622238, 2.967601, 225.129822);
v(5.556023, 3.90288, 231.354706);
v(16.314285, -16.583105, 220.152832);
v(12.364807, -11.328094, 228.768005);
v(4.496651, -8.008622, 231.040619);
v(14.790398, -21.93152, 211.352661);
v(20.757751, 5.71074, 174.959579);
v(16.473907, -15.272224, 207.10405);
v(21.899689, -2.814132, 210.105438);
v(18.889107, 0.524772, 210.288849);
v(19.75351, 1.440347, 191.977341);
v(20.842987, -3.39905, 191.496964);
v(20.608749, 4.85963, 179.611572);
v(18.698639, -4.841783, 195.855896);
v(18.083565, -6.096694, 195.092758);
v(17.318817, -4.891204, 197.490707);
uv(0.274609, 0.162846);
uv(0.203634, 0.220458);
uv(0.327843, 0.21171);
uv(0.242088, 0.708834);
uv(8E-6, 0.006472);
uv(0.148766, 0.246155);
uv(0, 0.242917);
uv(0.074959, 0.249226);
uv(0, 0.844193);
uv(0.061971, 0.818036);
uv(0.05436, 0.750741);
uv(0, 0.72528);
uv(0.423495, 0.637801);
uv(0.5, 0.723682);
uv(0.5, 0.70627);
uv(0.438177, 0.785157);
uv(0.11102, 0.709837);
uv(0.065621, 0.558648);
uv(0.05222, 0.657282);
uv(0.149194, 0.744196);
uv(0.081946, 0.341648);
uv(0.136487, 0.593423);
uv(0.177356, 0.637536);
uv(0.126321, 0.916678);
uv(0.207442, 0.795958);
uv(0, 0.972677);
uv(0.346946, 0.836354);
uv(0.354389, 0.703531);
uv(0.391698, 0.922566);
uv(0.392391, 0.607552);
uv(0.351917, 0.566772);
uv(0.297593, 0.540606);
uv(0.273416, 0.597011);
uv(0.229464, 0.345011);
uv(0, 0.553193);
uv(0, 0.650452);
uv(0, 0.30812);
uv(1.5, 0.729102);
uv(1.438177, 0.785157);
uv(1.391698, 0.922566);
uv(1, 0.972677);
uv(0.796366, 0.220458);
uv(0.725391, 0.162846);
uv(0.672157, 0.21171);
uv(0.757912, 0.708834);
uv(1.000012, 0.003443);
uv(0.851234, 0.246155);
uv(1.000003, 0.009501);
uv(0.925042, 0.249226);
uv(1, 0.242917);
uv(1, 0.844193);
uv(1, 0.728872);
uv(0.94564, 0.750741);
uv(0.938029, 0.818036);
uv(0.678149, 0.489081);
uv(0.627137, 0.38004);
uv(0.571536, 0.660809);
uv(0.581474, 0.614793);
uv(0.65549, 0.647464);
uv(0.561823, 0.785157);
uv(0.94778, 0.657282);
uv(0.88898, 0.709837);
uv(0.850806, 0.744196);
uv(0.918054, 0.341648);
uv(0.863513, 0.593422);
uv(0.934379, 0.558648);
uv(0.822644, 0.637535);
uv(0.792558, 0.795958);
uv(0.873679, 0.916678);
uv(0.645611, 0.70353);
uv(0.653054, 0.836354);
uv(0.608302, 0.922566);
uv(0.607609, 0.607551);
uv(0.702407, 0.540605);
uv(0.654219, 0.284109);
uv(0.648083, 0.566772);
uv(0.726584, 0.597011);
uv(0.778404, 0.593317);
uv(0.770536, 0.345011);
uv(0.722093, 0.348882);
uv(0.784546, 0.35075);
uv(0.672157, 0.21171);
uv(0.740227, 0.622843);
uv(0.670656, 0.399887);
uv(0.65549, 0.647464);
uv(0.660262, 0.390182);
uv(0.678203, 0.383649);
uv(-0.274609, 0.162846);
uv(-0.203634, 0.220458);
uv(-0.05222, 0.657282);
uv(-0.065621, 0.558648);
uv(-0.05436, 0.750741);
uv(-0.081946, 0.341648);
uv(-0.074958, 0.249226);
uv(2, 0.987156);
uv(1.608302, 0.922566);
uv(1.561823, 0.785157);
uv(0.896333, 0.703323);
uv(0.929315, 0.567102);
uv(0.991215, 0.565163);
f(0, 1, 2, 0, 1, 2);
f(0, 2, 3, 0, 2, 3);
f(4, 0, 3, 4, 0, 3);
f(4, 5, 1, 4, 5, 1);
f(5, 4, 6, 5, 4, 6);
f(6, 7, 5, 6, 7, 5);
f(8, 9, 10, 8, 9, 10);
f(10, 11, 8, 10, 11, 8);
f(12, 13, 14, 12, 13, 14);
f(13, 12, 15, 13, 12, 15);
f(16, 17, 18, 16, 17, 18);
f(16, 18, 10, 16, 18, 10);
f(16, 10, 9, 16, 10, 9);
f(9, 19, 16, 9, 19, 16);
f(5, 7, 20, 5, 7, 20);
f(21, 5, 20, 21, 5, 20);
f(21, 20, 17, 21, 20, 17);
f(21, 17, 16, 21, 17, 16);
f(1, 5, 21, 1, 5, 21);
f(21, 22, 1, 21, 22, 1);
f(22, 21, 16, 22, 21, 16);
f(16, 19, 22, 16, 19, 22);
f(19, 9, 23, 19, 9, 23);
f(23, 24, 19, 23, 24, 19);
f(25, 23, 9, 25, 23, 9);
f(8, 25, 9, 8, 25, 9);
f(2, 1, 22, 2, 1, 22);
f(22, 3, 2, 22, 3, 2);
f(22, 19, 24, 22, 19, 24);
f(24, 3, 22, 24, 3, 22);
f(3, 24, 26, 3, 24, 26);
f(26, 27, 3, 26, 27, 3);
f(26, 24, 28, 26, 24, 28);
f(23, 25, 28, 23, 25, 28);
f(24, 23, 28, 24, 23, 28);
f(29, 27, 15, 29, 27, 15);
f(30, 29, 15, 30, 29, 15);
f(27, 29, 31, 27, 31, 32);
f(31, 3, 27, 32, 3, 27);
f(29, 30, 31, 31, 33, 32);
f(15, 27, 26, 15, 27, 26);
f(15, 26, 28, 15, 26, 28);
f(4, 1, 0, 4, 1, 0);
f(18, 17, 32, 18, 17, 34);
f(32, 33, 18, 34, 35, 18);
f(11, 18, 33, 11, 18, 35);
f(11, 10, 18, 11, 10, 18);
f(32, 17, 20, 34, 17, 20);
f(20, 34, 32, 20, 36, 34);
f(34, 20, 7, 36, 20, 7);
f(7, 6, 34, 7, 6, 36);
f(13, 15, 28, 37, 38, 39);
f(28, 25, 13, 39, 40, 37);
f(35, 36, 37, 41, 42, 43);
f(37, 36, 38, 43, 42, 44);
f(36, 4, 38, 42, 45, 44);
f(39, 4, 35, 46, 47, 41);
f(39, 40, 6, 46, 48, 49);
f(6, 4, 39, 49, 47, 46);
f(8, 11, 41, 50, 51, 52);
f(41, 42, 8, 52, 53, 50);
f(43, 44, 45, 54, 55, 56);
f(44, 46, 45, 55, 57, 56);
f(46, 14, 13, 57, 14, 13);
f(13, 45, 46, 13, 56, 57);
f(43, 45, 47, 54, 56, 58);
f(47, 45, 48, 58, 56, 59);
f(45, 13, 48, 56, 13, 59);
f(49, 50, 41, 60, 61, 52);
f(50, 51, 42, 61, 62, 53);
f(42, 41, 50, 53, 52, 61);
f(40, 39, 52, 48, 46, 63);
f(39, 53, 52, 46, 64, 63);
f(52, 53, 54, 63, 64, 65);
f(54, 53, 50, 65, 64, 61);
f(35, 55, 53, 41, 66, 64);
f(53, 39, 35, 64, 46, 41);
f(55, 51, 50, 66, 62, 61);
f(50, 53, 55, 61, 64, 66);
f(51, 56, 57, 62, 67, 68);
f(57, 42, 51, 68, 53, 62);
f(57, 25, 42, 68, 40, 53);
f(25, 8, 42, 40, 50, 53);
f(55, 35, 37, 66, 41, 43);
f(37, 38, 55, 43, 44, 66);
f(55, 38, 56, 66, 44, 67);
f(56, 51, 55, 67, 62, 66);
f(38, 58, 59, 44, 69, 70);
f(59, 56, 38, 70, 67, 44);
f(56, 59, 60, 67, 70, 71);
f(25, 57, 60, 40, 68, 71);
f(57, 56, 60, 68, 67, 71);
f(61, 58, 43, 72, 69, 73);
f(43, 62, 61, 73, 74, 72);
f(58, 61, 48, 69, 72, 59);
f(61, 63, 48, 72, 75, 59);
f(62, 63, 61, 74, 75, 72);
f(58, 38, 64, 69, 44, 76);
f(64, 43, 58, 76, 73, 69);
f(65, 64, 38, 77, 76, 44);
f(66, 43, 64, 78, 73, 76);
f(67, 64, 65, 79, 76, 77);
f(67, 65, 66, 79, 77, 80);
f(68, 67, 66, 81, 79, 80);
f(58, 48, 59, 69, 59, 70);
f(59, 48, 60, 70, 59, 71);
f(65, 69, 47, 82, 83, 84);
f(69, 70, 47, 83, 85, 84);
f(71, 69, 65, 86, 83, 82);
f(36, 35, 4, 87, 88, 4);
f(49, 33, 32, 89, 35, 34);
f(32, 54, 49, 34, 90, 89);
f(49, 11, 33, 89, 11, 35);
f(49, 41, 11, 89, 91, 11);
f(32, 34, 52, 34, 36, 92);
f(52, 54, 32, 92, 90, 34);
f(34, 6, 40, 36, 6, 93);
f(40, 52, 34, 93, 92, 36);
f(13, 25, 60, 37, 94, 95);
f(60, 48, 13, 95, 96, 37);
f(50, 49, 54, 97, 98, 99);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 142
//Capelli4 (Capelli4)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Capelli4 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Capelli4(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-19.706535, -12.322084, 211.717743);
v(-17.905777, -3.53498, 219.316956);
v(-16.414345, -13.557855, 222.238632);
v(1.5E-5, 4.777341, 180.596268);
v(-10.22728, 9.703365, 184.839142);
v(-11.953026, 4.878276, 186.499603);
v(-16.692261, 13.26974, 200.455475);
v(-19.727959, -3.170131, 195.10817);
v(-15.828461, 14.57134, 213.673401);
v(-19.468262, -3.271437, 204.363342);
v(-15.596191, 11.384602, 219.56691);
v(-8.534866, -4.991884, 229.114883);
v(-13.287766, 5.103117, 227.096695);
v(-8.578522, -15.073381, 229.274353);
v(-9.692032, -23.99802, 223.40126);
v(2.3E-5, -15.293238, 230.498734);
v(2.3E-5, -24.432632, 224.652832);
v(2.3E-5, 0.814602, 230.326416);
v(2.3E-5, 12.215949, 227.669662);
v(2.3E-5, 18.332403, 216.216522);
v(1.5E-5, 18.653559, 202.493149);
v(1.5E-5, 12.563813, 184.49379);
v(17.905807, -3.53498, 219.316956);
v(19.706566, -12.322083, 211.717743);
v(16.414383, -13.557853, 222.238632);
v(10.227303, 9.703362, 184.839142);
v(11.953056, 4.878274, 186.499603);
v(16.692291, 13.269738, 200.455475);
v(19.727989, -3.170131, 195.10817);
v(19.468307, -3.271438, 204.363342);
v(15.828499, 14.57134, 213.673401);
v(15.596222, 11.384605, 219.56691);
v(8.53492, -4.991883, 229.114883);
v(13.287796, 5.103119, 227.096695);
v(8.57856, -15.073378, 229.274353);
v(9.69207, -23.99802, 223.40126);
v(-13.695992, -18.424643, 215.238358);
v(-16.387436, -14.736844, 208.458542);
v(-7.579254, -21.327654, 217.101761);
v(8E-6, -21.773762, 218.092255);
v(7.579262, -21.327656, 217.101761);
v(13.695999, -18.424643, 215.238358);
v(16.387436, -14.736844, 208.458542);
v(18.612, -5.772138, 202.886047);
v(18.781075, -5.694656, 195.822617);
v(13.40136, 2.554894, 189.00824);
v(0, 5.652098, 184.157089);
v(-13.40136, 2.554894, 189.00824);
v(-18.781075, -5.694656, 195.822617);
v(-18.611992, -5.772138, 202.886047);
v(-14.60849, -14.416099, 208.059647);
v(-12.193466, -17.615139, 214.231628);
v(-16.770447, -5.627032, 202.705597);
v(-16.919693, -5.957828, 196.149902);
v(-12.062248, 1.654176, 190.128387);
v(0, 4.39313, 185.722778);
v(12.062248, 1.654176, 190.128387);
v(16.919693, -5.957828, 196.149902);
v(16.770454, -5.627032, 202.705597);
v(14.60849, -14.416099, 208.059647);
v(12.193474, -17.615139, 214.231628);
v(6.998688, -20.209175, 215.710785);
v(8E-6, -20.604811, 216.638504);
v(-6.99868, -20.209173, 215.71077);
v(-0.014236, -20.604006, 216.636627);
v(-0.009857, -20.604254, 216.637207);
v(-13.645721, -6.448447, 214.108887);
v(-11.380295, -9.383015, 219.951843);
v(-16.770447, -5.627032, 202.705597);
v(-14.042404, 0.775522, 207.282852);
v(-15.979996, 1.17969, 202.159302);
v(-11.337524, 8.9609, 196.999847);
v(-15.912308, 1.693864, 202.592209);
v(0, 11.506005, 192.835403);
v(11.337524, 8.9609, 196.999847);
v(15.912308, 1.693863, 202.592224);
v(11.380302, -9.383016, 219.951843);
v(13.645721, -6.448447, 214.108887);
v(6.684486, -11.809872, 221.223022);
v(8E-6, -12.178198, 222.116776);
v(-6.684486, -11.80987, 221.223007);
v(13.051208, 1.140766, 207.571991);
uv(0.201706, 0.63639);
uv(0.145666, 0.509093);
uv(0.123669, 0.636109);
uv(0.5, 0.405106);
uv(0.42699, 0.341106);
uv(0.410807, 0.394132);
uv(0.297124, 0.262233);
uv(0.327462, 0.504001);
uv(0.174515, 0.252994);
uv(0.259669, 0.506232);
uv(0.133466, 0.309769);
uv(0.055299, 0.526636);
uv(0.087942, 0.402659);
uv(0.055216, 0.643202);
uv(0.079155, 0.756098);
uv(0, 0.646849);
uv(0, 0.769067);
uv(0, 0.452766);
uv(0, 0.309299);
uv(0, 0.148279);
uv(-0.5, 0.044831);
uv(-0.825485, 0.252994);
uv(-0.702876, 0.262233);
uv(0.5, 0.298453);
uv(0.5, 0.044831);
uv(1.087942, 0.402659);
uv(1.133466, 0.309769);
uv(1, 0.309299);
uv(0.854333, 0.509093);
uv(0.798293, 0.63639);
uv(0.87633, 0.636109);
uv(0.57301, 0.341106);
uv(0.589193, 0.394132);
uv(0.702876, 0.262234);
uv(0.672538, 0.504001);
uv(0.740331, 0.506232);
uv(0.825485, 0.252994);
uv(0.866534, 0.309769);
uv(0.9447, 0.526636);
uv(0.912058, 0.402659);
uv(0.944784, 0.643202);
uv(0.920845, 0.756098);
uv(1, 0.646849);
uv(1, 0.769067);
uv(1, 0.452766);
uv(1, 0.148279);
uv(0.151994, 0.737765);
uv(0.22202, 0.696908);
uv(0.092399, 0.795281);
uv(0, 0.813355);
uv(0.907601, 0.795281);
uv(1, 0.813355);
uv(0.848006, 0.737765);
uv(0.77798, 0.696909);
uv(0.727394, 0.548426);
uv(0.673958, 0.541973);
uv(0.60838, 0.420297);
uv(0.5, 0.379067);
uv(0.391619, 0.420297);
uv(0.326042, 0.541973);
uv(0.272605, 0.548426);
uv(0.22202, 0.696908);
uv(0.151994, 0.737765);
uv(0.272605, 0.548426);
uv(0.326042, 0.541973);
uv(0.391619, 0.420297);
uv(0.5, 0.379067);
uv(0.60838, 0.420297);
uv(0.673958, 0.541973);
uv(0.727394, 0.548426);
uv(0.77798, 0.696909);
uv(0.848006, 0.737765);
uv(0.907601, 0.795281);
uv(1, 0.813355);
uv(0.092399, 0.795281);
uv(0.998153, 0.813319);
uv(0.998721, 0.81333);
uv(0.22202, 0.696908);
uv(0.151994, 0.737765);
uv(0.272605, 0.548426);
uv(0.309418, 0.548528);
uv(0.326042, 0.541973);
uv(0.391619, 0.420297);
uv(0.326042, 0.541973);
uv(0.5, 0.379067);
uv(0.60838, 0.420297);
uv(0.673958, 0.541973);
uv(0.848006, 0.737765);
uv(0.77798, 0.696909);
uv(0.907601, 0.795281);
uv(1, 0.813355);
uv(0.092399, 0.795281);
uv(0.676738, 0.548556);
f(0, 1, 2, 0, 1, 2);
f(3, 4, 5, 3, 4, 5);
f(6, 7, 5, 6, 7, 5);
f(5, 4, 6, 5, 4, 6);
f(6, 8, 9, 6, 8, 9);
f(9, 7, 6, 9, 7, 6);
f(8, 10, 9, 8, 10, 9);
f(11, 2, 1, 11, 2, 1);
f(1, 12, 11, 1, 12, 11);
f(11, 13, 2, 11, 13, 2);
f(13, 14, 2, 13, 14, 2);
f(15, 16, 14, 15, 16, 14);
f(14, 13, 15, 14, 13, 15);
f(13, 11, 17, 13, 11, 17);
f(17, 15, 13, 17, 15, 13);
f(12, 18, 17, 12, 18, 17);
f(17, 11, 12, 17, 11, 12);
f(10, 8, 19, 10, 8, 19);
f(19, 18, 10, 19, 18, 10);
f(20, 19, 8, 20, 19, 21);
f(8, 6, 20, 21, 22, 20);
f(21, 20, 6, 23, 24, 6);
f(6, 4, 21, 6, 4, 23);
f(3, 21, 4, 3, 23, 4);
f(12, 10, 18, 25, 26, 27);
f(9, 10, 12, 9, 10, 12);
f(12, 1, 9, 12, 1, 9);
f(0, 9, 1, 0, 9, 1);
f(22, 23, 24, 28, 29, 30);
f(25, 3, 26, 31, 3, 32);
f(27, 25, 26, 33, 31, 32);
f(26, 28, 27, 32, 34, 33);
f(27, 28, 29, 33, 34, 35);
f(29, 30, 27, 35, 36, 33);
f(31, 30, 29, 37, 36, 35);
f(32, 33, 22, 38, 39, 28);
f(22, 24, 32, 28, 30, 38);
f(34, 32, 24, 40, 38, 30);
f(35, 34, 24, 41, 40, 30);
f(15, 34, 35, 42, 40, 41);
f(35, 16, 15, 41, 43, 42);
f(34, 15, 17, 40, 42, 44);
f(17, 32, 34, 44, 38, 40);
f(33, 32, 17, 39, 38, 44);
f(17, 18, 33, 44, 27, 39);
f(31, 18, 19, 37, 27, 45);
f(19, 30, 31, 45, 36, 37);
f(20, 27, 30, 24, 33, 36);
f(30, 19, 20, 36, 45, 24);
f(21, 25, 27, 23, 31, 33);
f(27, 20, 21, 33, 24, 23);
f(21, 3, 25, 23, 3, 31);
f(31, 33, 18, 37, 39, 27);
f(29, 22, 33, 35, 28, 39);
f(33, 31, 29, 39, 37, 35);
f(29, 23, 22, 35, 29, 28);
f(2, 36, 37, 2, 46, 47);
f(37, 0, 2, 47, 0, 2);
f(14, 38, 36, 14, 48, 46);
f(36, 2, 14, 46, 2, 14);
f(16, 39, 38, 16, 49, 48);
f(38, 14, 16, 48, 14, 16);
f(35, 40, 39, 41, 50, 51);
f(39, 16, 35, 51, 43, 41);
f(24, 41, 40, 30, 52, 50);
f(40, 35, 24, 50, 41, 30);
f(23, 42, 41, 29, 53, 52);
f(41, 24, 23, 52, 30, 29);
f(29, 43, 42, 35, 54, 53);
f(42, 23, 29, 53, 29, 35);
f(28, 44, 43, 34, 55, 54);
f(43, 29, 28, 54, 35, 34);
f(26, 45, 44, 32, 56, 55);
f(44, 28, 26, 55, 34, 32);
f(3, 46, 45, 3, 57, 56);
f(45, 26, 3, 56, 32, 3);
f(5, 47, 46, 5, 58, 57);
f(46, 3, 5, 57, 3, 5);
f(7, 48, 47, 7, 59, 58);
f(47, 5, 7, 58, 5, 7);
f(9, 49, 48, 9, 60, 59);
f(48, 7, 9, 59, 7, 9);
f(0, 37, 49, 0, 47, 60);
f(49, 9, 0, 60, 9, 0);
f(50, 37, 36, 61, 47, 46);
f(36, 51, 50, 46, 62, 61);
f(52, 49, 37, 63, 60, 47);
f(37, 50, 52, 47, 61, 63);
f(53, 48, 49, 64, 59, 60);
f(49, 52, 53, 60, 63, 64);
f(54, 47, 48, 65, 58, 59);
f(48, 53, 54, 59, 64, 65);
f(55, 46, 47, 66, 57, 58);
f(47, 54, 55, 58, 65, 66);
f(56, 45, 46, 67, 56, 57);
f(46, 55, 56, 57, 66, 67);
f(57, 44, 45, 68, 55, 56);
f(45, 56, 57, 56, 67, 68);
f(58, 43, 44, 69, 54, 55);
f(44, 57, 58, 55, 68, 69);
f(59, 42, 43, 70, 53, 54);
f(43, 58, 59, 54, 69, 70);
f(60, 41, 42, 71, 52, 53);
f(42, 59, 60, 53, 70, 71);
f(61, 40, 41, 72, 50, 52);
f(41, 60, 61, 52, 71, 72);
f(62, 39, 40, 73, 51, 50);
f(40, 61, 62, 50, 72, 73);
f(63, 38, 39, 74, 48, 49);
f(64, 63, 39, 75, 74, 49);
f(65, 64, 39, 76, 75, 49);
f(62, 65, 39, 73, 76, 49);
f(51, 36, 38, 62, 46, 48);
f(38, 63, 51, 48, 74, 62);
f(66, 50, 51, 77, 61, 62);
f(51, 67, 66, 62, 78, 77);
f(68, 52, 50, 79, 63, 61);
f(69, 68, 50, 80, 79, 61);
f(66, 69, 50, 77, 80, 61);
f(52, 68, 70, 63, 79, 81);
f(70, 53, 52, 81, 64, 63);
f(71, 54, 53, 82, 65, 64);
f(70, 72, 71, 81, 83, 82);
f(70, 71, 53, 81, 82, 64);
f(73, 55, 54, 84, 66, 65);
f(54, 71, 73, 65, 82, 84);
f(74, 56, 55, 85, 67, 66);
f(55, 73, 74, 66, 84, 85);
f(75, 57, 56, 86, 68, 67);
f(56, 74, 75, 67, 85, 86);
f(76, 60, 59, 87, 71, 70);
f(59, 77, 76, 70, 88, 87);
f(78, 61, 60, 89, 72, 71);
f(60, 76, 78, 71, 87, 89);
f(79, 62, 61, 90, 73, 72);
f(61, 78, 79, 72, 89, 90);
f(80, 63, 64, 91, 74, 75);
f(64, 79, 80, 75, 90, 91);
f(67, 51, 63, 78, 62, 74);
f(63, 80, 67, 74, 91, 78);
f(64, 65, 79, 75, 76, 90);
f(65, 62, 79, 76, 73, 90);
f(68, 69, 70, 79, 80, 81);
f(58, 57, 75, 69, 68, 86);
f(75, 81, 58, 86, 92, 69);
f(77, 59, 58, 88, 70, 69);
f(58, 81, 77, 69, 92, 88);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 143
//Capelli5 (Capelli5)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Capelli5 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Capelli5(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-0.209328, 5.135864, 186.178558);
v(-3.275177, 8.264205, 156.628326);
v(-3.11673, 7.263479, 172.610382);
v(-0.731964, 5.381874, 186.170792);
v(-3.461761, 6.320406, 184.703094);
v(-8.910919, 11.031623, 183.457123);
v(-0.551743, 4.644333, 186.361725);
v(-4.340057, 6.284519, 184.612045);
v(-0.136536, 5.166056, 186.190826);
v(0.035873, 11.189761, 143.25502);
v(-3.966187, 12.416586, 145.411133);
v(0.035873, 16.990011, 131.228195);
v(-2.165131, 16.10803, 133.395493);
v(3.8E-5, 9.968899, 226.822403);
v(-6.51413, 12.070405, 227.388107);
v(-7.647873, 16.737581, 224.298126);
v(3.1E-5, 19.250925, 221.499039);
v(-9.401649, -20.09095, 210.200211);
v(-10.717278, -20.854389, 212.394821);
v(3.1E-5, -25.85083, 222.000015);
v(3.1E-5, -23.390013, 216.544662);
v(-21.948158, -11.263129, 203.66153);
v(-17.53936, -14.803286, 213.802948);
v(-7.807663, -22.626762, 225.927399);
v(-14.422028, 13.187003, 219.423859);
v(-11.088821, 20.423044, 206.592178);
v(-8.862312, 21.62327, 215.515335);
v(-16.316231, 8.641545, 223.387299);
v(-1.790115, 15.660784, 168.883118);
v(-6.590858, 14.128324, 176.605698);
v(-3.120605, 15.612164, 177.198303);
v(-19.896111, 14.013917, 209.842422);
v(-2.438988, 16.575531, 177.431305);
v(-6.04203, 9.194513, 175.802521);
v(-21.349808, 6.544527, 213.190857);
v(-5.555939, 3.90288, 231.354706);
v(-15.836258, 2.967601, 225.129822);
v(3.8E-5, 0.5873, 230.030884);
v(-21.750229, 3.408601, 209.59111);
v(-16.528313, -16.583105, 220.152832);
v(-22.325981, -5.60905, 205.030548);
v(-12.364731, -11.328094, 228.768005);
v(-4.496574, -8.008622, 231.040619);
v(-17.580116, -14.261593, 214.599854);
v(-16.473831, -15.272224, 207.10405);
v(-21.89962, -2.816744, 199.797836);
v(-20.933723, 0.516509, 196.906967);
v(3.1E-5, 21.938368, 205.896118);
v(3.1E-5, 21.921816, 213.991791);
v(0.035873, 17.274572, 177.791595);
v(0.035873, 15.966833, 167.1297);
v(3.188477, 7.263478, 172.610382);
v(3.346924, 8.264205, 156.628326);
v(0.276886, 5.132508, 186.224945);
v(0.293045, 4.241627, 186.813171);
v(18.966148, 3.910324, 189.821518);
v(3.601944, 6.259425, 185.374634);
v(0.21106, 5.079623, 186.95578);
v(0.208405, 5.162364, 186.223511);
v(4.440521, 6.209538, 185.446945);
v(4.037933, 12.416586, 145.411133);
v(2.236877, 16.108034, 133.395508);
v(7.647949, 16.737581, 224.298126);
v(6.514214, 12.070405, 227.388107);
v(9.401718, -20.09095, 210.200211);
v(10.717346, -20.854389, 212.394821);
v(21.948227, -11.263129, 203.66153);
v(17.539429, -14.803286, 213.802948);
v(7.807732, -22.626762, 225.927399);
v(11.08889, 20.423048, 206.592178);
v(15.278488, 13.187005, 219.423859);
v(8.862389, 21.62327, 215.515335);
v(16.102211, 8.641544, 223.387299);
v(1.861862, 15.660786, 168.883118);
v(6.736374, 14.176438, 177.901031);
v(3.291321, 15.608549, 177.816864);
v(2.547974, 16.628044, 177.921997);
v(19.896172, 14.013917, 209.842422);
v(6.210342, 9.226981, 176.991318);
v(21.349876, 6.544526, 213.190857);
v(15.622238, 2.967601, 225.129822);
v(5.556023, 3.90288, 231.354706);
v(17.266159, 3.380173, 210.592758);
v(16.314285, -16.583105, 220.152832);
v(12.364807, -11.328094, 228.768005);
v(4.496651, -8.008622, 231.040619);
v(14.790398, -21.93152, 211.352661);
v(16.473907, -15.272224, 207.10405);
v(22.490692, -5.613374, 205.036514);
v(21.899689, -2.816744, 199.797836);
v(20.933784, 0.516508, 196.906967);
v(-17.833649, 9.461839, 193.859299);
v(-18.002304, 8.327252, 192.728516);
v(-17.984589, 5.706684, 190.360535);
v(-18.199051, 5.577749, 190.115112);
uv(0.273025, 0.164132);
uv(0.203634, 0.220458);
uv(0.327843, 0.21171);
uv(0.285205, 0.172572);
uv(0.322274, 0.243991);
uv(0.242088, 0.708834);
uv(0.274609, 0.162846);
uv(0.125135, 0.369512);
uv(0.27025, 0.160364);
uv(8E-6, 0.006472);
uv(0.148766, 0.246155);
uv(0, 0.242917);
uv(0.074959, 0.249226);
uv(0, 0.844193);
uv(0.061971, 0.818036);
uv(0.05436, 0.750741);
uv(0, 0.72528);
uv(0.418526, 0.614793);
uv(0.428464, 0.660809);
uv(0.5, 0.723682);
uv(0.5, 0.70627);
uv(0.321851, 0.489081);
uv(0.34451, 0.647465);
uv(0.438177, 0.785157);
uv(0.11102, 0.709837);
uv(0.065621, 0.558648);
uv(0.05222, 0.657282);
uv(0.149194, 0.744196);
uv(0.081946, 0.341648);
uv(0.141752, 0.444512);
uv(0.092663, 0.39112);
uv(0.136487, 0.593423);
uv(0.078374, 0.389129);
uv(0.191341, 0.41558);
uv(0.177356, 0.637536);
uv(0.126321, 0.916678);
uv(0.207442, 0.795958);
uv(0, 0.972677);
uv(0.223649, 0.755202);
uv(0.354389, 0.703531);
uv(0.294253, 0.706371);
uv(0.346946, 0.836354);
uv(0.391698, 0.922566);
uv(0.392391, 0.607552);
uv(0.351917, 0.566772);
uv(0.297593, 0.540606);
uv(0.273416, 0.597011);
uv(0.221596, 0.593318);
uv(0, 0.553193);
uv(0, 0.650452);
uv(0, 0.37324);
uv(0, 0.30812);
uv(1.5, 0.729102);
uv(1.438177, 0.785157);
uv(1.391698, 0.922566);
uv(1, 0.972677);
uv(0.672157, 0.21171);
uv(0.796366, 0.220458);
uv(0.72688, 0.164055);
uv(0.716551, 0.17096);
uv(0.757912, 0.708834);
uv(0.678948, 0.25108);
uv(0.725391, 0.162846);
uv(0.729564, 0.160423);
uv(0.872661, 0.374496);
uv(0.851234, 0.246155);
uv(1.000003, 0.009501);
uv(0.925042, 0.249226);
uv(1, 0.242917);
uv(1, 0.844193);
uv(1, 0.728872);
uv(0.94564, 0.750741);
uv(0.938029, 0.818036);
uv(0.581474, 0.614793);
uv(0.571536, 0.660809);
uv(0.678149, 0.489081);
uv(0.65549, 0.647464);
uv(0.561823, 0.785157);
uv(0.934379, 0.558648);
uv(0.88898, 0.709837);
uv(0.94778, 0.657282);
uv(0.850806, 0.744196);
uv(0.918054, 0.341648);
uv(0.858445, 0.450088);
uv(0.90654, 0.3948);
uv(0.921831, 0.391854);
uv(0.863513, 0.593422);
uv(0.809089, 0.42239);
uv(0.822644, 0.637535);
uv(0.792558, 0.795958);
uv(0.873679, 0.916678);
uv(0.777396, 0.757829);
uv(0.645611, 0.70353);
uv(0.653054, 0.836354);
uv(0.608302, 0.922566);
uv(0.607609, 0.607551);
uv(0.648083, 0.566772);
uv(0.705723, 0.706369);
uv(0.726584, 0.597011);
uv(0.702407, 0.540605);
uv(0.778404, 0.593317);
uv(-0.270436, 0.160469);
uv(-0.273119, 0.164055);
uv(-0.203634, 0.220458);
uv(-0.05222, 0.657282);
uv(-0.065621, 0.558648);
uv(-0.05436, 0.750741);
uv(-0.081946, 0.341648);
uv(-0.078169, 0.391854);
uv(-0.074958, 0.249226);
uv(2, 0.987156);
uv(1.608302, 0.922566);
uv(1.561823, 0.785157);
uv(0.219442, 0.683891);
uv(1.000012, 0.003443);
uv(-0.274609, 0.162846);
uv(0.235547, 0.725284);
uv(0.258781, 0.708046);
uv(0.256094, 0.679944);
f(0, 1, 2, 0, 1, 2);
f(2, 3, 0, 2, 3, 0);
f(4, 5, 6, 4, 5, 6);
f(6, 3, 4, 6, 3, 4);
f(5, 7, 8, 5, 7, 8);
f(8, 6, 5, 8, 6, 5);
f(9, 10, 1, 9, 10, 1);
f(10, 9, 11, 10, 9, 11);
f(11, 12, 10, 11, 12, 10);
f(13, 14, 15, 13, 14, 15);
f(15, 16, 13, 15, 16, 13);
f(17, 18, 19, 17, 18, 19);
f(19, 20, 17, 19, 20, 17);
f(18, 21, 22, 18, 21, 22);
f(18, 22, 23, 18, 22, 23);
f(19, 18, 23, 19, 18, 23);
f(24, 25, 26, 24, 25, 26);
f(24, 26, 15, 24, 26, 15);
f(24, 15, 14, 24, 15, 14);
f(14, 27, 24, 14, 27, 24);
f(10, 12, 28, 10, 12, 28);
f(29, 10, 28, 29, 10, 28);
f(28, 30, 29, 28, 30, 29);
f(31, 30, 32, 31, 30, 32);
f(32, 25, 31, 32, 25, 31);
f(31, 25, 24, 31, 25, 24);
f(29, 33, 1, 29, 33, 1);
f(1, 10, 29, 1, 10, 29);
f(34, 31, 24, 34, 31, 24);
f(24, 27, 34, 24, 27, 34);
f(27, 14, 35, 27, 14, 35);
f(35, 36, 27, 35, 36, 27);
f(37, 35, 14, 37, 35, 14);
f(13, 37, 14, 13, 37, 14);
f(33, 4, 2, 33, 4, 2);
f(2, 1, 33, 2, 1, 33);
f(34, 27, 36, 34, 27, 36);
f(36, 38, 34, 36, 38, 34);
f(39, 40, 38, 39, 40, 38);
f(38, 36, 39, 38, 36, 39);
f(41, 36, 42, 41, 36, 42);
f(35, 37, 42, 35, 37, 42);
f(36, 35, 42, 36, 35, 42);
f(43, 39, 23, 43, 39, 23);
f(44, 43, 23, 44, 43, 23);
f(21, 40, 39, 45, 40, 39);
f(45, 46, 5, 46, 47, 5);
f(23, 39, 41, 23, 39, 41);
f(23, 41, 42, 23, 41, 42);
f(8, 0, 6, 8, 0, 6);
f(26, 25, 47, 26, 25, 48);
f(47, 48, 26, 48, 49, 26);
f(16, 26, 48, 16, 26, 49);
f(16, 15, 26, 16, 15, 26);
f(49, 32, 28, 50, 32, 28);
f(28, 50, 49, 28, 51, 50);
f(50, 28, 12, 51, 28, 12);
f(12, 11, 50, 12, 11, 51);
f(19, 23, 42, 52, 53, 54);
f(42, 37, 19, 54, 55, 52);
f(51, 52, 53, 56, 57, 58);
f(53, 54, 51, 58, 59, 56);
f(55, 56, 54, 60, 61, 59);
f(54, 57, 55, 59, 62, 60);
f(58, 59, 55, 63, 64, 60);
f(55, 57, 58, 60, 62, 63);
f(60, 9, 52, 65, 66, 57);
f(60, 61, 11, 65, 67, 68);
f(11, 9, 60, 68, 66, 65);
f(13, 16, 62, 69, 70, 71);
f(62, 63, 13, 71, 72, 69);
f(64, 20, 19, 73, 20, 19);
f(19, 65, 64, 19, 74, 73);
f(66, 65, 67, 75, 74, 76);
f(67, 65, 68, 76, 74, 77);
f(65, 19, 68, 74, 19, 77);
f(69, 70, 71, 78, 79, 80);
f(71, 70, 62, 80, 79, 71);
f(70, 72, 63, 79, 81, 72);
f(63, 62, 70, 72, 71, 79);
f(61, 60, 73, 67, 65, 82);
f(74, 75, 73, 83, 84, 82);
f(73, 60, 74, 82, 65, 83);
f(69, 76, 75, 78, 85, 84);
f(75, 77, 69, 84, 86, 78);
f(69, 77, 70, 78, 86, 79);
f(74, 60, 52, 83, 65, 57);
f(52, 78, 74, 57, 87, 83);
f(79, 72, 70, 88, 81, 79);
f(70, 77, 79, 79, 86, 88);
f(72, 80, 81, 81, 89, 90);
f(81, 63, 72, 90, 72, 81);
f(81, 37, 63, 90, 55, 72);
f(37, 13, 63, 55, 69, 72);
f(51, 56, 78, 56, 61, 87);
f(78, 52, 51, 87, 57, 56);
f(80, 72, 79, 89, 81, 88);
f(82, 80, 79, 91, 89, 88);
f(55, 82, 79, 60, 91, 88);
f(83, 84, 80, 92, 93, 89);
f(80, 84, 85, 89, 93, 94);
f(37, 81, 85, 55, 90, 94);
f(81, 80, 85, 90, 89, 94);
f(83, 86, 68, 92, 95, 77);
f(86, 87, 68, 95, 96, 77);
f(88, 55, 89, 97, 60, 98);
f(89, 66, 88, 98, 99, 97);
f(90, 89, 55, 100, 98, 60);
f(83, 68, 84, 92, 77, 93);
f(84, 68, 85, 93, 77, 94);
f(9, 58, 53, 9, 101, 102);
f(53, 52, 9, 102, 103, 9);
f(71, 48, 47, 104, 49, 48);
f(47, 69, 71, 48, 105, 104);
f(71, 16, 48, 104, 16, 49);
f(71, 62, 16, 104, 106, 16);
f(73, 76, 49, 107, 108, 50);
f(49, 50, 73, 50, 51, 107);
f(50, 11, 61, 51, 11, 109);
f(61, 73, 50, 109, 107, 51);
f(19, 37, 85, 52, 110, 111);
f(85, 68, 19, 111, 112, 52);
f(3, 6, 0, 3, 6, 0);
f(3, 2, 4, 3, 2, 4);
f(7, 9, 8, 7, 9, 8);
f(30, 31, 29, 30, 31, 29);
f(30, 28, 32, 30, 28, 32);
f(31, 34, 33, 31, 34, 33);
f(33, 29, 31, 33, 29, 31);
f(91, 5, 4, 113, 5, 4);
f(34, 91, 4, 34, 113, 4);
f(33, 34, 4, 33, 34, 4);
f(9, 1, 0, 9, 1, 0);
f(0, 8, 9, 0, 8, 9);
f(47, 25, 32, 48, 25, 32);
f(32, 49, 47, 32, 50, 48);
f(53, 57, 54, 58, 62, 59);
f(56, 51, 54, 61, 56, 59);
f(58, 9, 59, 63, 114, 64);
f(74, 77, 75, 83, 86, 84);
f(76, 73, 75, 85, 82, 84);
f(78, 79, 77, 87, 88, 86);
f(77, 74, 78, 86, 83, 87);
f(55, 79, 78, 60, 88, 87);
f(78, 56, 55, 87, 61, 60);
f(58, 57, 53, 101, 115, 102);
f(76, 69, 47, 108, 105, 48);
f(47, 49, 76, 48, 50, 108);
f(82, 55, 88, 91, 60, 97);
f(83, 80, 82, 92, 89, 91);
f(82, 88, 83, 91, 97, 92);
f(66, 83, 88, 99, 92, 97);
f(36, 41, 39, 36, 41, 39);
f(38, 92, 91, 38, 116, 113);
f(91, 34, 38, 113, 34, 38);
f(40, 93, 92, 40, 117, 116);
f(92, 38, 40, 116, 38, 40);
f(94, 93, 40, 118, 117, 40);
f(45, 5, 94, 46, 5, 118);
f(45, 94, 40, 46, 118, 40);
f(21, 45, 40, 45, 46, 40);
f(92, 5, 91, 116, 5, 113);
f(93, 5, 92, 117, 5, 116);
f(94, 5, 93, 118, 5, 117);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 144
//Capris1 (Capris1)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Capris1 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Capris1(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-8.354294, -12.425034, 83.562813);
v(-11.373993, -0.345032, 70.040245);
v(-12.205078, -7.819372, 69.512825);
v(-4.049965, -12.774643, 100.037415);
v(-1.138153, 1.966613, 98.189049);
v(-5.416031, 7.249382, 96.570259);
v(-20.663628, 8.440971, 97.626572);
v(-21.469391, -1.169696, 69.064163);
v(-24.051193, -8.166942, 83.346519);
v(-26.977028, -2.873518, 101.446465);
v(-20.791008, -13.317188, 101.761246);
v(-20.040794, -12.920506, 83.519814);
v(-11.224495, -16.292536, 101.058456);
v(-13.03875, -13.983619, 83.545547);
v(-5.854813, -13.387688, 100.264984);
v(-20.977997, -7.827972, 69.512825);
v(-17.067917, -9.231116, 67.90065);
v(-20.536232, -7.010587, 64.496193);
v(-21.996124, -1.88267, 64.419762);
v(-17.019447, 2.197706, 64.496193);
v(-23.985741, 5.218719, 52.84787);
v(-16.851768, 8.042877, 54.154129);
v(-9.905556, 4.835366, 52.559189);
v(-11.704399, -0.047177, 64.462906);
v(-12.461845, -6.855791, 64.496193);
v(-25.679008, 0.239924, 51.254303);
v(-23.004097, -6.318304, 50.50592);
v(-18.234589, -7.630238, 50.177586);
v(-12.004059, -7.324896, 50.124214);
v(-8.138542, -2.124153, 50.812149);
v(11.374016, -0.345032, 70.040245);
v(8.354324, -12.425034, 83.562813);
v(12.205101, -7.819372, 69.512825);
v(6.312454, 7.249383, 96.570259);
v(2.034576, 1.966614, 98.189049);
v(21.469414, -1.169696, 69.064163);
v(21.560059, 8.440969, 97.626572);
v(24.051224, -8.16694, 83.346519);
v(27.873451, -2.873518, 101.446457);
v(20.040825, -12.920508, 83.519814);
v(21.687439, -13.317188, 101.761246);
v(20.97802, -7.827972, 69.512825);
v(17.06794, -9.231116, 67.90065);
v(13.03878, -13.983623, 83.545547);
v(21.996147, -1.88267, 64.419754);
v(20.536255, -7.010587, 64.496185);
v(17.01947, 2.197705, 64.496185);
v(24.264137, 5.218719, 52.847862);
v(17.130157, 8.042877, 54.154129);
v(10.183945, 4.83537, 52.559181);
v(11.704422, -0.047177, 64.462906);
v(12.461868, -6.855791, 64.496193);
v(25.95739, 0.239925, 51.254295);
v(23.282478, -6.318304, 50.505913);
v(18.491814, -7.661872, 50.487015);
v(12.28244, -7.324896, 50.124214);
v(8.416931, -2.124153, 50.812149);
v(4.93853, -12.774082, 100.07576);
v(6.740852, -13.385679, 100.292015);
v(12.120918, -16.292538, 101.058456);
uv(0.341566, 0.610273);
uv(0.284299, 0.499261);
uv(0.268538, 0.494931);
uv(0.404829, 0.753865);
uv(0.45618, 0.738691);
uv(0.380738, 0.725402);
uv(0.111839, 0.734074);
uv(0.092847, 0.491248);
uv(0.043885, 0.608498);
uv(0.000499, 0.765433);
uv(0.109593, 0.768017);
uv(0.119939, 0.60992);
uv(0.278303, 0.762247);
uv(0.252728, 0.610132);
uv(0.373, 0.755733);
uv(0.102166, 0.494931);
uv(0.176318, 0.481696);
uv(0.110544, 0.453748);
uv(0.082858, 0.45312);
uv(0.177237, 0.453748);
uv(0.047353, 0.36098);
uv(0.179939, 0.371703);
uv(0.309034, 0.35861);
uv(0.278033, 0.453475);
uv(0.263669, 0.453748);
uv(0.015884, 0.347897);
uv(0.065597, 0.341754);
uv(0.154239, 0.339058);
uv(0.270034, 0.33862);
uv(0.341874, 0.344268);
uv(0.715701, 0.499261);
uv(0.658434, 0.610273);
uv(0.731461, 0.494931);
uv(0.619262, 0.725402);
uv(0.54382, 0.738691);
uv(0.907153, 0.491248);
uv(0.888161, 0.734074);
uv(0.956115, 0.608498);
uv(0.999501, 0.765433);
uv(0.880061, 0.60992);
uv(0.890407, 0.768017);
uv(0.897834, 0.494931);
uv(0.823682, 0.481696);
uv(0.747272, 0.610132);
uv(0.917142, 0.45312);
uv(0.889456, 0.453748);
uv(0.822763, 0.453748);
uv(0.952647, 0.36098);
uv(0.820061, 0.371703);
uv(0.690966, 0.35861);
uv(0.721966, 0.453475);
uv(0.736331, 0.453748);
uv(0.984116, 0.347897);
uv(0.934403, 0.341754);
uv(0.845368, 0.341599);
uv(0.729966, 0.33862);
uv(0.658126, 0.344268);
uv(0.595032, 0.75418);
uv(0.626817, 0.755955);
uv(0.721697, 0.762247);
f(0, 1, 2, 0, 1, 2);
f(0, 3, 4, 0, 3, 4);
f(4, 1, 0, 4, 1, 0);
f(1, 4, 5, 1, 4, 5);
f(1, 5, 6, 1, 5, 6);
f(6, 7, 1, 6, 7, 1);
f(8, 7, 6, 8, 7, 6);
f(6, 9, 8, 6, 9, 8);
f(10, 11, 8, 10, 11, 8);
f(11, 10, 12, 11, 10, 12);
f(12, 13, 11, 12, 13, 11);
f(14, 13, 12, 14, 13, 12);
f(8, 15, 7, 8, 15, 7);
f(8, 11, 15, 8, 11, 15);
f(11, 16, 15, 11, 16, 15);
f(11, 13, 16, 11, 13, 16);
f(0, 2, 16, 0, 2, 16);
f(16, 13, 0, 16, 13, 0);
f(3, 0, 13, 3, 0, 13);
f(13, 14, 3, 13, 14, 3);
f(15, 17, 18, 15, 17, 18);
f(18, 7, 15, 18, 7, 15);
f(7, 18, 19, 7, 18, 19);
f(19, 18, 20, 19, 18, 20);
f(19, 20, 21, 19, 20, 21);
f(19, 21, 22, 19, 21, 22);
f(23, 19, 22, 23, 19, 22);
f(2, 24, 16, 2, 24, 16);
f(1, 23, 24, 1, 23, 24);
f(24, 2, 1, 24, 2, 1);
f(23, 1, 7, 23, 1, 7);
f(7, 19, 23, 7, 19, 23);
f(18, 25, 20, 18, 25, 20);
f(17, 26, 25, 17, 26, 25);
f(25, 18, 17, 25, 18, 17);
f(15, 16, 17, 15, 16, 17);
f(17, 16, 26, 17, 16, 26);
f(26, 16, 27, 26, 16, 27);
f(16, 24, 28, 16, 24, 28);
f(24, 29, 28, 24, 29, 28);
f(24, 23, 29, 24, 23, 29);
f(23, 22, 29, 23, 22, 29);
f(27, 16, 28, 27, 16, 28);
f(30, 31, 32, 30, 31, 32);
f(33, 34, 30, 33, 34, 30);
f(30, 35, 36, 30, 35, 36);
f(36, 33, 30, 36, 33, 30);
f(37, 38, 36, 37, 38, 36);
f(36, 35, 37, 36, 35, 37);
f(39, 40, 37, 39, 40, 37);
f(41, 37, 35, 41, 37, 35);
f(39, 37, 41, 39, 37, 41);
f(42, 39, 41, 42, 39, 41);
f(43, 39, 42, 43, 39, 42);
f(31, 43, 42, 31, 43, 42);
f(42, 32, 31, 42, 32, 31);
f(41, 35, 44, 41, 35, 44);
f(44, 45, 41, 44, 45, 41);
f(44, 35, 46, 44, 35, 46);
f(44, 46, 47, 44, 46, 47);
f(47, 46, 48, 47, 46, 48);
f(48, 46, 49, 48, 46, 49);
f(46, 50, 49, 46, 50, 49);
f(51, 32, 42, 51, 32, 42);
f(30, 32, 51, 30, 32, 51);
f(51, 50, 30, 51, 50, 30);
f(30, 50, 35, 30, 50, 35);
f(46, 35, 50, 46, 35, 50);
f(52, 44, 47, 52, 44, 47);
f(45, 44, 52, 45, 44, 52);
f(52, 53, 45, 52, 53, 45);
f(42, 41, 45, 42, 41, 45);
f(42, 45, 53, 42, 45, 53);
f(54, 42, 53, 54, 42, 53);
f(51, 42, 55, 51, 42, 55);
f(56, 51, 55, 56, 51, 55);
f(50, 51, 56, 50, 51, 56);
f(49, 50, 56, 49, 50, 56);
f(55, 42, 54, 55, 42, 54);
f(10, 8, 9, 10, 8, 9);
f(31, 30, 34, 31, 30, 34);
f(34, 57, 31, 34, 57, 31);
f(57, 58, 43, 57, 58, 43);
f(43, 31, 57, 43, 31, 57);
f(59, 43, 58, 59, 43, 58);
f(59, 40, 39, 59, 40, 39);
f(39, 43, 59, 39, 43, 59);
f(38, 37, 40, 38, 37, 40);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 145
//Capris2 (Capris2)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Capris2 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Capris2(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-8.354294, -12.425034, 83.562813);
v(-7.292801, 6.371681, 66.658669);
v(-8.542145, -7.337581, 66.658546);
v(-4.049965, -12.774643, 100.037415);
v(-1.138153, 1.966613, 98.189049);
v(-5.416031, 7.249382, 96.570259);
v(-20.663628, 8.440971, 97.626572);
v(-23.326859, 0.849686, 66.658424);
v(-24.051193, -8.166942, 83.346519);
v(-26.977028, -2.873518, 101.446465);
v(-20.791008, -13.317188, 101.761246);
v(-20.040794, -12.920506, 83.519814);
v(-11.224495, -16.292536, 101.058456);
v(-13.03875, -13.983619, 83.545547);
v(-5.854813, -13.387688, 100.264984);
v(-21.792206, -7.419279, 66.658546);
v(-15.989243, -9.231116, 66.658974);
v(-15.91301, 6.480253, 65.924988);
v(-23.985741, 5.218719, 52.84787);
v(-16.851768, 8.042877, 54.154129);
v(-9.905556, 4.835366, 52.559189);
v(-25.679008, 0.239924, 51.254303);
v(-23.004097, -6.318304, 50.50592);
v(-18.234589, -7.630238, 50.177586);
v(-12.004059, -7.324896, 50.124214);
v(-8.138542, -2.124153, 50.812149);
v(6.629478, 6.371681, 66.658669);
v(8.354324, -12.425034, 83.562813);
v(7.959419, -7.337582, 66.658546);
v(6.312454, 7.249383, 96.570259);
v(2.034576, 1.966614, 98.189049);
v(23.697929, 0.849685, 66.658424);
v(21.560059, 8.440969, 97.626572);
v(24.051224, -8.16694, 83.346519);
v(27.873451, -2.873518, 101.446457);
v(20.040825, -12.920508, 83.519814);
v(21.687439, -13.317188, 101.761246);
v(22.064278, -7.41928, 66.658546);
v(15.886955, -9.231117, 66.658974);
v(13.03878, -13.983623, 83.545547);
v(15.805794, 6.480251, 65.864418);
v(24.003777, 5.218719, 52.847862);
v(16.869797, 8.042877, 54.154129);
v(9.923584, 4.83537, 52.559181);
v(25.697029, 0.239925, 51.254295);
v(23.022118, -6.318304, 50.505913);
v(18.230988, -7.661872, 50.185207);
v(12.022079, -7.324896, 50.124214);
v(8.15657, -2.124153, 50.812149);
v(4.93853, -12.774082, 100.07576);
v(6.740852, -13.385679, 100.292015);
v(12.120918, -16.292538, 101.058456);
uv(0.341566, 0.610273);
uv(0.281166, 0.476368);
uv(0.266104, 0.47434);
uv(0.404829, 0.753865);
uv(0.45618, 0.738691);
uv(0.380738, 0.725402);
uv(0.111839, 0.734074);
uv(0.087852, 0.472184);
uv(0.043885, 0.608498);
uv(0.000499, 0.765433);
uv(0.109593, 0.768017);
uv(0.119939, 0.60992);
uv(0.278303, 0.762247);
uv(0.252728, 0.610132);
uv(0.373, 0.755733);
uv(0.106355, 0.47434);
uv(0.176318, 0.481696);
uv(0.177237, 0.453748);
uv(0.047353, 0.36098);
uv(0.179939, 0.371703);
uv(0.309034, 0.35861);
uv(0.015884, 0.347897);
uv(0.065597, 0.341754);
uv(0.154239, 0.339058);
uv(0.270034, 0.33862);
uv(0.341874, 0.344268);
uv(0.718833, 0.476368);
uv(0.658434, 0.610273);
uv(0.733896, 0.47434);
uv(0.619262, 0.725402);
uv(0.54382, 0.738691);
uv(0.912148, 0.472184);
uv(0.888161, 0.734074);
uv(0.956115, 0.608498);
uv(0.999501, 0.765433);
uv(0.880061, 0.60992);
uv(0.890407, 0.768017);
uv(0.893645, 0.47434);
uv(0.823682, 0.481696);
uv(0.747272, 0.610132);
uv(0.822763, 0.453748);
uv(0.952647, 0.36098);
uv(0.820061, 0.371703);
uv(0.690966, 0.35861);
uv(0.984116, 0.347897);
uv(0.934403, 0.341754);
uv(0.845368, 0.341599);
uv(0.729966, 0.33862);
uv(0.658126, 0.344268);
uv(0.595032, 0.75418);
uv(0.626817, 0.755955);
uv(0.721697, 0.762247);
f(0, 1, 2, 0, 1, 2);
f(0, 3, 4, 0, 3, 4);
f(4, 1, 0, 4, 1, 0);
f(1, 4, 5, 1, 4, 5);
f(1, 5, 6, 1, 5, 6);
f(6, 7, 1, 6, 7, 1);
f(8, 7, 6, 8, 7, 6);
f(6, 9, 8, 6, 9, 8);
f(10, 11, 8, 10, 11, 8);
f(11, 10, 12, 11, 10, 12);
f(12, 13, 11, 12, 13, 11);
f(14, 13, 12, 14, 13, 12);
f(8, 15, 7, 8, 15, 7);
f(8, 11, 15, 8, 11, 15);
f(11, 16, 15, 11, 16, 15);
f(11, 13, 16, 11, 13, 16);
f(0, 2, 16, 0, 2, 16);
f(16, 13, 0, 16, 13, 0);
f(3, 0, 13, 3, 0, 13);
f(13, 14, 3, 13, 14, 3);
f(17, 7, 18, 17, 7, 18);
f(17, 18, 19, 17, 18, 19);
f(17, 19, 20, 17, 19, 20);
f(1, 17, 20, 1, 17, 20);
f(7, 17, 1, 7, 17, 1);
f(7, 21, 18, 7, 21, 18);
f(15, 22, 21, 15, 22, 21);
f(21, 7, 15, 21, 7, 15);
f(15, 16, 22, 15, 16, 22);
f(22, 16, 23, 22, 16, 23);
f(16, 2, 24, 16, 2, 24);
f(2, 25, 24, 2, 25, 24);
f(2, 1, 25, 2, 1, 25);
f(1, 20, 25, 1, 20, 25);
f(23, 16, 24, 23, 16, 24);
f(26, 27, 28, 26, 27, 28);
f(29, 30, 26, 29, 30, 26);
f(26, 31, 32, 26, 31, 32);
f(32, 29, 26, 32, 29, 26);
f(33, 34, 32, 33, 34, 32);
f(32, 31, 33, 32, 31, 33);
f(35, 36, 33, 35, 36, 33);
f(37, 33, 31, 37, 33, 31);
f(35, 33, 37, 35, 33, 37);
f(38, 35, 37, 38, 35, 37);
f(39, 35, 38, 39, 35, 38);
f(27, 39, 38, 27, 39, 38);
f(38, 28, 27, 38, 28, 27);
f(31, 40, 41, 31, 40, 41);
f(41, 40, 42, 41, 40, 42);
f(42, 40, 43, 42, 40, 43);
f(40, 26, 43, 40, 26, 43);
f(40, 31, 26, 40, 31, 26);
f(44, 31, 41, 44, 31, 41);
f(37, 31, 44, 37, 31, 44);
f(44, 45, 37, 44, 45, 37);
f(38, 37, 45, 38, 37, 45);
f(46, 38, 45, 46, 38, 45);
f(28, 38, 47, 28, 38, 47);
f(48, 28, 47, 48, 28, 47);
f(26, 28, 48, 26, 28, 48);
f(43, 26, 48, 43, 26, 48);
f(47, 38, 46, 47, 38, 46);
f(10, 8, 9, 10, 8, 9);
f(27, 26, 30, 27, 26, 30);
f(30, 49, 27, 30, 49, 27);
f(49, 50, 39, 49, 50, 39);
f(39, 27, 49, 39, 27, 49);
f(51, 39, 50, 51, 39, 50);
f(51, 36, 35, 51, 36, 35);
f(35, 39, 51, 35, 39, 51);
f(34, 33, 36, 34, 33, 36);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 146
//Ginocchi (Ginocchi)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Ginocchi extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Ginocchi(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-8.354294, -12.425034, 83.562813);
v(-11.373993, -0.345032, 70.040245);
v(-12.205078, -7.819372, 69.512825);
v(-2.310623, 1.520802, 99.205627);
v(-5.018402, -12.18751, 101.053993);
v(-6.288742, 6.433398, 97.586838);
v(-20.467918, 7.54149, 98.643158);
v(-21.469391, -1.169696, 69.064163);
v(-26.338921, -2.980173, 102.463043);
v(-24.051193, -8.166942, 83.346519);
v(-20.586372, -12.692038, 102.777824);
v(-20.040794, -12.920506, 83.519814);
v(-11.690201, -15.458895, 102.075035);
v(-13.03875, -13.983619, 83.545547);
v(-6.696777, -12.757597, 101.281563);
v(-20.977997, -7.827972, 69.512825);
v(-17.067917, -9.231116, 67.90065);
v(-21.996124, -1.88267, 64.419762);
v(-20.536232, -7.010587, 64.496193);
v(-17.019447, 2.197706, 64.496193);
v(-23.868294, 5.101653, 53.195938);
v(-16.876999, 7.869326, 54.502197);
v(-10.06971, 4.725966, 52.907257);
v(-11.704399, -0.047177, 64.462906);
v(-12.461845, -6.855791, 64.496193);
v(-25.527695, 0.222434, 51.602371);
v(-22.906281, -6.204628, 50.853989);
v(-18.232162, -7.490323, 50.525654);
v(-12.126244, -7.191088, 50.472282);
v(-8.338043, -2.094361, 51.160217);
v(11.374016, -0.345032, 70.040245);
v(8.354324, -12.425034, 83.562813);
v(12.205101, -7.819372, 69.512825);
v(2.310654, 1.520802, 99.205627);
v(6.288773, 6.433401, 97.586838);
v(6.288773, 6.4334, 97.586838);
v(20.467949, 7.541489, 98.64315);
v(21.469414, -1.169696, 69.064163);
v(24.051224, -8.16694, 83.346519);
v(26.338951, -2.980173, 102.463036);
v(20.040825, -12.920508, 83.519814);
v(20.586403, -12.692038, 102.777824);
v(20.97802, -7.827972, 69.512825);
v(17.06794, -9.231116, 67.90065);
v(13.03878, -13.983623, 83.545547);
v(21.996147, -1.88267, 64.419754);
v(20.536255, -7.010587, 64.496185);
v(17.01947, 2.197705, 64.496185);
v(23.868317, 5.101653, 53.19593);
v(16.877022, 7.869326, 54.502197);
v(10.069733, 4.72597, 52.907249);
v(11.704422, -0.047177, 64.462906);
v(12.461868, -6.855791, 64.496193);
v(25.52771, 0.222435, 51.602364);
v(22.906296, -6.204628, 50.853981);
v(18.211441, -7.521325, 50.835083);
v(12.126259, -7.191088, 50.472282);
v(8.338058, -2.094361, 51.160217);
v(5.011124, -12.186988, 101.092339);
v(6.687149, -12.75573, 101.308594);
v(11.690231, -15.458897, 102.075035);
uv(0.331547, 0.142663);
uv(0.327374, 0.122888);
uv(0.326225, 0.122117);
uv(0.3399, 0.165539);
uv(0.336158, 0.168242);
uv(0.334402, 0.163172);
uv(0.319879, 0.163506);
uv(0.31342, 0.121461);
uv(0.30973, 0.165928);
uv(0.30669, 0.170303);
uv(0.309852, 0.142347);
uv(0.314641, 0.170763);
uv(0.315395, 0.1426);
uv(0.326937, 0.169735);
uv(0.325073, 0.142638);
uv(0.333838, 0.168575);
uv(0.3141, 0.122117);
uv(0.319504, 0.119759);
uv(0.312692, 0.114669);
uv(0.31471, 0.114781);
uv(0.319571, 0.114781);
uv(0.310105, 0.098255);
uv(0.319768, 0.100165);
uv(0.329176, 0.097833);
uv(0.326917, 0.114732);
uv(0.32587, 0.114781);
uv(0.307811, 0.095925);
uv(0.311434, 0.09483);
uv(0.317895, 0.09435);
uv(0.326334, 0.094272);
uv(0.33157, 0.095278);
uv(0.358815, 0.122888);
uv(0.354641, 0.142663);
uv(0.359963, 0.122117);
uv(0.346288, 0.165539);
uv(0.351786, 0.163172);
uv(0.351786, 0.163172);
uv(0.366309, 0.163505);
uv(0.372768, 0.121461);
uv(0.376458, 0.165928);
uv(0.376336, 0.142347);
uv(0.379498, 0.170303);
uv(0.370793, 0.1426);
uv(0.371547, 0.170763);
uv(0.372089, 0.122117);
uv(0.366684, 0.119759);
uv(0.361116, 0.142638);
uv(0.373496, 0.114669);
uv(0.371478, 0.11478);
uv(0.366617, 0.11478);
uv(0.376084, 0.098255);
uv(0.366421, 0.100165);
uv(0.357012, 0.097833);
uv(0.359271, 0.114732);
uv(0.360318, 0.11478);
uv(0.378377, 0.095925);
uv(0.374754, 0.09483);
uv(0.368265, 0.094803);
uv(0.359854, 0.094272);
uv(0.354618, 0.095278);
uv(0.35002, 0.168298);
uv(0.352337, 0.168615);
uv(0.359252, 0.169735);
f(0, 1, 2, 0, 1, 2);
f(3, 1, 0, 3, 1, 0);
f(0, 4, 3, 0, 4, 3);
f(1, 3, 5, 1, 3, 5);
f(6, 7, 1, 6, 7, 1);
f(1, 5, 6, 1, 5, 6);
f(6, 8, 9, 8, 9, 10);
f(9, 7, 6, 10, 7, 8);
f(10, 11, 9, 11, 12, 10);
f(12, 13, 11, 13, 14, 12);
f(11, 10, 12, 12, 11, 13);
f(14, 13, 12, 15, 14, 13);
f(9, 15, 7, 10, 16, 7);
f(9, 11, 15, 10, 12, 16);
f(11, 16, 15, 12, 17, 16);
f(11, 13, 16, 12, 14, 17);
f(16, 13, 0, 17, 14, 0);
f(0, 2, 16, 0, 2, 17);
f(13, 14, 4, 14, 15, 4);
f(4, 0, 13, 4, 0, 14);
f(17, 7, 15, 18, 7, 16);
f(15, 18, 17, 16, 19, 18);
f(7, 17, 19, 7, 18, 20);
f(19, 17, 20, 20, 18, 21);
f(19, 20, 21, 20, 21, 22);
f(19, 21, 22, 20, 22, 23);
f(23, 19, 22, 24, 20, 23);
f(2, 24, 16, 2, 25, 17);
f(24, 2, 1, 25, 2, 1);
f(1, 23, 24, 1, 24, 25);
f(23, 1, 7, 24, 1, 7);
f(7, 19, 23, 7, 20, 24);
f(17, 25, 20, 18, 26, 21);
f(25, 17, 18, 26, 18, 19);
f(18, 26, 25, 19, 27, 26);
f(15, 16, 18, 16, 17, 19);
f(18, 16, 26, 19, 17, 27);
f(26, 16, 27, 27, 17, 28);
f(16, 24, 28, 17, 25, 29);
f(24, 29, 28, 25, 30, 29);
f(24, 23, 29, 25, 24, 30);
f(23, 22, 29, 24, 23, 30);
f(27, 16, 28, 28, 17, 29);
f(30, 31, 32, 31, 32, 33);
f(33, 30, 34, 34, 31, 35);
f(34, 35, 33, 35, 36, 34);
f(36, 34, 30, 37, 35, 31);
f(30, 37, 36, 31, 38, 37);
f(36, 37, 38, 39, 38, 40);
f(38, 39, 36, 40, 41, 39);
f(40, 41, 38, 42, 43, 40);
f(42, 38, 37, 44, 40, 38);
f(40, 38, 42, 42, 40, 44);
f(43, 40, 42, 45, 42, 44);
f(44, 40, 43, 46, 42, 45);
f(43, 32, 31, 45, 33, 32);
f(31, 44, 43, 32, 46, 45);
f(45, 46, 42, 47, 48, 44);
f(42, 37, 45, 44, 38, 47);
f(45, 37, 47, 47, 38, 49);
f(45, 47, 48, 47, 49, 50);
f(48, 47, 49, 50, 49, 51);
f(49, 47, 50, 51, 49, 52);
f(47, 51, 50, 49, 53, 52);
f(52, 32, 43, 54, 33, 45);
f(52, 51, 30, 54, 53, 31);
f(30, 32, 52, 31, 33, 54);
f(30, 51, 37, 31, 53, 38);
f(47, 37, 51, 49, 38, 53);
f(53, 45, 48, 55, 47, 50);
f(53, 54, 46, 55, 56, 48);
f(46, 45, 53, 48, 47, 55);
f(43, 42, 46, 45, 44, 48);
f(43, 46, 54, 45, 48, 56);
f(55, 43, 54, 57, 45, 56);
f(52, 43, 56, 54, 45, 58);
f(57, 52, 56, 59, 54, 58);
f(51, 52, 57, 53, 54, 59);
f(50, 51, 57, 52, 53, 59);
f(56, 43, 55, 58, 45, 57);
f(10, 9, 8, 11, 10, 9);
f(33, 58, 31, 34, 60, 32);
f(31, 30, 33, 32, 31, 34);
f(44, 31, 58, 46, 32, 60);
f(58, 59, 44, 60, 61, 46);
f(60, 44, 59, 62, 46, 61);
f(40, 44, 60, 42, 46, 62);
f(60, 41, 40, 62, 43, 42);
f(39, 38, 41, 41, 40, 43);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 147
//Glasses (Glasses)
package {
import flash.display.*;
public dynamic class Glasses extends MovieClip {
public function Glasses(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4);
}
function frame3(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 148
//Hair (Hair)
package {
import flash.display.*;
public dynamic class Hair extends MovieClip {
public function Hair(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 149
//LowerPants1 (LowerPants1)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class LowerPants1 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function LowerPants1(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-15.150543, -5.887023, 12.491524);
v(-16.519592, -5.569201, 21.158585);
v(-14.36644, -1.91028, 21.031586);
v(-14.970879, 2.896709, 21.249359);
v(-12.67662, 0.982337, 10.352448);
v(-20.34993, -7.042413, 13.670059);
v(-20.193352, -4.557903, 21.25695);
v(-23.285431, -0.186381, 9.285248);
v(-9.905556, 4.835366, 52.559189);
v(-16.851768, 8.042877, 54.154129);
v(-21.237427, 1.868015, 21.306152);
v(-23.985741, 5.218719, 52.84787);
v(-25.679008, 0.239924, 51.254303);
v(-23.004097, -6.318304, 50.50592);
v(-8.138542, -2.124153, 50.812149);
v(-12.004059, -7.324896, 50.124214);
v(16.519608, -5.569201, 21.158577);
v(15.150551, -5.887023, 12.491524);
v(14.366447, -1.91028, 21.031586);
v(14.970886, 2.896709, 21.249359);
v(12.676628, 0.982337, 10.352448);
v(20.193359, -4.557903, 21.256943);
v(20.349937, -7.042413, 13.670052);
v(23.285439, -0.186381, 9.285248);
v(21.237442, 1.868015, 21.306145);
v(21.498276, 3.363023, 10.507652);
v(18.623322, 3.835896, 10.47506);
v(17.130157, 8.042877, 54.154129);
v(10.183945, 4.83537, 52.559181);
v(24.264137, 5.218719, 52.847862);
v(25.95739, 0.239925, 51.254295);
v(23.282478, -6.318304, 50.505913);
v(8.416931, -2.124153, 50.812149);
v(12.28244, -7.324896, 50.124214);
v(-21.50972, 3.428735, 10.033012);
v(-18.919113, 3.911959, 9.602463);
v(-18.234589, -7.630238, 50.177586);
v(18.491814, -7.661872, 50.487015);
uv(0.21268, 0.026821);
uv(0.186717, 0.097972);
uv(0.22755, 0.09693);
uv(0.216087, 0.098718);
uv(0.259596, 0.009261);
uv(0.114077, 0.036496);
uv(0.117046, 0.09878);
uv(0.058407, 0.0005);
uv(0.309034, 0.35861);
uv(0.179939, 0.371703);
uv(0.097246, 0.099184);
uv(0.047353, 0.36098);
uv(0.015884, 0.347897);
uv(0.065597, 0.341754);
uv(0.341874, 0.344268);
uv(0.270034, 0.33862);
uv(0.813283, 0.097972);
uv(0.78732, 0.026821);
uv(0.77245, 0.09693);
uv(0.783913, 0.098718);
uv(0.740404, 0.009261);
uv(0.882954, 0.09878);
uv(0.885923, 0.036496);
uv(0.941593, 0.0005);
uv(0.902754, 0.099184);
uv(0.9077, 0.010535);
uv(0.853179, 0.010267);
uv(0.820061, 0.371703);
uv(0.690966, 0.35861);
uv(0.952647, 0.36098);
uv(0.984116, 0.347897);
uv(0.934403, 0.341754);
uv(0.658126, 0.344268);
uv(0.729966, 0.33862);
uv(0.092082, 0.006638);
uv(0.141211, 0.003104);
uv(0.154239, 0.339058);
uv(0.845368, 0.341599);
f(0, 1, 2, 0, 1, 2);
f(2, 3, 4, 2, 3, 4);
f(2, 4, 0, 2, 4, 0);
f(1, 0, 5, 1, 0, 5);
f(5, 6, 1, 5, 6, 1);
f(6, 5, 7, 6, 5, 7);
f(8, 9, 3, 8, 9, 3);
f(9, 10, 3, 9, 10, 3);
f(9, 11, 10, 9, 11, 10);
f(11, 12, 10, 11, 12, 10);
f(6, 7, 10, 6, 7, 10);
f(13, 6, 10, 13, 6, 10);
f(12, 13, 10, 12, 13, 10);
f(14, 8, 2, 14, 8, 2);
f(8, 3, 2, 8, 3, 2);
f(15, 14, 1, 15, 14, 1);
f(14, 2, 1, 14, 2, 1);
f(16, 17, 18, 16, 17, 18);
f(19, 18, 20, 19, 18, 20);
f(20, 18, 17, 20, 18, 17);
f(16, 21, 22, 16, 21, 22);
f(22, 17, 16, 22, 17, 16);
f(22, 21, 23, 22, 21, 23);
f(23, 24, 25, 23, 24, 25);
f(19, 26, 25, 19, 26, 25);
f(25, 24, 19, 25, 24, 19);
f(27, 28, 19, 27, 28, 19);
f(24, 27, 19, 24, 27, 19);
f(29, 27, 24, 29, 27, 24);
f(30, 29, 24, 30, 29, 24);
f(31, 30, 24, 31, 30, 24);
f(21, 31, 24, 21, 31, 24);
f(23, 21, 24, 23, 21, 24);
f(28, 32, 18, 28, 32, 18);
f(19, 28, 18, 19, 28, 18);
f(32, 33, 16, 32, 33, 16);
f(18, 32, 16, 18, 32, 16);
f(26, 19, 20, 26, 19, 20);
f(34, 10, 7, 34, 10, 7);
f(3, 10, 34, 3, 10, 34);
f(34, 35, 3, 34, 35, 3);
f(4, 3, 35, 4, 3, 35);
f(36, 6, 13, 36, 6, 13);
f(15, 1, 6, 15, 1, 6);
f(6, 36, 15, 6, 36, 15);
f(21, 16, 33, 21, 16, 33);
f(33, 37, 21, 33, 37, 21);
f(31, 21, 37, 31, 21, 37);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 150
//LowerPants2 (LowerPants2)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class LowerPants2 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function LowerPants2(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-9.905556, 4.835366, 52.559189);
v(-16.851768, 8.042877, 54.154129);
v(-11.707695, 9.032455, 0.791496);
v(-29.399101, 6.139713, 2.527199);
v(-23.985741, 5.218719, 52.84787);
v(-25.679008, 0.239924, 51.254303);
v(-23.004097, -6.318304, 50.50592);
v(-25.833199, -14.781683, 9.826599);
v(-8.138542, -2.124153, 50.812149);
v(-7.795357, -5.102186, 7.897934);
v(-12.004059, -7.324896, 50.124214);
v(-13.285881, -17.980614, 9.248741);
v(-18.234589, -7.630238, 50.177586);
v(16.851768, 8.042877, 54.154129);
v(9.905556, 4.835366, 52.559189);
v(11.707695, 9.032455, 0.791496);
v(29.399101, 6.139713, 2.527199);
v(23.985741, 5.218719, 52.84787);
v(25.679008, 0.239924, 51.254303);
v(23.004097, -6.318304, 50.50592);
v(25.833199, -14.781683, 9.826599);
v(8.138542, -2.124153, 50.812149);
v(7.795357, -5.102186, 7.897934);
v(12.004059, -7.324896, 50.124214);
v(13.285881, -17.980614, 9.248741);
v(18.234589, -7.630238, 50.177586);
uv(0.309034, 0.35861);
uv(0.179939, 0.371703);
uv(0.216087, 0.098718);
uv(0.097246, 0.099184);
uv(0.047353, 0.36098);
uv(0.015884, 0.347897);
uv(0.065597, 0.341754);
uv(0.117046, 0.09878);
uv(0.341874, 0.344268);
uv(0.22755, 0.09693);
uv(0.270034, 0.33862);
uv(0.186717, 0.097972);
uv(0.154239, 0.339058);
uv(0.179939, 0.371703);
uv(0.309034, 0.35861);
uv(0.216087, 0.098718);
uv(0.097246, 0.099184);
uv(0.047353, 0.36098);
uv(0.015884, 0.347897);
uv(0.065597, 0.341754);
uv(0.117046, 0.09878);
uv(0.341874, 0.344268);
uv(0.22755, 0.09693);
uv(0.270034, 0.33862);
uv(0.186717, 0.097972);
uv(0.154239, 0.339058);
f(0, 1, 2, 0, 1, 2);
f(1, 3, 2, 1, 3, 2);
f(1, 4, 3, 1, 4, 3);
f(4, 5, 3, 4, 5, 3);
f(3, 5, 6, 3, 5, 6);
f(6, 7, 3, 6, 7, 3);
f(8, 0, 9, 8, 0, 9);
f(0, 2, 9, 0, 2, 9);
f(10, 8, 11, 10, 8, 11);
f(8, 9, 11, 8, 9, 11);
f(12, 7, 6, 12, 7, 6);
f(7, 12, 10, 7, 12, 10);
f(10, 11, 7, 10, 11, 7);
f(13, 14, 15, 13, 14, 15);
f(16, 13, 15, 16, 13, 15);
f(17, 13, 16, 17, 13, 16);
f(18, 17, 16, 18, 17, 16);
f(19, 18, 16, 19, 18, 16);
f(16, 20, 19, 16, 20, 19);
f(14, 21, 22, 14, 21, 22);
f(15, 14, 22, 15, 14, 22);
f(21, 23, 24, 21, 23, 24);
f(22, 21, 24, 22, 21, 24);
f(20, 25, 19, 20, 25, 19);
f(23, 25, 20, 23, 25, 20);
f(20, 24, 23, 20, 24, 23);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 151
//Mani (Mani)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Mani extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Mani(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-30.763779, -12.222162, 106.870758);
v(-30.481827, -15.205736, 106.974152);
v(-28.333435, -13.392916, 107.689133);
v(-26.336014, -11.075263, 120.292587);
v(-28.616714, -11.525187, 124.524261);
v(-28.876495, -7.472586, 124.771347);
v(-29.226532, -9.907021, 105.100525);
v(-28.540604, -7.101753, 104.610535);
v(-31.339447, -8.165182, 105.295837);
v(-27.939377, -14.268046, 120.540283);
v(-24.530655, -14.407897, 125.849243);
v(-19.386856, -10.922567, 123.671204);
v(-28.427383, -6.250702, 113.882904);
v(-26.706711, -6.136117, 120.948578);
v(-26.75502, -3.682333, 124.572662);
v(-28.418213, -5.532195, 114.636536);
v(-28.720245, -2.896857, 114.634476);
v(-23.262039, -3.554271, 122.155899);
v(-26.490021, -2.85261, 114.056824);
v(-29.53566, -5.643341, 105.810593);
v(-26.900162, -4.199118, 106.406723);
v(-28.455109, -2.561261, 105.781921);
v(-25.944031, -0.995741, 111.223328);
v(-24.356827, 1.201812, 111.285461);
v(-25.528839, -0.591526, 122.84993);
v(-23.439148, 1.185729, 125.102325);
v(-17.524017, -11.988872, 114.235397);
v(-20.204376, -13.462962, 114.666046);
v(-17.901199, -14.493224, 113.348297);
v(-17.902878, -15.073396, 121.35022);
v(-20.39325, -13.881642, 119.072983);
v(-18.579269, -13.929374, 128.375061);
v(-15.896072, -11.967161, 129.762955);
v(-22.21312, -5.920768, 136.508179);
v(-20.988586, -2.871413, 136.150589);
v(-17.113327, -3.867141, 135.53952);
v(-18.83577, -8.399372, 135.786896);
v(33.843399, -11.921849, 80.512535);
v(34.102478, -8.334754, 80.369041);
v(31.851151, -9.505511, 81.596992);
v(35.882389, -7.187857, 93.149063);
v(38.86327, -7.637782, 96.920387);
v(39.16201, -3.58518, 97.118614);
v(34.39592, -4.277776, 78.718102);
v(32.293289, -6.282585, 78.754364);
v(31.549576, -2.88746, 78.198006);
v(37.504402, -10.38064, 93.114563);
v(35.069359, -10.520489, 98.934799);
v(29.625496, -7.035161, 97.683052);
v(36.828957, -2.097954, 86.473587);
v(37.038258, 0.205074, 97.291336);
v(36.361362, -2.248711, 93.73069);
v(36.950794, -1.644788, 87.217369);
v(37.247875, 0.99055, 87.16288);
v(33.178673, 0.333136, 95.517853);
v(34.951218, 1.034799, 86.981277);
v(32.708908, -1.755933, 79.538246);
v(30.21698, -0.311711, 80.582977);
v(31.69104, 1.604165, 79.112068);
v(28.559479, 5.089218, 85.829231);
v(30.111755, 2.891663, 85.492432);
v(35.531548, 3.295881, 95.807709);
v(33.864731, 5.073136, 98.388748);
v(28.866875, -9.575556, 88.672737);
v(26.152458, -8.101465, 88.714066);
v(26.369865, -10.605818, 87.774963);
v(27.761024, -11.185989, 95.655014);
v(29.818123, -9.994236, 92.979935);
v(29.646988, -10.041969, 102.455688);
v(27.245567, -8.079754, 104.288422);
v(33.369904, 1.015995, 109.69471);
v(34.637959, -2.033361, 109.834221);
v(29.447411, 0.020266, 109.765854);
v(31.186646, -4.511965, 109.710373);
uv(0.372873, 0.112214);
uv(0.396862, 0.110954);
uv(0.382834, 0.117983);
uv(0.373135, 0.221099);
uv(0.379723, 0.25486);
uv(0.347411, 0.259692);
uv(0.462172, 0.007718);
uv(0.417469, 0.005591);
uv(0.435104, 0.010723);
uv(0.501461, 0.138394);
uv(0.451098, 0.179895);
uv(0.458543, 0.008722);
uv(0.434553, 0.009982);
uv(0.460583, 0.118623);
uv(0.398903, 0.220855);
uv(0.403764, 0.263508);
uv(0.374291, 0.248413);
uv(0.329945, 0.172868);
uv(0.339242, 0.102376);
uv(0.330235, 0.097604);
uv(0.334004, 0.229846);
uv(0.316888, 0.26075);
uv(0.353067, 0.099582);
uv(0.324716, 0.179441);
uv(0.30359, 0.181272);
uv(0.314158, 0.241379);
uv(0.302828, 0.176652);
uv(0.319389, 0.10829);
uv(0.308232, 0.114104);
uv(0.294663, 0.110221);
uv(0.473979, 0.119911);
uv(0.464714, 0.004338);
uv(0.421713, 0.007474);
uv(0.467357, 0.001766);
uv(0.425597, 0.002629);
uv(0.459676, 0.163421);
uv(0.285947, 0.155137);
uv(0.290898, 0.249045);
uv(0.268375, 0.157178);
uv(0.278238, 0.26843);
uv(0.376191, 0.171682);
uv(0.388311, 0.174116);
uv(0.395641, 0.162782);
uv(0.459869, 0.072707);
uv(0.449581, 0.008678);
uv(0.44225, 0.020011);
uv(0.448711, 0.055205);
uv(0.401708, 0.284183);
uv(0.40593, 0.226812);
uv(0.394772, 0.20931);
uv(0.386957, 0.296736);
uv(0.34324, 0.355293);
uv(0.294534, 0.249093);
uv(0.326096, 0.348933);
uv(0.362601, 0.347747);
uv(0.414835, 0.109833);
uv(0.385248, 0.108783);
uv(0.394904, 0.117767);
uv(0.375788, 0.202285);
uv(0.379499, 0.229877);
uv(0.346072, 0.231327);
uv(0.465745, 0.118991);
uv(0.436029, 0.148034);
uv(0.441742, 0.013411);
uv(0.458278, 0.013677);
uv(0.430274, 0.009606);
uv(0.432935, 0.011662);
uv(0.462522, 0.012712);
uv(0.44981, 0.104911);
uv(0.402122, 0.202032);
uv(0.403276, 0.244614);
uv(0.374528, 0.235456);
uv(0.333805, 0.153445);
uv(0.340317, 0.0929);
uv(0.351785, 0.096705);
uv(0.314809, 0.232591);
uv(0.335049, 0.20654);
uv(0.368321, 0.09697);
uv(0.330067, 0.158887);
uv(0.30833, 0.158489);
uv(0.313753, 0.219615);
uv(0.307965, 0.15716);
uv(0.330984, 0.102705);
uv(0.319072, 0.110349);
uv(0.303269, 0.099587);
uv(0.458589, 0.015968);
uv(0.457672, 0.07215);
uv(0.430874, 0.01285);
uv(0.437521, 0.017619);
uv(0.455647, 0.015155);
uv(0.452313, 0.090623);
uv(0.289316, 0.221736);
uv(0.29265, 0.146267);
uv(0.274524, 0.148731);
uv(0.274656, 0.240619);
uv(0.395482, 0.169535);
uv(0.383323, 0.169837);
uv(0.40398, 0.162967);
uv(0.456763, 0.069846);
uv(0.446933, 0.050274);
uv(0.44348, 0.018762);
uv(0.451978, 0.012194);
uv(0.408765, 0.220619);
uv(0.399329, 0.270374);
uv(0.398935, 0.201047);
uv(0.383144, 0.283783);
uv(0.308121, 0.323336);
uv(0.333272, 0.324357);
uv(0.316334, 0.323857);
uv(0.353716, 0.323451);
f(0, 1, 2, 0, 1, 2);
f(0, 3, 4, 0, 3, 4);
f(3, 5, 4, 3, 5, 4);
f(6, 7, 8, 6, 7, 8);
f(3, 6, 8, 9, 6, 8);
f(5, 3, 8, 10, 9, 8);
f(1, 0, 9, 11, 12, 13);
f(0, 4, 9, 0, 4, 14);
f(9, 3, 2, 14, 3, 2);
f(2, 1, 9, 2, 1, 14);
f(3, 0, 2, 3, 0, 2);
f(9, 4, 10, 14, 4, 15);
f(9, 10, 11, 14, 15, 16);
f(3, 9, 11, 3, 14, 16);
f(12, 5, 8, 17, 5, 18);
f(8, 7, 12, 18, 19, 17);
f(13, 14, 5, 20, 21, 5);
f(12, 13, 5, 17, 20, 5);
f(12, 7, 6, 17, 19, 22);
f(13, 12, 6, 20, 17, 22);
f(3, 13, 6, 3, 20, 22);
f(13, 15, 16, 20, 23, 24);
f(16, 14, 13, 24, 21, 20);
f(13, 3, 17, 20, 3, 25);
f(15, 13, 17, 23, 20, 25);
f(17, 18, 15, 25, 26, 23);
f(19, 15, 18, 27, 23, 26);
f(18, 20, 19, 26, 28, 27);
f(21, 19, 20, 29, 27, 28);
f(21, 16, 15, 29, 24, 23);
f(15, 19, 21, 30, 31, 32);
f(18, 21, 20, 26, 29, 28);
f(22, 23, 24, 33, 34, 35);
f(22, 24, 17, 36, 37, 25);
f(17, 24, 14, 25, 37, 21);
f(18, 17, 14, 26, 25, 21);
f(18, 14, 16, 26, 21, 24);
f(16, 21, 18, 24, 29, 26);
f(24, 23, 25, 37, 38, 39);
f(22, 25, 23, 36, 39, 38);
f(22, 17, 25, 36, 25, 39);
f(26, 27, 28, 40, 41, 42);
f(29, 28, 27, 43, 44, 45);
f(27, 30, 29, 45, 46, 43);
f(31, 29, 30, 47, 48, 49);
f(30, 11, 31, 49, 16, 47);
f(11, 10, 31, 16, 15, 47);
f(26, 11, 30, 40, 16, 49);
f(30, 27, 26, 49, 41, 40);
f(32, 28, 29, 50, 42, 48);
f(32, 26, 28, 50, 40, 42);
f(26, 32, 11, 40, 50, 16);
f(33, 5, 14, 51, 5, 21);
f(34, 33, 14, 52, 51, 21);
f(24, 25, 34, 37, 39, 52);
f(24, 34, 14, 37, 52, 21);
f(25, 35, 34, 39, 53, 52);
f(5, 33, 36, 5, 51, 54);
f(4, 5, 36, 4, 5, 54);
f(10, 4, 36, 15, 4, 54);
f(31, 10, 36, 47, 15, 54);
f(32, 31, 36, 50, 47, 54);
f(11, 32, 35, 16, 50, 53);
f(17, 11, 35, 25, 16, 53);
f(25, 17, 35, 39, 25, 53);
f(32, 36, 35, 50, 54, 53);
f(3, 11, 17, 3, 16, 25);
f(29, 31, 32, 48, 47, 50);
f(37, 38, 39, 55, 56, 57);
f(40, 38, 41, 58, 56, 59);
f(42, 40, 41, 60, 58, 59);
f(40, 42, 43, 61, 62, 63);
f(44, 40, 43, 64, 61, 63);
f(45, 44, 43, 65, 64, 63);
f(38, 37, 46, 66, 67, 68);
f(41, 38, 46, 59, 56, 69);
f(46, 37, 39, 69, 55, 57);
f(39, 40, 46, 57, 58, 69);
f(38, 40, 39, 56, 58, 57);
f(41, 46, 47, 59, 69, 70);
f(47, 46, 48, 70, 69, 71);
f(46, 40, 48, 69, 58, 71);
f(49, 45, 43, 72, 73, 74);
f(43, 42, 49, 74, 60, 72);
f(50, 51, 42, 75, 76, 60);
f(51, 49, 42, 76, 72, 60);
f(51, 40, 44, 76, 58, 77);
f(49, 51, 44, 72, 76, 77);
f(45, 49, 44, 73, 72, 77);
f(52, 51, 53, 78, 76, 79);
f(50, 53, 51, 75, 79, 76);
f(40, 51, 54, 58, 76, 80);
f(51, 52, 54, 76, 78, 80);
f(55, 54, 52, 81, 80, 78);
f(52, 56, 55, 78, 82, 81);
f(57, 55, 56, 83, 81, 82);
f(56, 58, 57, 82, 84, 83);
f(53, 58, 52, 79, 84, 78);
f(56, 52, 58, 85, 86, 87);
f(58, 55, 57, 84, 81, 83);
f(59, 60, 61, 88, 89, 90);
f(61, 60, 54, 91, 92, 80);
f(61, 54, 50, 91, 80, 75);
f(54, 55, 50, 80, 81, 75);
f(55, 58, 53, 81, 84, 79);
f(53, 50, 55, 79, 75, 81);
f(59, 61, 62, 93, 91, 94);
f(62, 60, 59, 94, 92, 93);
f(54, 60, 62, 80, 92, 94);
f(63, 64, 65, 95, 96, 97);
f(66, 67, 63, 98, 99, 100);
f(63, 65, 66, 100, 101, 98);
f(66, 68, 67, 102, 103, 104);
f(48, 67, 68, 71, 104, 103);
f(47, 48, 68, 70, 71, 103);
f(48, 64, 67, 71, 96, 104);
f(63, 67, 64, 95, 104, 96);
f(65, 69, 66, 97, 105, 102);
f(64, 69, 65, 96, 105, 97);
f(69, 64, 48, 105, 96, 71);
f(70, 62, 61, 106, 94, 91);
f(70, 61, 50, 106, 91, 75);
f(71, 70, 50, 107, 106, 75);
f(42, 71, 50, 60, 107, 75);
f(72, 62, 70, 108, 94, 106);
f(71, 42, 73, 107, 60, 109);
f(42, 41, 73, 60, 59, 109);
f(41, 47, 73, 59, 70, 109);
f(47, 68, 73, 70, 103, 109);
f(68, 69, 73, 103, 105, 109);
f(54, 62, 72, 80, 94, 108);
f(48, 54, 72, 71, 80, 108);
f(69, 48, 72, 105, 71, 108);
f(73, 69, 72, 109, 105, 108);
f(48, 40, 54, 71, 58, 80);
f(68, 66, 69, 103, 102, 105);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 152
//Maniche (Maniche)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Maniche extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Maniche(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-18.583298, -9.230743, 134.670166);
v(-24.821381, -6.094774, 133.250122);
v(-35.462845, 1.653035, 147.516281);
v(-32.033539, -2.483596, 148.424164);
v(-44.177536, 9.666457, 161.984467);
v(-32.021652, 7.365752, 156.65918);
v(-27.629883, 9.646152, 158.896912);
v(-27.972565, 12.236178, 160.373444);
v(-39.298477, 18.079206, 161.591888);
v(-34.707474, 2.526339, 164.095795);
v(-31.126419, 2.683784, 160.025604);
v(-29.135468, 15.387876, 164.006531);
v(-41.540695, 14.624039, 164.252182);
v(-43.028671, 14.875978, 162.237274);
v(-26.482208, -0.434909, 149.555099);
v(-22.481316, 4.619256, 147.881271);
v(-16.071045, -3.496495, 134.851456);
v(-25.14817, 8.45355, 149.557114);
v(-29.303787, 11.076497, 148.636246);
v(-40.61351, 15.372557, 159.495255);
v(-41.920822, 15.104349, 159.090454);
v(-33.804077, 9.866578, 146.138382);
v(-42.067764, 13.805022, 158.165039);
v(-36.402527, 5.792897, 145.694885);
v(-41.286514, 11.660621, 163.192551);
v(-41.111343, 12.820369, 164.588394);
v(-21.307083, -2.236683, 135.033859);
v(35.823235, -2.34725, 108.550705);
v(30.720741, -6.011669, 108.426849);
v(32.216812, -6.586464, 132.825714);
v(26.376091, -8.88624, 132.314713);
v(28.931503, -7.658397, 144.295654);
v(20.946571, -4.921984, 143.837189);
v(19.184151, -1.515041, 152.193146);
v(27.730354, 4.737623, 144.166901);
v(22.117882, 4.504004, 152.449814);
v(30.060478, -7.964758, 153.144684);
v(22.130348, -6.855353, 152.450928);
v(29.422615, 5.646687, 153.720978);
v(33.409119, -0.994952, 144.536133);
v(32.73851, 0.439392, 153.536346);
v(22.45826, -4.683407, 130.503601);
v(22.392723, 1.588067, 128.263565);
v(28.149422, 0.688873, 108.48233);
v(24.408379, 3.936056, 132.142563);
v(30.271629, 4.557018, 132.655518);
v(34.609959, 1.558558, 133.035095);
v(35.380241, -3.231601, 133.102478);
v(31.181648, -4.537921, 153.533661);
v(33.948517, 2.16098, 108.411194);
v(-35.775467, 7.70967, 168.309875);
v(-33.763275, 12.036954, 168.338898);
uv(0.104001, 0.024617);
uv(0.024766, 0.021729);
uv(0.021386, 0.450471);
uv(0.064209, 0.463781);
uv(0.008283, 0.615658);
uv(0.160079, 0.607032);
uv(0.183147, 0.965961);
uv(0.162262, 0.973078);
uv(0.06921, 0.609902);
uv(0.072951, 0.927529);
uv(0.146986, 0.936421);
uv(0.108874, 0.987133);
uv(0.04121, 0.648903);
uv(0.022629, 0.619364);
uv(0.133531, 0.480361);
uv(0.183492, 0.455822);
uv(0.135912, 0.024986);
uv(0.15019, 0.48039);
uv(0.098297, 0.46689);
uv(0.052789, 0.579165);
uv(0.036464, 0.57323);
uv(0.0421, 0.43027);
uv(0.078548, 0.559664);
uv(0.009652, 0.423769);
uv(0.044384, 0.633369);
uv(0.046572, 0.653832);
uv(0.069404, 0.025357);
uv(0.125152, 0.023741);
uv(0.061435, 0.021925);
uv(0.13267, 0.48285);
uv(0.059734, 0.475358);
uv(0.121675, 0.615342);
uv(0.021964, 0.608621);
uv(0.004836, 0.938517);
uv(0.106676, 0.613455);
uv(0.04147, 0.94228);
uv(0.140653, 0.952467);
uv(0.041626, 0.942296);
uv(0.132687, 0.960916);
uv(0.177589, 0.618868);
uv(0.174094, 0.958209);
uv(0.010811, 0.448807);
uv(0.009992, 0.415967);
uv(0.029326, 0.022739);
uv(0.035163, 0.472834);
uv(0.108379, 0.480355);
uv(0.162554, 0.485919);
uv(0.172173, 0.486907);
uv(0.154653, 0.95817);
uv(0.101742, 0.021696);
uv(0.01278, 0.94687);
uv(0.024975, 0.968843);
f(0, 1, 2, 0, 1, 2);
f(0, 2, 3, 0, 2, 3);
f(3, 2, 4, 3, 2, 4);
f(3, 4, 5, 3, 4, 5);
f(6, 7, 8, 6, 7, 8);
f(8, 5, 6, 8, 5, 6);
f(4, 9, 10, 4, 9, 10);
f(5, 4, 10, 5, 4, 10);
f(5, 10, 6, 5, 10, 6);
f(8, 7, 11, 8, 7, 11);
f(12, 13, 8, 12, 13, 8);
f(14, 5, 8, 14, 5, 8);
f(14, 3, 5, 14, 3, 5);
f(0, 3, 14, 0, 3, 14);
f(15, 14, 8, 15, 14, 8);
f(16, 14, 15, 16, 14, 15);
f(16, 0, 14, 16, 0, 14);
f(17, 15, 8, 17, 15, 8);
f(16, 15, 17, 16, 15, 17);
f(8, 18, 17, 8, 18, 17);
f(19, 18, 8, 19, 18, 8);
f(18, 19, 20, 18, 19, 20);
f(20, 21, 18, 20, 21, 18);
f(21, 20, 22, 21, 20, 22);
f(22, 23, 21, 22, 23, 21);
f(23, 22, 4, 23, 22, 4);
f(2, 23, 4, 2, 23, 4);
f(4, 13, 24, 4, 13, 24);
f(24, 13, 25, 24, 13, 25);
f(25, 13, 12, 25, 13, 12);
f(1, 23, 2, 1, 23, 2);
f(1, 21, 23, 1, 21, 23);
f(1, 26, 21, 1, 26, 21);
f(26, 18, 21, 26, 18, 21);
f(16, 17, 18, 16, 17, 18);
f(18, 26, 16, 18, 26, 16);
f(27, 28, 29, 27, 28, 29);
f(29, 28, 30, 29, 28, 30);
f(29, 30, 31, 29, 30, 31);
f(31, 30, 32, 31, 30, 32);
f(33, 32, 34, 33, 32, 34);
f(34, 35, 33, 34, 35, 33);
f(36, 31, 37, 36, 31, 37);
f(31, 32, 37, 31, 32, 37);
f(37, 32, 33, 37, 32, 33);
f(35, 34, 38, 35, 34, 38);
f(34, 39, 40, 34, 39, 40);
f(40, 38, 34, 40, 38, 34);
f(32, 41, 34, 32, 41, 34);
f(30, 41, 32, 30, 41, 32);
f(30, 28, 41, 30, 28, 41);
f(41, 42, 34, 41, 42, 34);
f(41, 43, 42, 41, 43, 42);
f(28, 43, 41, 28, 43, 41);
f(42, 44, 34, 42, 44, 34);
f(42, 43, 44, 42, 43, 44);
f(45, 34, 44, 45, 34, 44);
f(34, 45, 39, 34, 45, 39);
f(45, 46, 39, 45, 46, 39);
f(46, 47, 39, 46, 47, 39);
f(39, 47, 31, 39, 47, 31);
f(47, 29, 31, 47, 29, 31);
f(39, 31, 36, 39, 31, 36);
f(48, 39, 36, 48, 39, 36);
f(40, 39, 48, 40, 39, 48);
f(47, 27, 29, 47, 27, 29);
f(46, 27, 47, 46, 27, 47);
f(49, 27, 46, 49, 27, 46);
f(45, 49, 46, 45, 49, 46);
f(43, 49, 45, 43, 49, 45);
f(45, 44, 43, 45, 44, 43);
f(24, 9, 4, 24, 9, 4);
f(24, 25, 50, 24, 25, 50);
f(50, 9, 24, 50, 9, 24);
f(25, 12, 51, 25, 12, 51);
f(51, 50, 25, 51, 50, 25);
f(8, 11, 51, 8, 11, 51);
f(51, 12, 8, 51, 12, 8);
f(22, 13, 4, 22, 13, 4);
f(20, 13, 22, 20, 13, 22);
f(19, 13, 20, 19, 13, 20);
f(8, 13, 19, 8, 13, 19);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 153
//MochiAd (MochiAd)
package {
import flash.utils.*;
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.system.*;
public class MochiAd {
public static function getVersion():String{
return ("2.2");
}
public static function showTimedAd(_arg1:Object):void{
MochiAd.showInterLevelAd(_arg1);
}
public static function _allowDomains(_arg1:String):String{
var _local2:String;
_local2 = _arg1.split("/")[2].split(":")[0];
Security.allowDomain("*");
Security.allowDomain(_local2);
Security.allowInsecureDomain("*");
Security.allowInsecureDomain(_local2);
return (_local2);
}
public static function load(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var depth:Number;
var mc:MovieClip;
var wh:Array;
var lv:URLVariables;
var k:String;
var server:String;
var hostname:String;
var lc:LocalConnection;
var name:String;
var loader:Loader;
var f:Function;
var g:Function;
var req:URLRequest;
var v:Object;
var options = _arg1;
DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
if (!MochiAd._isNetworkAvailable()){
return (null);
};
try {
if (clip._mochiad_loaded){
return (null);
};
} catch(e:Error) {
throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic."));
};
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, "_mochiad", depth);
wh = MochiAd._getRes(options, clip);
options.res = ((wh[0] + "x") + wh[1]);
options.server = (options.server + options.id);
delete options.id;
clip._mochiad_loaded = true;
if (clip.loaderInfo.loaderURL.indexOf("http") == 0){
options.as3_swf = clip.loaderInfo.loaderURL;
};
lv = new URLVariables();
for (k in options) {
v = options[k];
if (!(v is Function)){
lv[k] = v;
};
};
server = lv.server;
delete lv.server;
hostname = _allowDomains(server);
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.lc = lc;
lv.lc = name;
lv.st = getTimer();
loader = new Loader();
f = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
mc._mochiad_ctr_failed = true;
};
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, f);
g = function (_arg1:Object):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
MochiAd.unload(clip);
};
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g);
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader.load(req);
mc.addChild(loader);
mc._mochiad_ctr = loader;
return (mc);
}
public static function sendHighScore(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["sendHighScore", _arg1], _arg2, _arg3);
return (true);
}
public static function _parseOptions(_arg1:Object, _arg2:Object):Object{
var _local3:Object;
var _local4:String;
var _local5:Array;
var _local6:Number;
var _local7:Array;
_local3 = {};
for (_local4 in _arg2) {
_local3[_local4] = _arg2[_local4];
};
if (_arg1){
for (_local4 in _arg1) {
_local3[_local4] = _arg1[_local4];
};
};
if (_local3.clip == undefined){
throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite."));
};
_arg1 = _local3.clip.loaderInfo.parameters.mochiad_options;
if (_arg1){
_local5 = _arg1.split("&");
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = _local5[_local6].split("=");
_local3[unescape(_local7[0])] = unescape(_local7[1]);
_local6++;
};
};
if (_local3.id == "test"){
trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!");
};
return (_local3);
}
public static function _isNetworkAvailable():Boolean{
return (!((Security.sandboxType == "localWithFile")));
}
public static function _cleanup(_arg1:Object):void{
var idx:Number;
var k:String;
var lc:LocalConnection;
var f:Function;
var mc = _arg1;
if (("lc" in mc)){
lc = mc.lc;
f = function ():void{
try {
lc.client = null;
lc.close();
} catch(e:Error) {
};
};
setTimeout(f, 0);
};
idx = DisplayObjectContainer(mc).numChildren;
while (idx > 0) {
idx = (idx - 1);
DisplayObjectContainer(mc).removeChildAt(idx);
};
for (k in mc) {
delete mc[k];
};
}
public static function unload(_arg1:Object):Boolean{
if (((_arg1.clip) && (_arg1.clip._mochiad))){
_arg1 = _arg1.clip;
};
if (!_arg1._mochiad){
return (false);
};
if (_arg1._mochiad.onUnload){
_arg1._mochiad.onUnload();
};
delete _arg1._mochiad_loaded;
delete _arg1._mochiad;
return (true);
}
public static function showInterLevelAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
MochiAd._cleanup(mc);
options.ad_finished();
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
mc.unloadAd = function ():void{
MochiAd.unload(clip);
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = (_arg1 - 250);
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Number;
var _local3:Boolean;
var _local4:Number;
if (!this.parent){
delete this.onEnterFrame;
delete this.fadeFunction;
return;
};
_local1 = this.parent._mochiad_ctr;
_local2 = (getTimer() - this.started);
_local3 = false;
if (!chk.showing){
_local4 = _local1.loaderInfo.bytesTotal;
if ((((_local4 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local2 > chk.ad_timeout){
_local3 = true;
};
};
};
if ((((_local2 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local3 = true;
};
if (_local3){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function _getRes(_arg1:Object, _arg2:Object):Array{
var _local3:Object;
var _local4:Number;
var _local5:Number;
var _local6:Array;
_local3 = _arg2.getBounds(_arg2.root);
_local4 = 0;
_local5 = 0;
if (typeof(_arg1.res) != "undefined"){
_local6 = _arg1.res.split("x");
_local4 = parseFloat(_local6[0]);
_local5 = parseFloat(_local6[1]);
} else {
_local4 = (_local3.xMax - _local3.xMin);
_local5 = (_local3.yMax - _local3.yMin);
};
if ((((_local4 == 0)) || ((_local5 == 0)))){
_local4 = _arg2.stage.stageWidth;
_local5 = _arg2.stage.stageHeight;
};
return ([_local4, _local5]);
}
public static function createEmptyMovieClip(_arg1:Object, _arg2:String, _arg3:Number):MovieClip{
var _local4:MovieClip;
_local4 = new MovieClip();
if (((false) && (_arg3))){
_arg1.addChildAt(_local4, _arg3);
} else {
_arg1.addChild(_local4);
};
_arg1[_arg2] = _local4;
_local4["_name"] = _arg2;
return (_local4);
}
public static function _loadCommunicator(_arg1:Object):MovieClip{
var DEFAULTS:Object;
var clip:Object;
var clipname:String;
var server:String;
var depth:Number;
var mc:MovieClip;
var lv:URLVariables;
var k:String;
var lc:LocalConnection;
var name:String;
var req:URLRequest;
var loader:Loader;
var options = _arg1;
DEFAULTS = {com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = MochiAd._parseOptions(options, DEFAULTS);
options.swfv = 9;
options.mav = MochiAd.getVersion();
clip = options.clip;
clipname = ("_mochiad_com_" + options.id);
if (!MochiAd._isNetworkAvailable()){
return (null);
};
if (clip[clipname]){
return (clip[clipname]);
};
server = (options.com_server + options.id);
MochiAd._allowDomains(server);
delete options.id;
delete options.com_server;
depth = options.depth;
delete options.depth;
mc = createEmptyMovieClip(clip, clipname, depth);
lv = new URLVariables();
for (k in options) {
lv[k] = options[k];
};
lc = new LocalConnection();
lc.client = mc;
name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_");
lc.allowDomain("*", "localhost");
lc.allowInsecureDomain("*", "localhost");
lc.connect(name);
mc.name = name;
mc.lc = lc;
lv.lc = name;
mc._id = 0;
mc._queue = [];
mc.rpcResult = function (_arg1:Object):void{
var _local3:Array;
var _local4:Array;
var _local5:Number;
var _local6:Object;
var _local7:Object;
_arg1 = parseInt(_arg1.toString());
_local3 = mc._callbacks[_arg1];
if (typeof(_local3) == "undefined"){
return;
};
delete mc._callbacks[_arg1];
_local4 = [];
_local5 = 2;
while (_local5 < _local3.length) {
_local4.push(_local3[_local5]);
_local5++;
};
_local5 = 1;
while (_local5 < arguments.length) {
_local4.push(arguments[_local5]);
_local5++;
};
_local6 = _local3[1];
_local7 = _local3[0];
if (((_local7) && ((typeof(_local6) == "string")))){
_local6 = _local7[_local6];
};
if (typeof(_local6) == "function"){
_local6.apply(_local7, _local4);
};
};
mc._didConnect = function (_arg1:String):void{
var _local2:Array;
var _local3:Function;
var _local4:Number;
var _local5:Array;
mc._endpoint = _arg1;
_local2 = mc._queue;
delete mc._queue;
_local3 = mc.doSend;
_local4 = 0;
while (_local4 < _local2.length) {
_local5 = _local2[_local4];
_local3.apply(this, _local5);
_local4++;
};
};
mc.doSend = function (_arg1:Array, _arg2:Object, _arg3:Object):void{
var _local5:Number;
var _local6:LocalConnection;
var _local7:Array;
var _local8:Number;
if (mc._endpoint == null){
_local7 = [];
_local8 = 0;
while (_local8 < arguments.length) {
_local7.push(arguments[_local8]);
_local8++;
};
mc._queue.push(_local7);
return;
};
mc._id = (mc._id + 1);
_local5 = mc._id;
mc._callbacks[_local5] = [_arg2, ((_arg3) || (_arg2))];
_local6 = new LocalConnection();
_local6.send(mc._endpoint, "rpc", _local5, _arg1);
};
mc._callbacks = {};
mc._callbacks[0] = [mc, "_didConnect"];
lv.st = getTimer();
req = new URLRequest((server + ".swf"));
req.contentType = "application/x-www-form-urlencoded";
req.method = URLRequestMethod.POST;
req.data = lv;
loader = new Loader();
loader.load(req);
mc.addChild(loader);
mc._mochiad_com = loader;
return (mc);
}
public static function showPreGameAd(_arg1:Object):void{
var DEFAULTS:Object;
var clip:Object;
var ad_msec:Number;
var ad_timeout:Number;
var fadeout_time:Number;
var mc:MovieClip;
var wh:Array;
var w:Number;
var h:Number;
var chk:MovieClip;
var bar:MovieClip;
var bar_color:Number;
var bar_background:Number;
var bar_outline:Number;
var backing_mc:MovieClip;
var backing:Object;
var inside_mc:MovieClip;
var inside:Object;
var outline_mc:MovieClip;
var outline:Object;
var complete:Boolean;
var unloaded:Boolean;
var f:Function;
var r:MovieClip;
var options = _arg1;
DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, ad_started:function ():void{
if ((this.clip is MovieClip)){
this.clip.stop();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}, ad_finished:function ():void{
if ((this.clip is MovieClip)){
this.clip.play();
} else {
throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers."));
};
}};
options = MochiAd._parseOptions(options, DEFAULTS);
clip = options.clip;
ad_msec = 11000;
ad_timeout = options.ad_timeout;
delete options.ad_timeout;
fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!MochiAd.load(options)){
options.ad_finished();
return;
};
options.ad_started();
mc = clip._mochiad;
mc["onUnload"] = function ():void{
var fn:Function;
MochiAd._cleanup(mc);
fn = function ():void{
options.ad_finished();
};
setTimeout(fn, 100);
};
wh = MochiAd._getRes(options, clip);
w = wh[0];
h = wh[1];
mc.x = (w * 0.5);
mc.y = (h * 0.5);
chk = createEmptyMovieClip(mc, "_mochiad_wait", 3);
chk.x = (w * -0.5);
chk.y = (h * -0.5);
bar = createEmptyMovieClip(chk, "_mochiad_bar", 4);
bar.x = 10;
bar.y = (h - 20);
bar_color = options.color;
delete options.color;
bar_background = options.background;
delete options.background;
bar_outline = options.outline;
delete options.outline;
backing_mc = createEmptyMovieClip(bar, "_outline", 1);
backing = backing_mc.graphics;
backing.beginFill(bar_background);
backing.moveTo(0, 0);
backing.lineTo((w - 20), 0);
backing.lineTo((w - 20), 10);
backing.lineTo(0, 10);
backing.lineTo(0, 0);
backing.endFill();
inside_mc = createEmptyMovieClip(bar, "_inside", 2);
inside = inside_mc.graphics;
inside.beginFill(bar_color);
inside.moveTo(0, 0);
inside.lineTo((w - 20), 0);
inside.lineTo((w - 20), 10);
inside.lineTo(0, 10);
inside.lineTo(0, 0);
inside.endFill();
inside_mc.scaleX = 0;
outline_mc = createEmptyMovieClip(bar, "_outline", 3);
outline = outline_mc.graphics;
outline.lineStyle(0, bar_outline, 100);
outline.moveTo(0, 0);
outline.lineTo((w - 20), 0);
outline.lineTo((w - 20), 10);
outline.lineTo(0, 10);
outline.lineTo(0, 0);
chk.ad_msec = ad_msec;
chk.ad_timeout = ad_timeout;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function ():void{
var _local1:Number;
_local1 = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time)));
if (_local1 > 0){
this.parent.alpha = (_local1 * 0.01);
} else {
MochiAd.unload(clip);
delete this["onEnterFrame"];
};
};
complete = false;
unloaded = false;
f = function (_arg1:Event):void{
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
complete = true;
if (unloaded){
MochiAd.unload(clip);
};
};
clip.loaderInfo.addEventListener(Event.COMPLETE, f);
if ((clip.root is MovieClip)){
r = (clip.root as MovieClip);
if (r.framesLoaded >= r.totalFrames){
complete = true;
};
};
mc.unloadAd = function ():void{
unloaded = true;
if (complete){
MochiAd.unload(clip);
};
};
mc.adjustProgress = function (_arg1:Number):void{
var _local2:Object;
_local2 = mc._mochiad_wait;
_local2.server_control = true;
_local2.showing = true;
_local2.started = getTimer();
_local2.ad_msec = _arg1;
};
chk["onEnterFrame"] = function ():void{
var _local1:Object;
var _local2:Object;
var _local3:Number;
var _local4:Boolean;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
var _local9:Object;
var _local10:Number;
var _local11:Number;
if (!this.parent.parent){
delete this["onEnterFrame"];
return;
};
_local1 = this.parent.parent.root;
_local2 = this.parent._mochiad_ctr;
_local3 = (getTimer() - this.started);
_local4 = false;
_local5 = _local1.loaderInfo.bytesTotal;
_local6 = _local1.loaderInfo.bytesLoaded;
if (complete){
_local6 = Math.max(1, _local6);
_local5 = _local6;
};
_local7 = ((100 * _local6) / _local5);
_local8 = ((100 * _local3) / chk.ad_msec);
_local9 = this._mochiad_bar._inside;
_local10 = Math.min(100, Math.min(((_local7) || (0)), _local8));
_local10 = Math.max(this.last_pcnt, _local10);
this.last_pcnt = _local10;
_local9.scaleX = (_local10 * 0.01);
if (!chk.showing){
_local11 = _local2.loaderInfo.bytesTotal;
if ((((_local11 > 0)) || (("number" == "undefined")))){
chk.showing = true;
chk.started = getTimer();
} else {
if (_local3 > chk.ad_timeout){
_local4 = true;
};
};
};
if ((((_local3 > chk.ad_msec)) || (this.parent._mochiad_ctr_failed))){
_local4 = true;
};
if (((complete) && (_local4))){
if (this.server_control){
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
};
};
};
doOnEnterFrame(chk);
}
public static function showPreloaderAd(_arg1:Object):void{
MochiAd.showPreGameAd(_arg1);
}
public static function fetchHighScores(_arg1:Object, _arg2:Object, _arg3:Object=null):Boolean{
var _local4:MovieClip;
_local4 = MochiAd._loadCommunicator({clip:_arg1.clip, id:_arg1.id});
if (!_local4){
return (false);
};
_local4.doSend(["fetchHighScores", _arg1], _arg2, _arg3);
return (true);
}
public static function doOnEnterFrame(_arg1:MovieClip):void{
var f:Function;
var mc = _arg1;
f = function (_arg1:Object):void{
if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){
mc.onEnterFrame();
} else {
_arg1.target.removeEventListener(_arg1.type, arguments.callee);
};
};
mc.addEventListener(Event.ENTER_FRAME, f);
}
}
}//package
Section 154
//Occhiali1 (Occhiali1)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Occhiali1 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Occhiali1(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(8.0425, -24.858309, 202.582062);
v(3.913345, -25.963251, 206.824158);
v(2.111851, -25.904041, 202.582062);
v(8.133641, -25.375198, 208.581284);
v(12.300548, -24.48436, 206.824158);
v(13.973146, -23.812576, 202.582062);
v(12.171653, -23.753366, 198.339966);
v(7.951358, -24.341419, 196.58284);
v(3.784452, -25.232258, 198.339966);
v(4.042246, -26.694286, 206.759216);
v(2.240753, -26.635077, 202.51712);
v(8.262543, -26.106234, 208.516342);
v(12.429449, -25.215395, 206.759201);
v(14.102049, -24.543612, 202.51712);
v(12.300554, -24.484402, 198.275024);
v(8.080258, -25.072453, 196.517899);
v(3.913352, -25.963291, 198.275024);
v(8.1714, -25.589344, 202.51712);
v(18.630642, -2.48098, 203.964874);
v(18.630642, -2.48098, 205.241074);
v(13.253809, -24.339506, 203.112015);
v(13.253809, -24.339508, 201.835815);
v(19.328865, -2.604095, 203.964874);
v(13.962803, -24.339508, 201.835815);
v(13.962803, -24.339506, 203.112015);
v(19.328865, -2.604094, 205.241074);
v(-2.76283, -25.916033, 201.971054);
v(0.019741, -25.916033, 203.426331);
v(-2.76283, -25.916033, 202.763016);
v(0.019741, -25.916033, 202.632095);
v(2.802312, -25.916033, 202.763016);
v(2.802312, -25.916033, 201.971054);
v(-2.76283, -26.446047, 201.971054);
v(0.019741, -26.446047, 203.426331);
v(0.019741, -26.446047, 202.632095);
v(-2.76283, -26.446047, 202.763016);
v(2.802312, -26.446047, 202.763016);
v(2.802312, -26.446047, 201.971054);
v(-8.001873, -24.858309, 202.582062);
v(-2.071224, -25.904041, 202.582062);
v(-3.872719, -25.963251, 206.824158);
v(-8.093015, -25.375198, 208.581284);
v(-12.25992, -24.48436, 206.824158);
v(-13.93252, -23.812576, 202.582062);
v(-12.131025, -23.753366, 198.339966);
v(-7.910731, -24.341419, 196.58284);
v(-3.743826, -25.232258, 198.339966);
v(-2.200127, -26.635077, 202.51712);
v(-4.001619, -26.694286, 206.759216);
v(-8.221916, -26.106234, 208.516342);
v(-12.388823, -25.215395, 206.759201);
v(-14.061422, -24.543612, 202.51712);
v(-12.259928, -24.484402, 198.275024);
v(-8.039632, -25.072453, 196.517899);
v(-3.872726, -25.963291, 198.275024);
v(-8.130774, -25.589344, 202.51712);
v(-18.590015, -2.48098, 203.964874);
v(-13.213182, -24.339506, 203.112015);
v(-18.590015, -2.48098, 205.241074);
v(-13.213182, -24.339508, 201.835815);
v(-19.288239, -2.604095, 203.964874);
v(-13.922176, -24.339506, 203.112015);
v(-13.922176, -24.339508, 201.835815);
v(-19.288239, -2.604094, 205.241074);
uv(0.5, 0.5);
uv(0.785687, 0.785687);
uv(0.904022, 0.5);
uv(0.5, 0.904022);
uv(0.214313, 0.785687);
uv(0.095978, 0.5);
uv(0.214313, 0.214313);
uv(0.5, 0.095978);
uv(0.785687, 0.214313);
uv(0.785687, 0.785687);
uv(0.904022, 0.5);
uv(0.5, 0.904022);
uv(0.214313, 0.785687);
uv(0.095978, 0.5);
uv(0.214313, 0.214313);
uv(0.5, 0.095978);
uv(0.785687, 0.214313);
uv(0.5, 0.5);
uv(0.04467, 0.959084);
uv(0.0503, 0.994369);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.003754, 0.968468);
uv(0.04467, 0.959084);
uv(0.0503, 0.994369);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.04467, 0.959084);
uv(0.0503, 0.994369);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.04467, 0.959084);
uv(0.0503, 0.994369);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.04467, 0.959084);
uv(0.0503, 0.994369);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.04467, 0.959084);
uv(0.0503, 0.994369);
uv(0, 1);
uv(0.04467, 0.959084);
uv(0.021396, 0.992492);
uv(0.0503, 0.994369);
uv(0.021396, 0.968468);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.003754, 0.968468);
uv(0.021396, 0.992492);
uv(0.021396, 0.968468);
uv(0, 1);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0.003754, 0.968468);
uv(0.021396, 0.992492);
uv(0.021396, 0.968468);
uv(0, 1);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0.003754, 0.968468);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.021396, 0.992492);
uv(0.021396, 0.968468);
uv(0, 1);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0.003754, 0.968468);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0, 1);
uv(0.5, 0.5);
uv(0.904022, 0.5);
uv(0.785687, 0.785687);
uv(0.5, 0.904022);
uv(0.214313, 0.785687);
uv(0.095978, 0.5);
uv(0.214313, 0.214313);
uv(0.5, 0.095978);
uv(0.785687, 0.214313);
uv(0.904022, 0.5);
uv(0.785687, 0.785687);
uv(0.5, 0.904022);
uv(0.214313, 0.785687);
uv(0.095978, 0.5);
uv(0.214313, 0.214313);
uv(0.5, 0.095978);
uv(0.785687, 0.214313);
uv(0.5, 0.5);
uv(0.04467, 0.959084);
uv(0, 1);
uv(0.0503, 0.994369);
uv(0.003754, 0.968468);
uv(0.003754, 0.968468);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0, 1);
f(0, 1, 2, 0, 1, 2);
f(0, 3, 1, 0, 3, 1);
f(0, 4, 3, 0, 4, 3);
f(0, 5, 4, 0, 5, 4);
f(0, 6, 5, 0, 6, 5);
f(0, 7, 6, 0, 7, 6);
f(0, 8, 7, 0, 8, 7);
f(0, 2, 8, 0, 2, 8);
f(2, 9, 10, 2, 9, 10);
f(2, 1, 9, 2, 1, 9);
f(1, 11, 9, 1, 11, 9);
f(1, 3, 11, 1, 3, 11);
f(3, 12, 11, 3, 12, 11);
f(3, 4, 12, 3, 4, 12);
f(4, 13, 12, 4, 13, 12);
f(4, 5, 13, 4, 5, 13);
f(5, 14, 13, 5, 14, 13);
f(5, 6, 14, 5, 6, 14);
f(6, 15, 14, 6, 15, 14);
f(6, 7, 15, 6, 7, 15);
f(7, 16, 15, 7, 16, 15);
f(7, 8, 16, 7, 8, 16);
f(8, 10, 16, 8, 10, 16);
f(8, 2, 10, 8, 2, 10);
f(17, 10, 9, 17, 10, 9);
f(17, 9, 11, 17, 9, 11);
f(17, 11, 12, 17, 11, 12);
f(17, 12, 13, 17, 12, 13);
f(17, 13, 14, 17, 13, 14);
f(17, 14, 15, 17, 14, 15);
f(17, 15, 16, 17, 15, 16);
f(17, 16, 10, 17, 16, 10);
f(18, 19, 20, 18, 19, 20);
f(20, 21, 18, 20, 21, 18);
f(22, 23, 24, 22, 23, 24);
f(24, 25, 22, 24, 25, 22);
f(18, 21, 23, 26, 27, 28);
f(23, 22, 18, 28, 29, 26);
f(21, 20, 24, 30, 31, 32);
f(24, 23, 21, 32, 33, 30);
f(20, 19, 25, 34, 35, 36);
f(25, 24, 20, 36, 37, 34);
f(19, 18, 22, 38, 39, 40);
f(22, 25, 19, 40, 41, 38);
f(26, 27, 28, 42, 43, 44);
f(27, 26, 29, 43, 42, 45);
f(29, 30, 27, 45, 46, 43);
f(30, 29, 31, 46, 45, 47);
f(32, 33, 34, 48, 49, 50);
f(33, 32, 35, 49, 48, 51);
f(34, 36, 37, 50, 52, 53);
f(36, 34, 33, 52, 50, 49);
f(26, 34, 29, 54, 55, 56);
f(34, 26, 32, 55, 54, 57);
f(29, 37, 31, 56, 58, 59);
f(37, 29, 34, 58, 56, 55);
f(31, 36, 30, 60, 61, 62);
f(36, 31, 37, 61, 60, 63);
f(30, 33, 27, 64, 65, 66);
f(33, 30, 36, 65, 64, 67);
f(27, 35, 28, 66, 68, 69);
f(35, 27, 33, 68, 66, 65);
f(28, 32, 26, 70, 71, 72);
f(32, 28, 35, 71, 70, 73);
f(38, 39, 40, 74, 75, 76);
f(38, 40, 41, 74, 76, 77);
f(38, 41, 42, 74, 77, 78);
f(38, 42, 43, 74, 78, 79);
f(38, 43, 44, 74, 79, 80);
f(38, 44, 45, 74, 80, 81);
f(38, 45, 46, 74, 81, 82);
f(38, 46, 39, 74, 82, 75);
f(39, 47, 48, 75, 83, 84);
f(39, 48, 40, 75, 84, 76);
f(40, 48, 49, 76, 84, 85);
f(40, 49, 41, 76, 85, 77);
f(41, 49, 50, 77, 85, 86);
f(41, 50, 42, 77, 86, 78);
f(42, 50, 51, 78, 86, 87);
f(42, 51, 43, 78, 87, 79);
f(43, 51, 52, 79, 87, 88);
f(43, 52, 44, 79, 88, 80);
f(44, 52, 53, 80, 88, 89);
f(44, 53, 45, 80, 89, 81);
f(45, 53, 54, 81, 89, 90);
f(45, 54, 46, 81, 90, 82);
f(46, 54, 47, 82, 90, 83);
f(46, 47, 39, 82, 83, 75);
f(55, 48, 47, 91, 84, 83);
f(55, 49, 48, 91, 85, 84);
f(55, 50, 49, 91, 86, 85);
f(55, 51, 50, 91, 87, 86);
f(55, 52, 51, 91, 88, 87);
f(55, 53, 52, 91, 89, 88);
f(55, 54, 53, 91, 90, 89);
f(55, 47, 54, 91, 83, 90);
f(56, 57, 58, 92, 93, 94);
f(57, 56, 59, 93, 92, 95);
f(60, 61, 62, 96, 97, 98);
f(61, 60, 63, 97, 96, 99);
f(56, 62, 59, 100, 101, 102);
f(62, 56, 60, 101, 100, 103);
f(59, 61, 57, 104, 105, 106);
f(61, 59, 62, 105, 104, 107);
f(57, 63, 58, 108, 109, 110);
f(63, 57, 61, 109, 108, 111);
f(58, 60, 56, 112, 113, 114);
f(60, 58, 63, 113, 112, 115);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 155
//Occhiali2 (Occhiali2)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Occhiali2 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Occhiali2(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(7.951358, -24.629419, 198.747971);
v(12.171653, -23.890461, 200.447159);
v(13.973146, -23.579721, 204.678268);
v(12.300547, -24.146229, 205.910934);
v(8.13364, -24.996841, 206.409622);
v(3.913345, -25.619492, 206.039825);
v(2.111851, -25.663229, 204.86055);
v(3.784452, -25.363724, 200.57605);
v(4.042246, -26.353405, 206.038849);
v(2.240753, -26.397142, 204.859573);
v(8.262543, -25.730753, 206.40863);
v(12.429449, -24.880142, 205.909943);
v(14.102049, -24.313635, 204.677292);
v(12.300554, -24.624374, 200.446182);
v(8.080258, -25.363333, 198.746979);
v(3.913352, -26.097637, 200.575073);
v(13.253809, -24.05846, 205.252121);
v(13.253809, -24.169689, 203.980789);
v(18.630642, -2.20878, 204.19664);
v(18.630642, -2.097551, 205.467987);
v(13.962803, -24.05846, 205.252121);
v(19.328865, -2.220198, 205.478714);
v(19.328865, -2.331427, 204.207382);
v(13.962803, -24.169689, 203.980789);
v(-2.76283, -25.728428, 204.252914);
v(0.019741, -25.670815, 204.911438);
v(0.019741, -25.601591, 205.702652);
v(-2.76283, -25.659403, 205.04187);
v(2.802312, -25.728428, 204.252914);
v(2.802312, -25.659403, 205.04187);
v(-2.76283, -26.256424, 204.299118);
v(-2.76283, -26.187401, 205.088058);
v(0.019741, -26.129589, 205.748856);
v(0.019741, -26.198811, 204.957642);
v(2.802312, -26.187401, 205.088058);
v(2.802312, -26.256424, 204.299118);
v(-2.071224, -25.663229, 204.86055);
v(-3.872719, -25.619492, 206.039825);
v(-8.093016, -24.996841, 206.409622);
v(-12.25992, -24.146229, 205.910934);
v(-13.93252, -23.579721, 204.678268);
v(-12.131025, -23.890461, 200.447159);
v(-7.910731, -24.629419, 198.747971);
v(-3.743826, -25.363724, 200.57605);
v(-4.001619, -26.353405, 206.038849);
v(-2.200127, -26.397142, 204.859573);
v(-8.221916, -25.730753, 206.40863);
v(-12.388823, -24.880142, 205.909943);
v(-14.061422, -24.313635, 204.677292);
v(-12.259928, -24.624374, 200.446182);
v(-8.039632, -25.363333, 198.746979);
v(-3.872726, -26.097637, 200.575073);
v(-18.590015, -2.20878, 204.19664);
v(-13.213182, -24.169689, 203.980789);
v(-13.213182, -24.05846, 205.252121);
v(-18.590015, -2.097551, 205.467987);
v(-19.288239, -2.331427, 204.207382);
v(-19.288239, -2.220198, 205.478714);
v(-13.922176, -24.05846, 205.252121);
v(-13.922176, -24.169689, 203.980789);
uv(0.5, 0.095978);
uv(0.214313, 0.214313);
uv(0.095978, 0.5);
uv(0.214313, 0.785687);
uv(0.5, 0.904022);
uv(0.785687, 0.785687);
uv(0.904022, 0.5);
uv(0.785687, 0.214313);
uv(0.785687, 0.785687);
uv(0.904022, 0.5);
uv(0.5, 0.904022);
uv(0.214313, 0.785687);
uv(0.095978, 0.5);
uv(0.214313, 0.214313);
uv(0.5, 0.095978);
uv(0.785687, 0.214313);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.04467, 0.959084);
uv(0.0503, 0.994369);
uv(0.0503, 0.994369);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.04467, 0.959084);
uv(0.0503, 0.994369);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.04467, 0.959084);
uv(0.0503, 0.994369);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.04467, 0.959084);
uv(0.0503, 0.994369);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.04467, 0.959084);
uv(0.0503, 0.994369);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0.04467, 0.959084);
uv(0.04467, 0.959084);
uv(0.021396, 0.968468);
uv(0.021396, 0.992492);
uv(0.0503, 0.994369);
uv(0.003754, 0.968468);
uv(0, 1);
uv(0.003754, 0.968468);
uv(0, 1);
uv(0.021396, 0.992492);
uv(0.021396, 0.968468);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0.003754, 0.968468);
uv(0, 1);
uv(0.021396, 0.992492);
uv(0.021396, 0.968468);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0.003754, 0.968468);
uv(0, 1);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0.003754, 0.968468);
uv(0, 1);
uv(0.021396, 0.992492);
uv(0.021396, 0.968468);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0.003754, 0.968468);
uv(0, 1);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0.904022, 0.5);
uv(0.785687, 0.785687);
uv(0.5, 0.904022);
uv(0.214313, 0.785687);
uv(0.095978, 0.5);
uv(0.214313, 0.214313);
uv(0.5, 0.095978);
uv(0.785687, 0.214313);
uv(0.785687, 0.785687);
uv(0.904022, 0.5);
uv(0.5, 0.904022);
uv(0.214313, 0.785687);
uv(0.095978, 0.5);
uv(0.214313, 0.214313);
uv(0.5, 0.095978);
uv(0.785687, 0.214313);
uv(0.04467, 0.959084);
uv(0.003754, 0.968468);
uv(0, 1);
uv(0.0503, 0.994369);
uv(0.003754, 0.968468);
uv(0, 1);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0.003754, 0.968468);
uv(0, 1);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0.003754, 0.968468);
uv(0, 1);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0.003754, 0.968468);
uv(0, 1);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
uv(0.003754, 0.968468);
uv(0, 1);
uv(0.0503, 0.994369);
uv(0.04467, 0.959084);
f(0, 1, 2, 0, 1, 2);
f(2, 3, 4, 2, 3, 4);
f(4, 5, 6, 4, 5, 6);
f(2, 4, 6, 2, 4, 6);
f(0, 2, 6, 0, 2, 6);
f(7, 0, 6, 7, 0, 6);
f(6, 5, 8, 6, 5, 8);
f(8, 9, 6, 8, 9, 6);
f(5, 4, 10, 5, 4, 10);
f(10, 8, 5, 10, 8, 5);
f(4, 3, 11, 4, 3, 11);
f(11, 10, 4, 11, 10, 4);
f(3, 2, 12, 3, 2, 12);
f(12, 11, 3, 12, 11, 3);
f(2, 1, 13, 2, 1, 13);
f(13, 12, 2, 13, 12, 2);
f(1, 0, 14, 1, 0, 14);
f(14, 13, 1, 14, 13, 1);
f(0, 7, 15, 0, 7, 15);
f(15, 14, 0, 15, 14, 0);
f(7, 6, 9, 7, 6, 9);
f(9, 15, 7, 9, 15, 7);
f(9, 8, 10, 9, 8, 10);
f(10, 11, 12, 10, 11, 12);
f(12, 13, 14, 12, 13, 14);
f(10, 12, 14, 10, 12, 14);
f(9, 10, 14, 9, 10, 14);
f(15, 9, 14, 15, 9, 14);
f(16, 17, 18, 16, 17, 18);
f(18, 19, 16, 18, 19, 16);
f(20, 21, 22, 20, 21, 22);
f(22, 23, 20, 22, 23, 20);
f(23, 22, 18, 24, 25, 26);
f(18, 17, 23, 26, 27, 24);
f(20, 23, 17, 28, 29, 30);
f(17, 16, 20, 30, 31, 28);
f(21, 20, 16, 32, 33, 34);
f(16, 19, 21, 34, 35, 32);
f(22, 21, 19, 36, 37, 38);
f(19, 18, 22, 38, 39, 36);
f(24, 25, 26, 40, 41, 42);
f(26, 27, 24, 42, 43, 40);
f(25, 28, 29, 41, 44, 45);
f(29, 26, 25, 45, 42, 41);
f(30, 31, 32, 46, 47, 48);
f(32, 33, 30, 48, 49, 46);
f(33, 32, 34, 49, 48, 50);
f(34, 35, 33, 50, 51, 49);
f(24, 30, 33, 52, 53, 54);
f(33, 25, 24, 54, 55, 52);
f(25, 33, 35, 55, 54, 56);
f(35, 28, 25, 56, 57, 55);
f(28, 35, 34, 58, 59, 60);
f(34, 29, 28, 60, 61, 58);
f(29, 34, 32, 62, 63, 64);
f(32, 26, 29, 64, 65, 62);
f(26, 32, 31, 65, 64, 66);
f(31, 27, 26, 66, 67, 65);
f(27, 31, 30, 68, 69, 70);
f(30, 24, 27, 70, 71, 68);
f(36, 37, 38, 72, 73, 74);
f(38, 39, 40, 74, 75, 76);
f(40, 41, 42, 76, 77, 78);
f(38, 40, 42, 74, 76, 78);
f(36, 38, 42, 72, 74, 78);
f(43, 36, 42, 79, 72, 78);
f(44, 37, 36, 80, 73, 72);
f(36, 45, 44, 72, 81, 80);
f(46, 38, 37, 82, 74, 73);
f(37, 44, 46, 73, 80, 82);
f(47, 39, 38, 83, 75, 74);
f(38, 46, 47, 74, 82, 83);
f(48, 40, 39, 84, 76, 75);
f(39, 47, 48, 75, 83, 84);
f(49, 41, 40, 85, 77, 76);
f(40, 48, 49, 76, 84, 85);
f(50, 42, 41, 86, 78, 77);
f(41, 49, 50, 77, 85, 86);
f(51, 43, 42, 87, 79, 78);
f(42, 50, 51, 78, 86, 87);
f(45, 36, 43, 81, 72, 79);
f(43, 51, 45, 79, 87, 81);
f(50, 49, 48, 86, 85, 84);
f(48, 47, 46, 84, 83, 82);
f(46, 44, 45, 82, 80, 81);
f(48, 46, 45, 84, 82, 81);
f(50, 48, 45, 86, 84, 81);
f(51, 50, 45, 87, 86, 81);
f(52, 53, 54, 88, 89, 90);
f(54, 55, 52, 90, 91, 88);
f(56, 57, 58, 92, 93, 94);
f(58, 59, 56, 94, 95, 92);
f(52, 56, 59, 96, 97, 98);
f(59, 53, 52, 98, 99, 96);
f(53, 59, 58, 100, 101, 102);
f(58, 54, 53, 102, 103, 100);
f(54, 58, 57, 104, 105, 106);
f(57, 55, 54, 106, 107, 104);
f(55, 57, 56, 108, 109, 110);
f(56, 52, 55, 110, 111, 108);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 156
//Pantaloni (Pantaloni)
package {
import flash.display.*;
public dynamic class Pantaloni extends MovieClip {
public var belt:MovieClip;
public function Pantaloni(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 157
//Pelle (Pelle)
package {
import flash.display.*;
public dynamic class Pelle extends MovieClip {
public var sopracciglia:MovieClip;
public var nails:MovieClip;
public var occhio:MovieClip;
public var scarpe:MovieClip;
public var lingerie:MovieClip;
public var bocca:MovieClip;
public var pelle:MovieClip;
}
}//package
Section 158
//Piedi (Piedi)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Piedi extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Piedi(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-25.580482, -17.648319, 6.52562);
v(-27.180176, -24.165291, 3.695526);
v(-27.807755, -25.194149, 0.467163);
v(-23.285431, -0.186381, 9.285248);
v(-21.36158, -31.605492, 4.685013);
v(-22.330124, -31.76442, 0.776764);
v(-16.369461, -32.655499, 4.260849);
v(-16.115662, -29.744587, 0.621964);
v(-14.282753, -18.767895, 7.178329);
v(-15.150543, -5.887023, 12.491524);
v(-20.34993, -7.042413, 13.670059);
v(-15.37384, -3.320037, 1.234413);
v(-12.67662, 0.982337, 10.352448);
v(-13.120216, -16.114071, 1.707245);
v(-21.719673, 4.632094, 1.34111);
v(-21.50972, 3.428735, 10.033012);
v(-18.919113, 3.911959, 9.602463);
v(-15.920975, 4.221042, 1.043358);
v(25.580482, -17.648319, 6.52562);
v(23.285431, -0.186381, 9.285248);
v(27.807755, -25.194149, 0.467163);
v(27.180176, -24.165291, 3.695526);
v(21.36158, -31.605492, 4.685013);
v(22.330124, -31.76442, 0.776764);
v(16.369461, -32.655499, 4.260849);
v(16.115662, -29.744587, 0.621964);
v(14.282753, -18.767895, 7.178329);
v(15.150543, -5.887023, 12.491524);
v(20.34993, -7.042413, 13.670059);
v(15.37384, -3.320037, 1.234413);
v(12.67662, 0.982337, 10.352448);
v(13.120216, -16.114071, 1.707245);
v(21.719673, 4.632094, 1.34111);
v(21.50972, 3.428735, 10.033012);
v(15.920975, 4.221042, 1.043358);
v(18.919113, 3.911959, 9.602463);
uv(0.544021, 0.108165);
uv(0.552091, 0.05581);
uv(0.557298, 0.046851);
uv(0.543287, 0.244766);
uv(0.481116, 0.010177);
uv(0.489459, -0.001911);
uv(0.42735, 0.011451);
uv(0.591131, 0.053913);
uv(0.59236, 0.076446);
uv(0.65324, 0.040551);
uv(0.424023, 0.120574);
uv(0.450341, 0.216602);
uv(0.503333, 0.198228);
uv(0.456114, 0.235646);
uv(0.433573, 0.273245);
uv(0.415377, 0.142839);
uv(0.587805, 0.163036);
uv(0.579158, 0.185301);
uv(0.533303, 0.284184);
uv(0.529493, 0.275451);
uv(0.502966, 0.283905);
uv(0.471931, 0.291793);
uv(0.544021, 0.108165);
uv(0.543287, 0.244766);
uv(0.557298, 0.046851);
uv(0.552091, 0.05581);
uv(0.481116, 0.010177);
uv(0.489459, -0.001911);
uv(0.42735, 0.011451);
uv(0.59236, 0.076446);
uv(0.591131, 0.053913);
uv(0.65324, 0.040551);
uv(0.424023, 0.120574);
uv(0.450341, 0.216602);
uv(0.503333, 0.198228);
uv(0.456114, 0.235646);
uv(0.433573, 0.273245);
uv(0.415377, 0.142839);
uv(0.579158, 0.185301);
uv(0.587805, 0.163036);
uv(0.533303, 0.284184);
uv(0.529493, 0.275451);
uv(0.471931, 0.291793);
uv(0.502966, 0.283905);
f(0, 1, 2, 0, 1, 2);
f(2, 3, 0, 2, 3, 0);
f(2, 1, 4, 2, 1, 4);
f(4, 5, 2, 4, 5, 2);
f(5, 4, 6, 5, 4, 6);
f(6, 7, 5, 7, 8, 9);
f(8, 6, 4, 10, 6, 4);
f(4, 0, 8, 4, 0, 10);
f(0, 4, 1, 0, 4, 1);
f(9, 8, 0, 11, 10, 0);
f(0, 10, 9, 0, 12, 11);
f(11, 9, 12, 13, 11, 14);
f(8, 9, 11, 10, 11, 13);
f(11, 13, 8, 13, 15, 10);
f(6, 8, 13, 7, 16, 17);
f(13, 7, 6, 17, 8, 7);
f(0, 3, 10, 0, 3, 12);
f(3, 2, 14, 3, 2, 18);
f(15, 3, 14, 19, 3, 18);
f(12, 16, 14, 14, 20, 18);
f(14, 17, 12, 18, 21, 14);
f(16, 15, 14, 20, 19, 18);
f(12, 17, 11, 14, 21, 13);
f(18, 19, 20, 22, 23, 24);
f(20, 21, 18, 24, 25, 22);
f(21, 20, 22, 25, 24, 26);
f(23, 22, 20, 27, 26, 24);
f(22, 23, 24, 26, 27, 28);
f(25, 24, 23, 29, 30, 31);
f(26, 18, 22, 32, 22, 26);
f(22, 24, 26, 26, 28, 32);
f(22, 18, 21, 26, 22, 25);
f(27, 28, 18, 33, 34, 22);
f(18, 26, 27, 22, 32, 33);
f(27, 29, 30, 33, 35, 36);
f(27, 26, 29, 33, 32, 35);
f(31, 29, 26, 37, 35, 32);
f(24, 25, 31, 30, 29, 38);
f(31, 26, 24, 38, 39, 30);
f(19, 18, 28, 23, 22, 34);
f(20, 19, 32, 24, 23, 40);
f(19, 33, 32, 23, 41, 40);
f(30, 34, 32, 36, 42, 40);
f(32, 35, 30, 40, 43, 36);
f(33, 35, 32, 41, 43, 40);
f(34, 30, 29, 42, 36, 35);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 159
//Scarpe1 (Scarpe1)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Scarpe1 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Scarpe1(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-25.580482, -14.397648, 6.52562);
v(-27.180176, -25.220711, 3.695526);
v(-27.807755, -26.249569, 0.467163);
v(-23.285431, -0.186381, 9.285248);
v(-21.36158, -32.660912, 4.685013);
v(-22.330124, -32.819839, 0.776764);
v(-16.369461, -33.710918, 4.260849);
v(-16.115662, -30.800007, 0.621964);
v(-20.19313, -23.177523, 6.836868);
v(-20.34993, -7.042413, 13.670059);
v(-15.231125, -4.960671, 6.953613);
v(-15.150543, -5.887023, 12.491524);
v(-12.67662, 0.982337, 10.352448);
v(-14.282753, -18.767895, 7.178329);
v(-15.37384, -3.320037, 1.234413);
v(-13.120216, -16.114071, 1.707245);
v(-21.719673, 4.632094, 1.34111);
v(-21.50972, 3.428735, 10.033012);
v(-18.919113, 3.911959, 9.602463);
v(-15.920975, 4.221042, 1.043358);
v(25.580482, -14.397648, 6.52562);
v(23.285431, -0.186381, 9.285248);
v(27.807755, -26.249569, 0.467163);
v(27.180176, -25.220711, 3.695526);
v(21.36158, -32.660912, 4.685013);
v(22.330124, -32.819839, 0.776764);
v(16.369461, -33.710918, 4.260849);
v(16.115662, -30.800007, 0.621964);
v(20.19313, -23.177523, 6.836868);
v(20.34993, -7.042413, 13.670059);
v(15.150543, -5.887023, 12.491524);
v(15.231125, -4.960671, 6.953613);
v(12.67662, 0.982337, 10.352448);
v(14.282753, -18.767895, 7.178329);
v(13.120216, -16.114071, 1.707245);
v(15.37384, -3.320037, 1.234413);
v(21.719673, 4.632094, 1.34111);
v(21.50972, 3.428735, 10.033012);
v(15.920975, 4.221042, 1.043358);
v(18.919113, 3.911959, 9.602463);
uv(0.269797, 0.009456);
uv(0.269885, 0.009043);
uv(0.269942, 0.008972);
uv(0.269789, 0.010534);
uv(0.269111, 0.008683);
uv(0.269202, 0.008588);
uv(0.268524, 0.008693);
uv(0.270311, 0.009028);
uv(0.270325, 0.009206);
uv(0.270989, 0.008923);
uv(0.4868, 0.114082);
uv(0.544021, 0.108165);
uv(0.503333, 0.198228);
uv(0.452424, 0.223474);
uv(0.450341, 0.216602);
uv(0.433573, 0.273245);
uv(0.424023, 0.120574);
uv(0.268838, 0.010462);
uv(0.268393, 0.00973);
uv(0.268488, 0.009554);
uv(0.543287, 0.244766);
uv(0.26968, 0.010844);
uv(0.269639, 0.010776);
uv(0.268592, 0.010758);
uv(0.269349, 0.010842);
uv(0.269011, 0.010904);
uv(0.269173, 0.009503);
uv(0.268798, 0.010366);
uv(0.269797, 0.009456);
uv(0.269789, 0.010534);
uv(0.269942, 0.008972);
uv(0.269885, 0.009043);
uv(0.269111, 0.008683);
uv(0.269202, 0.008588);
uv(0.268524, 0.008693);
uv(0.270325, 0.009206);
uv(0.270311, 0.009028);
uv(0.270989, 0.008923);
uv(0.544021, 0.108165);
uv(0.4868, 0.114082);
uv(0.503333, 0.198228);
uv(0.450341, 0.216602);
uv(0.452424, 0.223474);
uv(0.433573, 0.273245);
uv(0.424023, 0.120574);
uv(0.268393, 0.00973);
uv(0.268838, 0.010462);
uv(0.268488, 0.009554);
uv(0.543287, 0.244766);
uv(0.26968, 0.010844);
uv(0.269639, 0.010776);
uv(0.268592, 0.010758);
uv(0.269011, 0.010904);
uv(0.269349, 0.010842);
uv(0.269173, 0.009503);
uv(0.268798, 0.010366);
f(0, 1, 2, 0, 1, 2);
f(2, 3, 0, 2, 3, 0);
f(2, 1, 4, 2, 1, 4);
f(4, 5, 2, 4, 5, 2);
f(5, 4, 6, 5, 4, 6);
f(6, 7, 5, 7, 8, 9);
f(0, 4, 1, 0, 4, 1);
f(8, 0, 9, 10, 11, 12);
f(10, 11, 12, 13, 14, 15);
f(13, 11, 10, 16, 14, 13);
f(14, 15, 13, 17, 18, 19);
f(0, 3, 9, 11, 20, 12);
f(3, 2, 16, 3, 2, 21);
f(17, 3, 16, 22, 3, 21);
f(12, 18, 16, 23, 24, 21);
f(16, 19, 12, 21, 25, 23);
f(18, 17, 16, 24, 22, 21);
f(12, 19, 14, 23, 25, 17);
f(4, 0, 8, 4, 0, 26);
f(11, 13, 8, 14, 16, 10);
f(9, 11, 8, 12, 14, 10);
f(4, 8, 13, 4, 26, 19);
f(13, 6, 4, 19, 6, 4);
f(13, 15, 7, 19, 18, 8);
f(7, 6, 13, 8, 6, 19);
f(10, 14, 13, 27, 17, 19);
f(12, 14, 10, 23, 17, 27);
f(20, 21, 22, 28, 29, 30);
f(22, 23, 20, 30, 31, 28);
f(23, 22, 24, 31, 30, 32);
f(25, 24, 22, 33, 32, 30);
f(24, 25, 26, 32, 33, 34);
f(27, 26, 25, 35, 36, 37);
f(24, 20, 23, 32, 28, 31);
f(20, 28, 29, 38, 39, 40);
f(30, 31, 32, 41, 42, 43);
f(30, 33, 31, 41, 44, 42);
f(34, 35, 33, 45, 46, 47);
f(21, 20, 29, 48, 38, 40);
f(22, 21, 36, 30, 29, 49);
f(21, 37, 36, 29, 50, 49);
f(32, 38, 36, 51, 52, 49);
f(36, 39, 32, 49, 53, 51);
f(37, 39, 36, 50, 53, 49);
f(38, 32, 35, 52, 51, 46);
f(20, 24, 28, 28, 32, 54);
f(33, 30, 28, 44, 41, 39);
f(30, 29, 28, 41, 40, 39);
f(28, 24, 33, 54, 32, 47);
f(26, 33, 24, 34, 47, 32);
f(33, 26, 27, 47, 34, 35);
f(27, 34, 33, 35, 45, 47);
f(35, 31, 33, 46, 55, 47);
f(35, 32, 31, 46, 51, 55);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 160
//Scarpe2 (Scarpe2)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Scarpe2 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Scarpe2(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-23.285431, -0.186381, 9.285248);
v(-25.580482, -10.812455, -9.391151);
v(-27.180176, -20.706203, -13.279839);
v(-27.807755, -21.73506, -16.508202);
v(-21.36158, -28.1464, -12.290352);
v(-22.330124, -28.305328, -16.198601);
v(-16.369461, -29.196409, -12.714516);
v(-16.115662, -26.285501, -16.353401);
v(-20.19313, -19.592331, -9.079903);
v(-20.34993, -7.042413, 13.670059);
v(-15.231125, -4.960671, 6.953613);
v(-15.150543, -5.887023, 12.491524);
v(-12.67662, 0.982337, 10.352448);
v(-14.282753, -15.182705, -8.738441);
v(-15.37384, 0.638305, 1.234413);
v(-13.120216, -11.599562, -15.26812);
v(-22.450043, 1.468886, -0.800232);
v(-21.719673, 4.632094, 1.34111);
v(-21.50972, 3.428735, 10.033012);
v(-18.919113, 3.911959, 9.602463);
v(-15.920975, 4.221042, 1.043358);
v(25.580482, -10.812452, -9.391151);
v(23.285431, -0.186381, 9.285248);
v(27.807755, -21.735064, -16.508202);
v(27.180176, -20.706203, -13.279839);
v(21.36158, -28.146404, -12.290352);
v(22.330124, -28.305332, -16.198601);
v(16.369461, -29.196409, -12.714516);
v(16.115662, -26.285498, -16.353401);
v(20.19313, -19.592331, -9.079903);
v(20.34993, -7.042413, 13.670059);
v(15.150543, -5.887023, 12.491524);
v(15.231125, -4.960671, 6.953613);
v(12.67662, 0.982337, 10.352448);
v(14.282753, -15.182699, -8.738441);
v(13.120216, -11.599562, -15.26812);
v(15.37384, 0.638305, 1.234413);
v(22.520241, 1.164862, -1.006042);
v(21.719673, 4.632094, 1.34111);
v(21.50972, 3.428735, 10.033012);
v(15.920975, 4.221042, 1.043358);
v(18.919113, 3.911959, 9.602463);
v(-18.704147, 2.098196, -14.997574);
v(-20.469566, 2.180892, -14.971001);
v(-20.591011, 1.563428, -15.050621);
v(-18.604759, 0.330642, -14.969887);
v(20.774208, 1.510246, -15.060631);
v(20.627884, 2.229514, -14.973282);
v(18.858223, 2.149808, -15.000664);
v(18.759697, 0.344269, -14.972595);
uv(0.269789, 0.010534);
uv(0.269797, 0.009456);
uv(0.269885, 0.009043);
uv(0.269942, 0.008972);
uv(0.269111, 0.008683);
uv(0.269202, 0.008588);
uv(0.268524, 0.008693);
uv(0.270311, 0.009028);
uv(0.270325, 0.009206);
uv(0.270989, 0.008923);
uv(0.4868, 0.114082);
uv(0.544021, 0.108165);
uv(0.503333, 0.198228);
uv(0.452424, 0.223474);
uv(0.450341, 0.216602);
uv(0.433573, 0.273245);
uv(0.424023, 0.120574);
uv(0.268838, 0.010462);
uv(0.268393, 0.00973);
uv(0.268488, 0.009554);
uv(0.543287, 0.244766);
uv(0.269712, 0.01062);
uv(0.26968, 0.010844);
uv(0.269639, 0.010776);
uv(0.268592, 0.010758);
uv(0.269349, 0.010842);
uv(0.269011, 0.010904);
uv(0.269173, 0.009503);
uv(0.268798, 0.010366);
uv(0.269797, 0.009456);
uv(0.269789, 0.010534);
uv(0.269942, 0.008972);
uv(0.269885, 0.009043);
uv(0.269111, 0.008683);
uv(0.269202, 0.008588);
uv(0.268524, 0.008693);
uv(0.270325, 0.009206);
uv(0.270311, 0.009028);
uv(0.270989, 0.008923);
uv(0.544021, 0.108165);
uv(0.4868, 0.114082);
uv(0.503333, 0.198228);
uv(0.450341, 0.216602);
uv(0.452424, 0.223474);
uv(0.433573, 0.273245);
uv(0.424023, 0.120574);
uv(0.268393, 0.00973);
uv(0.268838, 0.010462);
uv(0.268488, 0.009554);
uv(0.543287, 0.244766);
uv(0.269715, 0.010598);
uv(0.26968, 0.010844);
uv(0.269639, 0.010776);
uv(0.268592, 0.010758);
uv(0.269011, 0.010904);
uv(0.269349, 0.010842);
uv(0.269173, 0.009503);
uv(0.268798, 0.010366);
uv(0.269011, 0.010904);
uv(0.26968, 0.010844);
uv(0.269712, 0.01062);
uv(0.268838, 0.010462);
uv(0.269715, 0.010598);
uv(0.26968, 0.010844);
uv(0.269011, 0.010904);
uv(0.268838, 0.010462);
f(0, 1, 2, 0, 1, 2);
f(2, 3, 0, 2, 3, 0);
f(3, 2, 4, 3, 2, 4);
f(4, 5, 3, 4, 5, 3);
f(5, 4, 6, 5, 4, 6);
f(6, 7, 5, 7, 8, 9);
f(1, 4, 2, 1, 4, 2);
f(8, 1, 9, 10, 11, 12);
f(10, 11, 12, 13, 14, 15);
f(13, 11, 10, 16, 14, 13);
f(14, 15, 13, 17, 18, 19);
f(1, 0, 9, 11, 20, 12);
f(16, 17, 0, 21, 22, 0);
f(0, 3, 16, 0, 3, 21);
f(18, 0, 17, 23, 0, 22);
f(12, 19, 17, 24, 25, 22);
f(17, 20, 12, 22, 26, 24);
f(19, 18, 17, 25, 23, 22);
f(12, 20, 14, 24, 26, 17);
f(4, 1, 8, 4, 1, 27);
f(11, 13, 8, 14, 16, 10);
f(9, 11, 8, 12, 14, 10);
f(4, 8, 13, 4, 27, 19);
f(13, 6, 4, 19, 6, 4);
f(13, 15, 7, 19, 18, 8);
f(7, 6, 13, 8, 6, 19);
f(10, 14, 13, 28, 17, 19);
f(12, 14, 10, 24, 17, 28);
f(21, 22, 23, 29, 30, 31);
f(23, 24, 21, 31, 32, 29);
f(24, 23, 25, 32, 31, 33);
f(26, 25, 23, 34, 33, 31);
f(25, 26, 27, 33, 34, 35);
f(28, 27, 26, 36, 37, 38);
f(25, 21, 24, 33, 29, 32);
f(21, 29, 30, 39, 40, 41);
f(31, 32, 33, 42, 43, 44);
f(31, 34, 32, 42, 45, 43);
f(35, 36, 34, 46, 47, 48);
f(22, 21, 30, 49, 39, 41);
f(37, 23, 22, 50, 31, 30);
f(22, 38, 37, 30, 51, 50);
f(22, 39, 38, 30, 52, 51);
f(33, 40, 38, 53, 54, 51);
f(38, 41, 33, 51, 55, 53);
f(39, 41, 38, 52, 55, 51);
f(40, 33, 36, 54, 53, 47);
f(21, 25, 29, 29, 33, 56);
f(34, 31, 29, 45, 42, 40);
f(31, 30, 29, 42, 41, 40);
f(29, 25, 34, 56, 33, 48);
f(27, 34, 25, 35, 48, 33);
f(34, 27, 28, 48, 35, 36);
f(28, 35, 34, 36, 46, 48);
f(36, 32, 34, 47, 57, 48);
f(36, 33, 32, 47, 53, 57);
f(42, 43, 44, 58, 59, 60);
f(44, 45, 42, 60, 61, 58);
f(18, 19, 12, 23, 25, 15);
f(0, 18, 12, 0, 23, 15);
f(9, 0, 12, 12, 0, 15);
f(9, 12, 11, 12, 15, 14);
f(36, 35, 28, 47, 46, 36);
f(23, 37, 36, 31, 50, 47);
f(23, 36, 28, 31, 47, 36);
f(23, 28, 26, 31, 36, 34);
f(41, 39, 22, 55, 52, 49);
f(33, 41, 22, 53, 55, 49);
f(31, 33, 22, 42, 53, 49);
f(31, 22, 30, 42, 49, 41);
f(46, 47, 48, 62, 63, 64);
f(48, 49, 46, 64, 65, 62);
f(5, 7, 15, 9, 8, 18);
f(3, 5, 15, 3, 9, 18);
f(16, 3, 15, 21, 3, 18);
f(16, 15, 14, 21, 18, 17);
f(43, 17, 16, 59, 22, 21);
f(16, 44, 43, 21, 60, 59);
f(42, 20, 17, 58, 26, 22);
f(17, 43, 42, 22, 59, 58);
f(45, 14, 20, 61, 17, 26);
f(20, 42, 45, 26, 58, 61);
f(44, 16, 14, 60, 21, 17);
f(14, 45, 44, 17, 61, 60);
f(47, 38, 40, 63, 51, 54);
f(40, 48, 47, 54, 64, 63);
f(46, 37, 38, 62, 50, 51);
f(38, 47, 46, 51, 63, 62);
f(49, 36, 37, 65, 47, 50);
f(37, 46, 49, 50, 62, 65);
f(48, 40, 36, 64, 54, 47);
f(36, 49, 48, 47, 65, 64);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 161
//Scarpe3 (Scarpe3)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Scarpe3 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Scarpe3(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-25.580482, -14.397648, 6.52562);
v(-27.180176, -25.220711, 3.695526);
v(-27.807755, -26.249569, 0.467163);
v(-23.285431, -0.186381, 9.285248);
v(-21.36158, -32.660912, 4.685013);
v(-22.330124, -32.819839, 0.776764);
v(-16.369461, -33.710918, 4.260849);
v(-16.115662, -30.800007, 0.621964);
v(-20.19313, -23.177523, 6.836868);
v(-20.34993, -7.042413, 13.670059);
v(-15.231125, -4.960671, 6.953613);
v(-15.150543, -5.887023, 12.491524);
v(-12.67662, 0.982337, 10.352448);
v(-14.282753, -18.767895, 7.178329);
v(-15.37384, -3.320037, 1.234413);
v(-13.120216, -16.114071, 1.707245);
v(-21.719673, 4.632094, 1.34111);
v(-21.50972, 3.428735, 10.033012);
v(-18.919113, 3.911959, 9.602463);
v(-15.920975, 4.221042, 1.043358);
v(25.580482, -14.397648, 6.52562);
v(23.285431, -0.186381, 9.285248);
v(27.807755, -26.249569, 0.467163);
v(27.180176, -25.220711, 3.695526);
v(21.36158, -32.660912, 4.685013);
v(22.330124, -32.819839, 0.776764);
v(16.369461, -33.710918, 4.260849);
v(16.115662, -30.800007, 0.621964);
v(20.19313, -23.177523, 6.836868);
v(20.34993, -7.042413, 13.670059);
v(15.150543, -5.887023, 12.491524);
v(15.231125, -4.960671, 6.953613);
v(12.67662, 0.982337, 10.352448);
v(14.282753, -18.767895, 7.178329);
v(13.120216, -16.114071, 1.707245);
v(15.37384, -3.320037, 1.234413);
v(21.719673, 4.632094, 1.34111);
v(21.50972, 3.428735, 10.033012);
v(15.920975, 4.221042, 1.043358);
v(18.919113, 3.911959, 9.602463);
uv(0.269797, 0.009456);
uv(0.269885, 0.009043);
uv(0.269942, 0.008972);
uv(0.269789, 0.010534);
uv(0.269111, 0.008683);
uv(0.269202, 0.008588);
uv(0.268524, 0.008693);
uv(0.270311, 0.009028);
uv(0.270325, 0.009206);
uv(0.270989, 0.008923);
uv(0.268832, 0.010505);
uv(0.269289, 0.010547);
uv(0.268964, 0.009908);
uv(0.268557, 0.009728);
uv(0.268541, 0.009777);
uv(0.268407, 0.009375);
uv(0.26833, 0.010458);
uv(0.268838, 0.010462);
uv(0.268393, 0.00973);
uv(0.268488, 0.009554);
uv(0.269283, 0.009577);
uv(0.26968, 0.010844);
uv(0.269639, 0.010776);
uv(0.268592, 0.010758);
uv(0.269349, 0.010842);
uv(0.269011, 0.010904);
uv(0.269173, 0.009503);
uv(0.268798, 0.010366);
uv(0.269797, 0.009456);
uv(0.269789, 0.010534);
uv(0.269942, 0.008972);
uv(0.269885, 0.009043);
uv(0.269111, 0.008683);
uv(0.269202, 0.008588);
uv(0.268524, 0.008693);
uv(0.270325, 0.009206);
uv(0.270311, 0.009028);
uv(0.270989, 0.008923);
uv(0.269289, 0.010547);
uv(0.268832, 0.010505);
uv(0.268964, 0.009908);
uv(0.268541, 0.009777);
uv(0.268557, 0.009728);
uv(0.268407, 0.009375);
uv(0.26833, 0.010458);
uv(0.268393, 0.00973);
uv(0.268838, 0.010462);
uv(0.268488, 0.009554);
uv(0.269283, 0.009577);
uv(0.26968, 0.010844);
uv(0.269639, 0.010776);
uv(0.268592, 0.010758);
uv(0.269011, 0.010904);
uv(0.269349, 0.010842);
uv(0.269173, 0.009503);
uv(0.268798, 0.010366);
f(0, 1, 2, 0, 1, 2);
f(2, 3, 0, 2, 3, 0);
f(2, 1, 4, 2, 1, 4);
f(4, 5, 2, 4, 5, 2);
f(5, 4, 6, 5, 4, 6);
f(6, 7, 5, 7, 8, 9);
f(0, 4, 1, 0, 4, 1);
f(8, 0, 9, 10, 11, 12);
f(10, 11, 12, 13, 14, 15);
f(13, 11, 10, 16, 14, 13);
f(14, 15, 13, 17, 18, 19);
f(0, 3, 9, 11, 20, 12);
f(3, 2, 16, 3, 2, 21);
f(17, 3, 16, 22, 3, 21);
f(12, 18, 16, 23, 24, 21);
f(16, 19, 12, 21, 25, 23);
f(18, 17, 16, 24, 22, 21);
f(12, 19, 14, 23, 25, 17);
f(4, 0, 8, 4, 0, 26);
f(11, 13, 8, 14, 16, 10);
f(9, 11, 8, 12, 14, 10);
f(4, 8, 13, 4, 26, 19);
f(13, 6, 4, 19, 6, 4);
f(13, 15, 7, 19, 18, 8);
f(7, 6, 13, 8, 6, 19);
f(10, 14, 13, 27, 17, 19);
f(12, 14, 10, 23, 17, 27);
f(20, 21, 22, 28, 29, 30);
f(22, 23, 20, 30, 31, 28);
f(23, 22, 24, 31, 30, 32);
f(25, 24, 22, 33, 32, 30);
f(24, 25, 26, 32, 33, 34);
f(27, 26, 25, 35, 36, 37);
f(24, 20, 23, 32, 28, 31);
f(20, 28, 29, 38, 39, 40);
f(30, 31, 32, 41, 42, 43);
f(30, 33, 31, 41, 44, 42);
f(34, 35, 33, 45, 46, 47);
f(21, 20, 29, 48, 38, 40);
f(22, 21, 36, 30, 29, 49);
f(21, 37, 36, 29, 50, 49);
f(32, 38, 36, 51, 52, 49);
f(36, 39, 32, 49, 53, 51);
f(37, 39, 36, 50, 53, 49);
f(38, 32, 35, 52, 51, 46);
f(20, 24, 28, 28, 32, 54);
f(33, 30, 28, 44, 41, 39);
f(30, 29, 28, 41, 40, 39);
f(28, 24, 33, 54, 32, 47);
f(26, 33, 24, 34, 47, 32);
f(33, 26, 27, 47, 34, 35);
f(27, 34, 33, 35, 45, 47);
f(35, 31, 33, 46, 55, 47);
f(35, 32, 31, 46, 51, 55);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 162
//Scarpe4 (Scarpe4)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Scarpe4 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Scarpe4(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-23.285431, -0.186381, 9.285248);
v(-25.580482, -10.812455, -9.391151);
v(-27.180176, -20.706203, -13.279839);
v(-27.807755, -21.73506, -16.508202);
v(-21.36158, -28.1464, -12.290352);
v(-22.330124, -28.305328, -16.198601);
v(-16.369461, -29.196409, -12.714516);
v(-16.115662, -26.285501, -16.353401);
v(-20.19313, -19.592331, -9.079903);
v(-20.34993, -7.042413, 13.670059);
v(-15.231125, -4.960671, 6.953613);
v(-15.150543, -5.887023, 12.491524);
v(-12.67662, 0.982337, 10.352448);
v(-14.282753, -15.182705, -8.738441);
v(-15.37384, 0.638305, 1.234413);
v(-13.120216, -11.599562, -15.26812);
v(-22.450043, 1.468886, -0.800232);
v(-21.719673, 4.632094, 1.34111);
v(-21.50972, 3.428735, 10.033012);
v(-18.919113, 3.911959, 9.602463);
v(-15.920975, 4.221042, 1.043358);
v(25.580482, -10.812452, -9.391151);
v(23.285431, -0.186381, 9.285248);
v(27.807755, -21.735064, -16.508202);
v(27.180176, -20.706203, -13.279839);
v(21.36158, -28.146404, -12.290352);
v(22.330124, -28.305332, -16.198601);
v(16.369461, -29.196409, -12.714516);
v(16.115662, -26.285498, -16.353401);
v(20.19313, -19.592331, -9.079903);
v(20.34993, -7.042413, 13.670059);
v(15.150543, -5.887023, 12.491524);
v(15.231125, -4.960671, 6.953613);
v(12.67662, 0.982337, 10.352448);
v(14.282753, -15.182699, -8.738441);
v(13.120216, -11.599562, -15.26812);
v(15.37384, 0.638305, 1.234413);
v(22.520241, 1.164862, -1.006042);
v(21.719673, 4.632094, 1.34111);
v(21.50972, 3.428735, 10.033012);
v(15.920975, 4.221042, 1.043358);
v(18.919113, 3.911959, 9.602463);
v(-18.704147, 2.098196, -14.997574);
v(-20.469566, 2.180892, -14.971001);
v(-20.591011, 1.563428, -15.050621);
v(-18.604759, 0.330642, -14.969887);
v(20.774208, 1.510246, -15.060631);
v(20.627884, 2.229514, -14.973282);
v(18.858223, 2.149808, -15.000664);
v(18.759697, 0.344269, -14.972595);
uv(0.269789, 0.010534);
uv(0.269797, 0.009456);
uv(0.269885, 0.009043);
uv(0.269942, 0.008972);
uv(0.269111, 0.008683);
uv(0.269202, 0.008588);
uv(0.268524, 0.008693);
uv(0.270311, 0.009028);
uv(0.270325, 0.009206);
uv(0.270989, 0.008923);
uv(0.269124, 0.008753);
uv(0.269501, 0.008691);
uv(0.269233, 0.009636);
uv(0.268897, 0.009901);
uv(0.268883, 0.009829);
uv(0.268772, 0.010424);
uv(0.268709, 0.008821);
uv(0.268838, 0.010462);
uv(0.268393, 0.00973);
uv(0.268488, 0.009554);
uv(0.269497, 0.010125);
uv(0.269712, 0.01062);
uv(0.26968, 0.010844);
uv(0.269639, 0.010776);
uv(0.268592, 0.010758);
uv(0.269349, 0.010842);
uv(0.269011, 0.010904);
uv(0.269173, 0.009503);
uv(0.268798, 0.010366);
uv(0.269797, 0.009456);
uv(0.269789, 0.010534);
uv(0.269942, 0.008972);
uv(0.269885, 0.009043);
uv(0.269111, 0.008683);
uv(0.269202, 0.008588);
uv(0.268524, 0.008693);
uv(0.270325, 0.009206);
uv(0.270311, 0.009028);
uv(0.270989, 0.008923);
uv(0.269501, 0.008691);
uv(0.269124, 0.008753);
uv(0.269233, 0.009636);
uv(0.268883, 0.009829);
uv(0.268897, 0.009901);
uv(0.268772, 0.010424);
uv(0.268709, 0.008821);
uv(0.268393, 0.00973);
uv(0.268838, 0.010462);
uv(0.268488, 0.009554);
uv(0.269497, 0.010125);
uv(0.269715, 0.010598);
uv(0.26968, 0.010844);
uv(0.269639, 0.010776);
uv(0.268592, 0.010758);
uv(0.269011, 0.010904);
uv(0.269349, 0.010842);
uv(0.269173, 0.009503);
uv(0.268798, 0.010366);
uv(0.269011, 0.010904);
uv(0.26968, 0.010844);
uv(0.269712, 0.01062);
uv(0.268838, 0.010462);
uv(0.269715, 0.010598);
uv(0.26968, 0.010844);
uv(0.269011, 0.010904);
uv(0.268838, 0.010462);
f(0, 1, 2, 0, 1, 2);
f(2, 3, 0, 2, 3, 0);
f(3, 2, 4, 3, 2, 4);
f(4, 5, 3, 4, 5, 3);
f(5, 4, 6, 5, 4, 6);
f(6, 7, 5, 7, 8, 9);
f(1, 4, 2, 1, 4, 2);
f(8, 1, 9, 10, 11, 12);
f(10, 11, 12, 13, 14, 15);
f(13, 11, 10, 16, 14, 13);
f(14, 15, 13, 17, 18, 19);
f(1, 0, 9, 11, 20, 12);
f(16, 17, 0, 21, 22, 0);
f(0, 3, 16, 0, 3, 21);
f(18, 0, 17, 23, 0, 22);
f(12, 19, 17, 24, 25, 22);
f(17, 20, 12, 22, 26, 24);
f(19, 18, 17, 25, 23, 22);
f(12, 20, 14, 24, 26, 17);
f(4, 1, 8, 4, 1, 27);
f(11, 13, 8, 14, 16, 10);
f(9, 11, 8, 12, 14, 10);
f(4, 8, 13, 4, 27, 19);
f(13, 6, 4, 19, 6, 4);
f(13, 15, 7, 19, 18, 8);
f(7, 6, 13, 8, 6, 19);
f(10, 14, 13, 28, 17, 19);
f(12, 14, 10, 24, 17, 28);
f(21, 22, 23, 29, 30, 31);
f(23, 24, 21, 31, 32, 29);
f(24, 23, 25, 32, 31, 33);
f(26, 25, 23, 34, 33, 31);
f(25, 26, 27, 33, 34, 35);
f(28, 27, 26, 36, 37, 38);
f(25, 21, 24, 33, 29, 32);
f(21, 29, 30, 39, 40, 41);
f(31, 32, 33, 42, 43, 44);
f(31, 34, 32, 42, 45, 43);
f(35, 36, 34, 46, 47, 48);
f(22, 21, 30, 49, 39, 41);
f(37, 23, 22, 50, 31, 30);
f(22, 38, 37, 30, 51, 50);
f(22, 39, 38, 30, 52, 51);
f(33, 40, 38, 53, 54, 51);
f(38, 41, 33, 51, 55, 53);
f(39, 41, 38, 52, 55, 51);
f(40, 33, 36, 54, 53, 47);
f(21, 25, 29, 29, 33, 56);
f(34, 31, 29, 45, 42, 40);
f(31, 30, 29, 42, 41, 40);
f(29, 25, 34, 56, 33, 48);
f(27, 34, 25, 35, 48, 33);
f(34, 27, 28, 48, 35, 36);
f(28, 35, 34, 36, 46, 48);
f(36, 32, 34, 47, 57, 48);
f(36, 33, 32, 47, 53, 57);
f(42, 43, 44, 58, 59, 60);
f(44, 45, 42, 60, 61, 58);
f(18, 19, 12, 23, 25, 15);
f(0, 18, 12, 0, 23, 15);
f(9, 0, 12, 12, 0, 15);
f(9, 12, 11, 12, 15, 14);
f(36, 35, 28, 47, 46, 36);
f(23, 37, 36, 31, 50, 47);
f(23, 36, 28, 31, 47, 36);
f(23, 28, 26, 31, 36, 34);
f(41, 39, 22, 55, 52, 49);
f(33, 41, 22, 53, 55, 49);
f(31, 33, 22, 42, 53, 49);
f(31, 22, 30, 42, 49, 41);
f(46, 47, 48, 62, 63, 64);
f(48, 49, 46, 64, 65, 62);
f(5, 7, 15, 9, 8, 18);
f(3, 5, 15, 3, 9, 18);
f(16, 3, 15, 21, 3, 18);
f(16, 15, 14, 21, 18, 17);
f(43, 17, 16, 59, 22, 21);
f(16, 44, 43, 21, 60, 59);
f(42, 20, 17, 58, 26, 22);
f(17, 43, 42, 22, 59, 58);
f(45, 14, 20, 61, 17, 26);
f(20, 42, 45, 26, 58, 61);
f(44, 16, 14, 60, 21, 17);
f(14, 45, 44, 17, 61, 60);
f(47, 38, 40, 63, 51, 54);
f(40, 48, 47, 54, 64, 63);
f(46, 37, 38, 62, 50, 51);
f(38, 47, 46, 51, 63, 62);
f(49, 36, 37, 65, 47, 50);
f(37, 46, 49, 50, 62, 65);
f(48, 40, 36, 64, 54, 47);
f(36, 49, 48, 47, 65, 64);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 163
//ShirtUP (ShirtUP)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class ShirtUP extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function ShirtUP(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-27.578957, 9.646152, 158.896912);
v(-31.075493, 2.683784, 160.025604);
v(-19.892273, -0.264524, 162.089783);
v(-15.333801, 6.34537, 163.708694);
v(-10.826759, 9.608884, 167.240692);
v(-34.656548, 2.526339, 164.095795);
v(-26.277077, -0.30919, 165.067169);
v(-24.249512, -0.621634, 172.454514);
v(-35.724541, 7.70967, 168.309875);
v(-33.712349, 12.036954, 168.338898);
v(-21.331635, 5.950027, 172.390854);
v(-7.403313, -5.185091, 176.016998);
v(-4.384895, -11.722461, 172.933517);
v(-9.762741, -10.018909, 173.986511);
v(-29.084541, 15.387876, 164.006531);
v(-23.114372, -4.242906, 163.318451);
v(-10.813217, -14.704367, 168.008682);
v(-15.365356, -13.587157, 167.597519);
v(-15.253891, -8.707894, 172.303818);
v(-27.921638, 12.236178, 160.373444);
v(-15.472939, -18.315712, 164.879517);
v(-11.760078, -20.638329, 165.674438);
v(-1.81678, -16.19659, 164.267899);
v(-4.84053, -19.392456, 162.481079);
v(-7.290283, -21.548168, 164.041046);
v(-1.150909, -18.202911, 160.279251);
v(0.04528, -15.583632, 160.316772);
v(-19.301727, -9.028306, 160.60936);
v(-10.35994, 7.619869, 160.684464);
v(-18.153381, -0.578975, 159.952286);
v(-6.030853, 1.521746, 175.920746);
v(-7.713196, 6.962165, 174.015427);
v(0.04528, 7.744476, 167.535889);
v(0.04528, 5.691522, 160.582855);
v(0.045235, 4.035344, 176.092072);
v(22.183456, -6.855353, 152.450928);
v(19.237259, -1.515041, 152.193146);
v(17.510643, -0.264524, 161.03096);
v(22.17099, 4.504004, 152.449814);
v(25.711914, 3.171041, 164.561737);
v(15.424355, 6.345366, 167.762405);
v(21.282524, 3.722832, 170.971436);
v(30.113586, -7.964758, 153.144684);
v(25.396088, -8.375831, 166.673172);
v(31.234756, -4.537921, 153.533661);
v(23.500359, -1.865387, 171.502014);
v(32.791618, 0.439392, 153.536346);
v(9.853294, -10.018907, 173.986511);
v(4.12751, -11.943093, 172.836182);
v(7.49382, -5.185091, 176.016998);
v(29.475723, 5.646687, 153.720978);
v(20.882072, -10.190972, 163.802277);
v(10.903763, -14.704363, 168.008682);
v(15.400169, -11.147529, 165.84964);
v(15.563492, -18.315704, 164.879517);
v(11.850632, -20.638325, 165.674438);
v(7.380836, -21.548172, 164.041046);
v(4.922417, -19.302168, 162.531555);
v(1.907318, -16.19659, 164.267899);
v(1.241455, -18.202911, 160.279251);
v(5.280769, 9.371969, 167.65126);
v(6.39389, 6.687324, 174.015427);
v(10.450485, 7.619871, 160.684464);
v(18.243309, -0.578975, 159.952286);
v(19.392273, -9.028309, 160.609375);
v(5.384918, 1.145509, 175.920761);
v(0.045273, 5.208002, 159.482559);
v(9.997681, 6.60561, 159.36911);
v(-9.907135, 6.605609, 159.36911);
v(0.045273, -16.192627, 160.227966);
v(7.747734, -2.134067, 177.901855);
v(5.491982, 3.043324, 177.902863);
v(9.370331, 4.070309, 175.267838);
v(0.046097, 4.77917, 178.020401);
v(0.045807, 7.362406, 174.485245);
v(-9.278717, 4.070309, 175.267853);
v(-9.278717, 4.07031, 175.267838);
v(-5.39978, 3.043323, 177.902863);
v(-7.65554, -2.134068, 177.901855);
v(-10.226982, -8.43264, 175.388672);
v(-6.474251, -10.775518, 176.064682);
v(-10.296768, -12.138998, 173.223206);
v(6.415413, -10.811766, 176.125595);
v(10.23735, -12.175249, 173.284119);
v(6.92363, -16.728218, 167.120163);
v(10.318596, -8.43264, 175.388672);
v(-7.313133, -16.244114, 167.476135);
uv(0.346356, 0.705776);
uv(0.30382, 0.741353);
uv(0.367505, 0.706107);
uv(0.431405, 0.737055);
uv(0.494585, 0.804574);
uv(0.272668, 0.831601);
uv(0.332783, 0.763024);
uv(0.361206, 0.904243);
uv(0.276157, 0.913915);
uv(0.303526, 0.905971);
uv(0.402108, 0.903026);
uv(0.539835, 0.978708);
uv(0.572956, 0.903904);
uv(0.496192, 0.948545);
uv(0.347735, 0.80647);
uv(0.377118, 0.729595);
uv(0.494774, 0.819255);
uv(0.430963, 0.811395);
uv(0.432526, 0.901362);
uv(0.348006, 0.734484);
uv(0.429455, 0.759437);
uv(0.481501, 0.774633);
uv(0.582794, 0.747745);
uv(0.578499, 0.713587);
uv(0.544158, 0.743408);
uv(0.63022, 0.671496);
uv(0.646987, 0.710155);
uv(0.375783, 0.677807);
uv(0.214023, 0.576297);
uv(0.238239, 0.540535);
uv(0.235966, 0.618062);
uv(0.191829, 0.557153);
uv(0.391881, 0.665246);
uv(0.559074, 0.985703);
uv(0.53823, 0.934082);
uv(0.288898, 0.621553);
uv(0.288898, 0.539334);
uv(0.644248, 0.988978);
uv(0.646987, 0.810217);
uv(0.979559, 0.736395);
uv(0.976565, 0.688296);
uv(0.891815, 0.685866);
uv(0.979546, 0.736192);
uv(0.957478, 0.737454);
uv(0.86257, 0.814547);
uv(0.925516, 0.875892);
uv(0.987618, 0.865863);
uv(0.95305, 0.777817);
uv(0.984043, 0.885133);
uv(0.956605, 0.886035);
uv(0.987789, 0.910107);
uv(0.795044, 0.954908);
uv(0.721019, 0.903904);
uv(0.748661, 0.978708);
uv(0.976725, 0.857547);
uv(0.919902, 0.738844);
uv(0.799201, 0.819255);
uv(0.862231, 0.777982);
uv(0.86452, 0.759437);
uv(0.812473, 0.774633);
uv(0.749816, 0.743408);
uv(0.715355, 0.714552);
uv(0.711181, 0.747745);
uv(0.663755, 0.671496);
uv(0.720378, 0.812422);
uv(0.735982, 0.934082);
uv(0.339558, 0.540535);
uv(0.363774, 0.624232);
uv(0.314388, 0.622917);
uv(0.373931, 0.544633);
uv(0.902085, 0.665246);
uv(0.918192, 0.677807);
uv(0.719099, 0.985703);
uv(0.288898, 0.526323);
uv(0.337353, 0.524982);
uv(0.200295, 0.531877);
uv(0.240444, 0.524982);
uv(0.377498, 0.531877);
uv(0.646987, 0.670516);
uv(0.729824, 1);
uv(0.77576, 1);
uv(0.77576, 0.989114);
uv(0.821697, 1);
uv(0.821697, 0.989114);
uv(0.500141, 0.989114);
uv(0.500141, 0.989114);
uv(0.454204, 0.989114);
uv(0.500141, 1);
uv(0.454204, 1);
uv(0.546077, 1);
uv(0.546077, 0.989114);
uv(0.592014, 1);
uv(0.592014, 0.989114);
uv(0.683887, 1);
uv(0.683887, 0.989114);
uv(0.63795, 0.989114);
uv(0.63795, 1);
uv(0.729824, 0.989114);
uv(0.630095, 1);
uv(0.631522, 0.989114);
uv(0.664761, 0.998954);
uv(0.719173, 0.998954);
f(0, 1, 2, 0, 1, 2);
f(0, 2, 3, 0, 2, 3);
f(0, 3, 4, 0, 3, 4);
f(2, 5, 6, 2, 5, 6);
f(5, 7, 6, 5, 7, 6);
f(5, 8, 7, 5, 8, 7);
f(8, 9, 10, 8, 9, 10);
f(7, 8, 10, 7, 8, 10);
f(11, 12, 13, 11, 12, 13);
f(11, 13, 7, 11, 13, 7);
f(11, 7, 10, 11, 7, 10);
f(9, 14, 10, 9, 14, 10);
f(15, 2, 6, 15, 2, 6);
f(16, 17, 18, 16, 17, 18);
f(13, 16, 18, 13, 16, 18);
f(7, 13, 18, 7, 13, 18);
f(19, 0, 4, 19, 0, 4);
f(4, 14, 19, 4, 14, 19);
f(16, 20, 17, 16, 20, 17);
f(16, 21, 20, 16, 21, 20);
f(22, 23, 24, 22, 23, 24);
f(25, 23, 22, 25, 23, 22);
f(26, 25, 22, 26, 25, 22);
f(24, 21, 16, 24, 21, 16);
f(22, 24, 16, 22, 24, 16);
f(22, 16, 13, 22, 16, 13);
f(12, 22, 13, 12, 22, 13);
f(20, 27, 17, 20, 27, 17);
f(3, 28, 4, 28, 29, 30);
f(2, 28, 3, 31, 29, 28);
f(27, 29, 2, 27, 32, 2);
f(10, 14, 4, 10, 14, 4);
f(30, 10, 4, 33, 10, 4);
f(31, 30, 4, 34, 33, 4);
f(11, 10, 30, 11, 10, 33);
f(7, 18, 15, 7, 18, 15);
f(15, 6, 7, 15, 6, 7);
f(18, 27, 15, 18, 27, 15);
f(27, 2, 15, 27, 2, 15);
f(32, 28, 33, 35, 29, 36);
f(32, 4, 28, 35, 30, 29);
f(34, 4, 32, 37, 4, 38);
f(34, 31, 4, 37, 34, 4);
f(34, 30, 31, 37, 33, 34);
f(35, 36, 37, 39, 40, 41);
f(36, 38, 37, 40, 42, 41);
f(37, 38, 39, 41, 42, 43);
f(37, 39, 40, 41, 43, 44);
f(40, 39, 41, 44, 43, 45);
f(42, 37, 43, 46, 41, 47);
f(44, 42, 43, 48, 46, 47);
f(45, 46, 44, 49, 50, 48);
f(47, 48, 49, 51, 52, 53);
f(43, 47, 49, 47, 51, 53);
f(43, 49, 45, 47, 53, 49);
f(43, 45, 44, 47, 49, 48);
f(50, 46, 45, 54, 50, 49);
f(37, 51, 43, 41, 55, 47);
f(52, 47, 43, 56, 51, 47);
f(43, 53, 52, 47, 57, 56);
f(39, 38, 50, 43, 42, 54);
f(50, 41, 39, 54, 45, 43);
f(54, 52, 53, 58, 56, 57);
f(55, 52, 54, 59, 56, 58);
f(56, 57, 58, 60, 61, 62);
f(57, 59, 58, 61, 63, 62);
f(59, 26, 58, 63, 26, 62);
f(55, 56, 52, 59, 60, 56);
f(56, 58, 52, 60, 62, 56);
f(52, 58, 47, 56, 62, 51);
f(58, 48, 47, 62, 52, 51);
f(60, 40, 61, 64, 44, 65);
f(62, 40, 60, 66, 67, 68);
f(62, 37, 40, 66, 69, 67);
f(63, 64, 37, 70, 71, 41);
f(40, 41, 61, 44, 45, 65);
f(65, 61, 41, 72, 65, 45);
f(45, 65, 41, 49, 72, 45);
f(50, 45, 41, 54, 49, 45);
f(45, 49, 65, 49, 53, 72);
f(51, 53, 43, 55, 57, 47);
f(64, 53, 51, 71, 57, 55);
f(37, 64, 51, 41, 71, 55);
f(33, 66, 67, 36, 73, 74);
f(67, 62, 33, 74, 66, 36);
f(62, 32, 33, 66, 35, 36);
f(62, 60, 32, 66, 68, 35);
f(60, 34, 32, 64, 37, 38);
f(60, 61, 34, 64, 65, 37);
f(61, 65, 34, 65, 72, 37);
f(27, 18, 17, 27, 18, 17);
f(64, 54, 53, 71, 58, 57);
f(28, 2, 29, 29, 31, 75);
f(29, 68, 28, 75, 76, 29);
f(33, 28, 68, 36, 29, 76);
f(68, 66, 33, 76, 73, 36);
f(63, 37, 62, 77, 69, 66);
f(62, 67, 63, 66, 74, 77);
f(69, 26, 59, 78, 26, 63);
f(25, 26, 69, 25, 26, 78);
f(5, 2, 1, 5, 2, 1);
f(35, 37, 42, 39, 41, 46);
f(70, 71, 72, 79, 80, 81);
f(73, 74, 72, 82, 83, 81);
f(72, 71, 73, 81, 80, 82);
f(75, 76, 74, 84, 85, 86);
f(77, 75, 74, 87, 84, 86);
f(73, 77, 74, 88, 87, 86);
f(78, 79, 76, 89, 90, 85);
f(76, 75, 78, 85, 84, 89);
f(80, 81, 79, 91, 92, 90);
f(79, 78, 80, 90, 89, 91);
f(82, 83, 84, 93, 94, 95);
f(84, 48, 82, 95, 96, 93);
f(70, 85, 83, 79, 97, 94);
f(83, 82, 70, 94, 93, 79);
f(81, 80, 12, 92, 91, 98);
f(12, 86, 81, 98, 99, 92);
f(78, 12, 80, 89, 100, 91);
f(70, 82, 48, 79, 93, 101);
f(72, 85, 70, 81, 97, 79);
f(75, 77, 78, 84, 87, 89);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 164
//Shorts (Shorts)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Shorts extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Shorts(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-1.138153, 1.966613, 98.189049);
v(-3.006989, -12.044291, 111.600464);
v(-2.30162, 3.639582, 105.985916);
v(-5.416031, 7.249382, 96.570259);
v(-11.008942, 7.584233, 108.005188);
v(-18.782013, 9.1524, 111.139351);
v(-20.663628, 8.440971, 97.626572);
v(-21.306328, 4.371252, 122.137215);
v(-21.072792, -2.664467, 127.432297);
v(-26.977028, -2.873518, 101.446465);
v(-18.322403, -5.042849, 130.97522);
v(-15.929588, -10.604251, 126.303513);
v(-11.224495, -16.292536, 101.058456);
v(-7.595146, -14.000582, 119.267532);
v(-2.415588, 3.016242, 109.765579);
v(-1.788376, 9.01792, 111.681641);
v(-10.801476, 10.936342, 111.235085);
v(-6.59671, 13.30855, 121.744667);
v(-3.387856, 10.559322, 127.347565);
v(-18.355232, 11.419931, 116.178078);
v(-16.761162, 10.925675, 121.858932);
v(-13.700249, 9.04556, 128.976013);
v(-5.7873, -16.437239, 127.652618);
v(1.5E-5, -13.468113, 111.883408);
v(1.5E-5, -17.138315, 125.964005);
v(1.5E-5, -3.955881, 110.386215);
v(-14.006332, -13.546842, 129.597015);
v(1.5E-5, 7.223679, 113.535423);
v(1.5E-5, 9.281733, 121.962029);
v(1.5E-5, 8.346867, 127.22438);
v(3.007027, -12.044291, 111.600464);
v(4.93853, -12.774082, 100.07576);
v(2.034576, 1.966614, 98.189049);
v(2.301659, 3.639582, 105.985916);
v(6.312454, 7.249383, 96.570259);
v(11.00898, 7.584229, 108.005188);
v(21.560059, 8.440969, 97.626572);
v(18.782051, 9.152396, 111.139351);
v(21.306358, 4.371252, 122.137207);
v(27.873451, -2.873518, 101.446457);
v(21.072838, -2.664467, 127.432289);
v(15.929626, -10.604252, 126.303513);
v(18.322449, -5.042849, 130.97522);
v(8.091827, -14.00058, 119.267532);
v(21.687439, -13.317188, 101.761246);
v(12.120918, -16.292538, 101.058456);
v(6.740852, -13.385679, 100.292015);
v(2.415627, 3.016242, 109.765579);
v(10.801514, 10.936344, 111.235085);
v(1.788414, 9.017923, 111.681641);
v(6.596748, 13.308552, 121.744667);
v(3.387894, 10.559326, 127.347565);
v(18.35527, 11.419935, 116.17807);
v(16.7612, 10.925672, 121.858932);
v(13.700287, 9.045556, 128.976013);
v(5.787338, -16.437239, 127.652618);
v(14.006378, -13.546845, 129.597015);
v(-4.049965, -12.774643, 100.037415);
v(-5.854813, -13.387688, 100.264984);
v(-20.791008, -13.317188, 101.761246);
uv(0.45618, 0.738691);
uv(0.442974, 0.840446);
uv(0.456351, 0.794353);
uv(0.380738, 0.725402);
uv(0.291222, 0.81093);
uv(0.143811, 0.83666);
uv(0.111839, 0.734074);
uv(0.056525, 0.913808);
uv(0.066584, 0.968538);
uv(0.068067, 0.744787);
uv(0.059935, 0.997624);
uv(0.156614, 0.963026);
uv(0.278303, 0.762247);
uv(0.355963, 0.903387);
uv(0.45419, 0.825382);
uv(0.466084, 0.841112);
uv(0.295157, 0.837446);
uv(0.907931, 0.918093);
uv(0.974492, 0.814836);
uv(0.9515, 0.993637);
uv(0.374898, 0.923723);
uv(0.151905, 0.878025);
uv(0.157736, 0.920908);
uv(0.434586, 0.999268);
uv(0.193477, 0.999215);
uv(0.388968, 0.999348);
uv(0.5, 0.842768);
uv(0.498996, 0.998904);
uv(0.5, 0.830477);
uv(0.163258, 0.999379);
uv(0.5, 0.85633);
uv(0.999249, 0.936769);
uv(0.999249, 0.8507);
uv(0.998516, 0.993605);
uv(0.557026, 0.840446);
uv(0.595032, 0.75418);
uv(0.54382, 0.738691);
uv(0.543649, 0.794353);
uv(0.619262, 0.725402);
uv(0.708778, 0.81093);
uv(0.88253, 0.621461);
uv(0.856189, 0.83666);
uv(0.947229, 0.926946);
uv(0.99387, 0.579622);
uv(0.970954, 0.998568);
uv(0.813356, 0.961149);
uv(0.944939, 0.999501);
uv(0.653456, 0.903387);
uv(0.884777, 0.629128);
uv(0.721697, 0.732217);
uv(0.626817, 0.755955);
uv(0.54581, 0.825382);
uv(0.704843, 0.837446);
uv(1.024006, 0.814836);
uv(1.090568, 0.918093);
uv(1.045533, 0.993637);
uv(0.533916, 0.841112);
uv(0.625103, 0.923723);
uv(0.848095, 0.878025);
uv(0.829126, 0.924661);
uv(0.563406, 0.999268);
uv(0.81389, 0.997338);
uv(0.609024, 0.999348);
uv(0.819709, 0.997502);
uv(0.404829, 0.753865);
uv(0.373, 0.755733);
uv(0.109593, 0.739864);
f(0, 1, 2, 0, 1, 2);
f(3, 2, 4, 3, 2, 4);
f(4, 5, 6, 4, 5, 6);
f(6, 3, 4, 6, 3, 4);
f(6, 5, 7, 6, 5, 7);
f(7, 8, 9, 7, 8, 9);
f(9, 6, 7, 9, 6, 7);
f(8, 10, 11, 8, 10, 11);
f(10, 8, 7, 10, 8, 7);
f(12, 13, 1, 12, 13, 1);
f(1, 14, 2, 1, 14, 2);
f(15, 16, 14, 15, 16, 14);
f(17, 15, 18, 17, 18, 19);
f(16, 15, 17, 16, 15, 20);
f(5, 4, 16, 5, 4, 16);
f(19, 16, 17, 21, 16, 20);
f(5, 16, 19, 5, 16, 21);
f(20, 17, 18, 22, 20, 23);
f(20, 19, 17, 22, 21, 20);
f(7, 5, 19, 7, 5, 21);
f(7, 19, 20, 7, 21, 22);
f(7, 20, 21, 7, 22, 24);
f(21, 20, 18, 24, 22, 23);
f(10, 7, 21, 10, 7, 24);
f(22, 1, 13, 25, 1, 13);
f(23, 1, 22, 26, 1, 25);
f(24, 23, 22, 27, 26, 25);
f(23, 25, 1, 26, 28, 1);
f(1, 25, 14, 1, 28, 14);
f(26, 22, 13, 29, 25, 13);
f(13, 11, 26, 13, 11, 29);
f(26, 11, 10, 29, 11, 10);
f(27, 15, 14, 30, 15, 14);
f(28, 15, 27, 31, 18, 32);
f(28, 18, 15, 31, 19, 18);
f(29, 18, 28, 33, 19, 31);
f(27, 14, 25, 30, 14, 28);
f(30, 31, 32, 34, 35, 36);
f(30, 32, 33, 34, 36, 37);
f(34, 35, 33, 38, 39, 37);
f(35, 34, 36, 39, 38, 40);
f(36, 37, 35, 40, 41, 39);
f(37, 36, 38, 41, 40, 42);
f(39, 40, 38, 43, 44, 42);
f(38, 36, 39, 42, 40, 43);
f(41, 42, 40, 45, 46, 44);
f(40, 42, 38, 44, 46, 42);
f(43, 41, 44, 47, 45, 48);
f(44, 45, 43, 48, 49, 47);
f(43, 45, 30, 47, 49, 34);
f(45, 46, 30, 49, 50, 34);
f(47, 30, 33, 51, 34, 37);
f(31, 30, 46, 35, 34, 50);
f(47, 33, 35, 51, 37, 39);
f(35, 48, 47, 39, 52, 51);
f(49, 50, 51, 53, 54, 55);
f(49, 48, 50, 56, 52, 57);
f(35, 37, 48, 39, 41, 52);
f(48, 52, 50, 52, 58, 57);
f(48, 37, 52, 52, 41, 58);
f(50, 53, 51, 57, 59, 60);
f(52, 53, 50, 58, 59, 57);
f(37, 38, 52, 41, 42, 58);
f(52, 38, 53, 58, 42, 59);
f(53, 38, 54, 59, 42, 61);
f(53, 54, 51, 59, 61, 60);
f(38, 42, 54, 42, 46, 61);
f(30, 55, 43, 34, 62, 47);
f(30, 23, 55, 34, 26, 62);
f(23, 24, 55, 26, 27, 62);
f(25, 23, 30, 28, 26, 34);
f(25, 30, 47, 28, 34, 51);
f(56, 41, 43, 63, 45, 47);
f(43, 55, 56, 47, 62, 63);
f(41, 56, 42, 45, 63, 46);
f(47, 49, 27, 51, 56, 30);
f(49, 28, 27, 53, 31, 32);
f(49, 51, 28, 53, 55, 31);
f(51, 29, 28, 55, 33, 31);
f(47, 27, 25, 51, 30, 28);
f(44, 41, 40, 48, 45, 44);
f(40, 39, 44, 44, 43, 48);
f(48, 49, 47, 52, 56, 51);
f(14, 16, 4, 14, 16, 4);
f(4, 2, 14, 4, 2, 14);
f(57, 1, 0, 64, 1, 0);
f(58, 1, 57, 65, 1, 64);
f(12, 1, 58, 12, 1, 65);
f(13, 12, 59, 13, 12, 66);
f(59, 11, 13, 66, 11, 13);
f(8, 11, 59, 8, 11, 66);
f(59, 9, 8, 66, 9, 8);
f(0, 2, 3, 0, 2, 3);
f(34, 33, 32, 38, 37, 36);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 165
//Skirt1 (Skirt1)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Skirt1 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Skirt1(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(1.5E-5, 13.914468, 123.403915);
v(3.387894, 10.559326, 127.347565);
v(1.5E-5, 8.346867, 127.22438);
v(13.177834, 13.635177, 125.072739);
v(13.700287, 9.045556, 128.976013);
v(20.32151, 6.870719, 123.689995);
v(16.630783, -12.456512, 125.687729);
v(14.006378, -13.546845, 129.597015);
v(18.322449, -5.042849, 130.97522);
v(22.483948, -4.339498, 127.068497);
v(6.558952, -16.816711, 123.742744);
v(5.787338, -16.437239, 127.652618);
v(1.5E-5, -17.590414, 122.054031);
v(1.5E-5, -17.667028, 127.37468);
v(-6.558914, -16.816711, 123.742744);
v(-5.7873, -16.437239, 127.652618);
v(-16.630737, -12.456506, 125.687729);
v(-14.006332, -13.546842, 129.597015);
v(-22.483894, -4.339499, 127.068497);
v(-18.322403, -5.042849, 130.97522);
v(-20.805878, 6.942545, 123.983292);
v(-13.700249, 9.04556, 128.976013);
v(-3.387856, 10.559322, 127.347565);
v(-13.177803, 13.635185, 125.072739);
v(20.893959, 15.06811, 103.650246);
v(1.5E-5, 12.545198, 101.335518);
v(20.673363, -16.164839, 103.549828);
v(28.72393, -4.967238, 103.280319);
v(7.844788, -19.350204, 102.072342);
v(1.5E-5, -20.021513, 102.231552);
v(-10.087799, -19.350203, 101.588753);
v(-20.673317, -16.164833, 103.549828);
v(-28.971985, -4.967239, 103.280319);
v(-23.382324, 12.620473, 103.650246);
uv(0.482154, 0.752169);
uv(0.378922, 0.884758);
uv(0.482154, 0.880616);
uv(0.20365, 0.805039);
uv(0.128141, 0.93627);
uv(0.37876, 0.88152);
uv(0.481993, 0.748932);
uv(0.996849, 0.805039);
uv(0.812473, 0.75855);
uv(0.92134, 0.93627);
uv(0.417995, 0.825715);
uv(0.365881, 0.957148);
uv(0.580939, 1.003485);
uv(0.603874, 0.872138);
uv(0.173848, 0.760323);
uv(0.159233, 0.891776);
uv(0.168031, 0.70031);
uv(0.168031, 0.879194);
uv(0.664034, 0.734423);
uv(0.678648, 0.865876);
uv(0.838203, 0.856532);
uv(0.838203, 0.677647);
uv(0.419886, 0.799815);
uv(0.472001, 0.931248);
uv(0.234008, 0.846238);
uv(0.256943, 0.977585);
uv(0.022844, 0.742511);
uv(0.084894, 0.907132);
uv(0.585386, 0.884758);
uv(0.836005, 0.939508);
uv(0.760496, 0.808276);
uv(0.067292, 0.10746);
uv(0.203812, 0.808276);
uv(0.481818, 0.014282);
uv(0.995491, 0.103584);
uv(0.996849, 0.805039);
uv(0.385643, 0.099542);
uv(0.622464, 0.088693);
uv(0.123917, 0.040066);
uv(0.114158, 0.042598);
uv(0.642492, -0.010412);
uv(0.898551, 0.015464);
uv(0.430021, 0.068531);
uv(0.193199, 0.057682);
uv(0.017218, 0.068697);
uv(0.896344, 0.10746);
uv(0.92134, 0.93627);
uv(0.009385, 0.775901);
f(0, 1, 2, 0, 1, 2);
f(3, 4, 1, 3, 4, 5);
f(1, 0, 3, 5, 6, 3);
f(3, 5, 4, 7, 8, 9);
f(6, 7, 8, 10, 11, 12);
f(8, 9, 6, 12, 13, 10);
f(10, 11, 7, 14, 15, 11);
f(7, 6, 10, 11, 10, 14);
f(12, 13, 11, 16, 17, 15);
f(11, 10, 12, 15, 14, 16);
f(14, 15, 13, 18, 19, 20);
f(13, 12, 14, 20, 21, 18);
f(16, 17, 15, 22, 23, 19);
f(15, 14, 16, 19, 18, 22);
f(18, 19, 17, 24, 25, 23);
f(17, 16, 18, 23, 22, 24);
f(20, 21, 19, 26, 27, 25);
f(19, 18, 20, 25, 24, 26);
f(0, 22, 21, 0, 28, 29);
f(21, 23, 0, 29, 30, 0);
f(0, 2, 22, 0, 2, 28);
f(24, 3, 0, 31, 32, 0);
f(0, 25, 24, 0, 33, 31);
f(24, 5, 3, 34, 8, 35);
f(26, 6, 9, 36, 10, 13);
f(9, 27, 26, 13, 37, 36);
f(28, 10, 6, 38, 14, 10);
f(6, 26, 28, 10, 36, 38);
f(29, 12, 10, 39, 16, 14);
f(10, 28, 29, 14, 38, 39);
f(30, 14, 12, 40, 18, 21);
f(12, 29, 30, 21, 41, 40);
f(31, 16, 14, 42, 22, 18);
f(14, 30, 31, 18, 40, 42);
f(32, 18, 16, 43, 24, 22);
f(16, 31, 32, 22, 42, 43);
f(33, 20, 18, 44, 26, 24);
f(18, 32, 33, 24, 43, 44);
f(25, 0, 23, 33, 0, 30);
f(23, 33, 25, 30, 45, 33);
f(9, 8, 4, 13, 12, 46);
f(4, 5, 9, 46, 8, 13);
f(27, 9, 5, 37, 13, 8);
f(5, 24, 27, 8, 34, 37);
f(20, 23, 21, 26, 47, 27);
f(33, 23, 20, 44, 47, 26);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 166
//Skirt2 (Skirt2)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Skirt2 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Skirt2(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(1.5E-5, 13.914468, 123.403915);
v(3.387894, 10.559326, 127.347565);
v(1.5E-5, 8.346867, 127.22438);
v(13.177834, 13.635177, 125.072739);
v(13.700287, 9.045556, 128.976013);
v(20.32151, 6.870719, 123.689995);
v(16.630783, -12.456512, 125.687729);
v(14.006378, -13.546845, 129.597015);
v(18.322449, -5.042849, 130.97522);
v(22.483948, -4.339498, 127.068497);
v(6.558952, -16.816711, 123.742744);
v(5.787338, -16.437239, 127.652618);
v(11.439255, -14.703978, 124.685188);
v(1.5E-5, -17.590414, 122.054031);
v(1.5E-5, -17.667028, 127.37468);
v(-6.558914, -16.816711, 123.742744);
v(-5.7873, -16.437239, 127.652618);
v(-16.630737, -12.456506, 125.687729);
v(-14.006332, -13.546842, 129.597015);
v(-11.591644, -14.637988, 124.714622);
v(-22.483894, -4.339499, 127.068497);
v(-18.322403, -5.042849, 130.97522);
v(-20.805878, 6.942545, 123.983292);
v(-13.700249, 9.04556, 128.976013);
v(-3.387856, 10.559322, 127.347565);
v(-13.177803, 13.635185, 125.072739);
v(9.82312, 11.738899, 99.356842);
v(20.893959, 15.06811, 100.583321);
v(20.673363, -16.164839, 100.482903);
v(28.72393, -4.967238, 98.080246);
v(14.918442, -15.301378, 100.854401);
v(7.844788, -19.350204, 99.005417);
v(1.5E-5, -17.111677, 100.189919);
v(-10.087799, -19.350203, 98.521828);
v(-20.673317, -16.164833, 100.482903);
v(-17.877777, -14.894144, 100.614532);
v(-28.971985, -4.967239, 98.080246);
v(-23.382324, 12.620474, 100.583321);
v(1.5E-5, 16.814251, 98.268593);
v(-9.903091, 10.584656, 99.248947);
uv(0.482154, 0.752169);
uv(0.378922, 0.884758);
uv(0.482154, 0.880616);
uv(0.20365, 0.805039);
uv(0.128141, 0.93627);
uv(0.37876, 0.88152);
uv(0.481993, 0.748932);
uv(0.996849, 0.805039);
uv(0.812473, 0.75855);
uv(0.92134, 0.93627);
uv(0.417995, 0.825715);
uv(0.365881, 0.957148);
uv(0.580939, 1.003485);
uv(0.603874, 0.872138);
uv(0.173848, 0.760323);
uv(0.159233, 0.891776);
uv(0.292149, 0.792009);
uv(0.168031, 0.70031);
uv(0.168031, 0.879194);
uv(0.664034, 0.734423);
uv(0.678648, 0.865876);
uv(0.838203, 0.856532);
uv(0.838203, 0.677647);
uv(0.419886, 0.799815);
uv(0.472001, 0.931248);
uv(0.542037, 0.767098);
uv(0.234008, 0.846238);
uv(0.256943, 0.977585);
uv(0.022844, 0.742511);
uv(0.084894, 0.907132);
uv(0.585386, 0.884758);
uv(0.836005, 0.939508);
uv(0.760496, 0.808276);
uv(0.286933, 0.058089);
uv(0.067292, 0.10746);
uv(0.203812, 0.808276);
uv(0.995491, 0.103584);
uv(0.996849, 0.805039);
uv(0.385643, 0.099542);
uv(0.622464, 0.088693);
uv(0.268232, 0.072861);
uv(0.123917, 0.040066);
uv(0.114158, 0.042598);
uv(0.642492, -0.010412);
uv(0.898551, 0.015464);
uv(0.430021, 0.068531);
uv(0.527819, 0.032194);
uv(0.193199, 0.057682);
uv(0.017218, 0.068697);
uv(0.481818, 0.014282);
uv(0.657382, 0.053746);
uv(0.92134, 0.93627);
uv(0.009385, 0.775901);
uv(0.896344, 0.10746);
f(0, 1, 2, 0, 1, 2);
f(3, 4, 1, 3, 4, 5);
f(1, 0, 3, 5, 6, 3);
f(3, 5, 4, 7, 8, 9);
f(6, 7, 8, 10, 11, 12);
f(8, 9, 6, 12, 13, 10);
f(10, 11, 7, 14, 15, 11);
f(12, 10, 7, 16, 14, 11);
f(6, 12, 7, 10, 16, 11);
f(13, 14, 11, 17, 18, 15);
f(11, 10, 13, 15, 14, 17);
f(15, 16, 14, 19, 20, 21);
f(14, 13, 15, 21, 22, 19);
f(17, 18, 16, 23, 24, 20);
f(19, 17, 16, 25, 23, 20);
f(15, 19, 16, 19, 25, 20);
f(20, 21, 18, 26, 27, 24);
f(18, 17, 20, 24, 23, 26);
f(22, 23, 21, 28, 29, 27);
f(21, 20, 22, 27, 26, 28);
f(0, 24, 23, 0, 30, 31);
f(23, 25, 0, 31, 32, 0);
f(0, 2, 24, 0, 2, 30);
f(26, 27, 3, 33, 34, 35);
f(27, 5, 3, 36, 8, 37);
f(28, 6, 9, 38, 10, 13);
f(9, 29, 28, 13, 39, 38);
f(30, 31, 10, 40, 41, 14);
f(10, 12, 30, 14, 16, 40);
f(32, 13, 10, 42, 17, 14);
f(10, 31, 32, 14, 41, 42);
f(33, 15, 13, 43, 19, 22);
f(13, 32, 33, 22, 44, 43);
f(34, 17, 19, 45, 23, 25);
f(19, 35, 34, 25, 46, 45);
f(36, 20, 17, 47, 26, 23);
f(17, 34, 36, 23, 45, 47);
f(37, 22, 20, 48, 28, 26);
f(20, 36, 37, 26, 47, 48);
f(38, 0, 25, 49, 0, 32);
f(25, 39, 38, 32, 50, 49);
f(9, 8, 4, 13, 12, 51);
f(4, 5, 9, 51, 8, 13);
f(29, 9, 5, 39, 13, 8);
f(5, 27, 29, 8, 36, 39);
f(22, 25, 23, 28, 52, 29);
f(37, 25, 22, 48, 52, 28);
f(15, 33, 35, 19, 43, 46);
f(35, 19, 15, 46, 25, 19);
f(12, 6, 28, 16, 10, 38);
f(28, 30, 12, 38, 40, 16);
f(0, 38, 26, 0, 49, 33);
f(26, 3, 0, 33, 35, 0);
f(25, 37, 39, 32, 53, 50);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 167
//Skirt3 (Skirt3)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Skirt3 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Skirt3(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(1.5E-5, 13.914468, 123.403915);
v(3.387894, 10.559326, 127.347565);
v(1.5E-5, 8.346867, 127.22438);
v(13.177834, 13.635177, 125.072739);
v(13.700287, 9.045556, 128.976013);
v(20.32151, 6.870719, 123.689995);
v(16.630783, -12.456512, 125.687729);
v(14.006378, -13.546845, 129.597015);
v(18.322449, -5.042849, 130.97522);
v(22.483948, -4.339498, 127.068497);
v(6.558952, -16.816711, 123.742744);
v(5.787338, -16.437239, 127.652618);
v(11.439255, -14.703978, 124.685188);
v(1.5E-5, -17.590414, 122.054031);
v(1.5E-5, -17.667028, 127.37468);
v(-6.558914, -16.816711, 123.742744);
v(-5.7873, -16.437239, 127.652618);
v(-16.630737, -12.456506, 125.687729);
v(-14.006332, -13.546842, 129.597015);
v(-11.591644, -14.637988, 124.714622);
v(-22.483894, -4.339499, 127.068497);
v(-18.322403, -5.042849, 130.97522);
v(-20.805878, 6.942545, 123.983292);
v(-13.700249, 9.04556, 128.976013);
v(-3.387856, 10.559322, 127.347565);
v(-13.177803, 13.635185, 125.072739);
v(9.035995, 17.717308, 102.442245);
v(17.981178, 14.959339, 102.442245);
v(20.847908, 14.408632, 102.442245);
v(27.784973, -4.872779, 102.442245);
v(20.3591, -15.876564, 102.442245);
v(14.686623, -15.261574, 102.442245);
v(7.666138, -18.99822, 102.442245);
v(1.5E-5, -17.160995, 102.442245);
v(-9.539261, -18.956388, 102.442245);
v(-17.401047, -14.874718, 102.442245);
v(-20.359062, -15.876557, 102.442245);
v(-27.995689, -4.87278, 102.442245);
v(-23.17765, 12.169412, 102.442245);
v(-9.181213, 16.712767, 102.442245);
v(-0.036034, 16.332748, 102.442245);
v(-20.093346, 12.697498, 102.442245);
v(-10.087799, -19.350201, 68.329926);
v(-17.877777, -14.894143, 70.42263);
v(20.673363, -16.164837, 70.291);
v(14.918442, -15.301377, 70.662491);
v(-0.036034, 16.814253, 68.076691);
v(8.678902, 17.489796, 69.16494);
v(-8.821945, 16.335552, 69.057045);
v(-20.780556, 12.620474, 70.391418);
v(18.500816, 15.06811, 70.391418);
v(28.72393, -4.967237, 72.048798);
v(7.844788, -19.350203, 68.813515);
v(1.5E-5, -17.111675, 69.998016);
v(-20.673317, -16.164831, 70.291);
v(-28.971985, -4.967238, 72.048798);
uv(0.482154, 0.752169);
uv(0.378922, 0.884758);
uv(0.482154, 0.880616);
uv(0.20365, 0.805039);
uv(0.128141, 0.93627);
uv(0.37876, 0.88152);
uv(0.481993, 0.748932);
uv(0.996849, 0.805039);
uv(0.812473, 0.75855);
uv(0.92134, 0.93627);
uv(0.417995, 0.825715);
uv(0.365881, 0.957148);
uv(0.580939, 1.003485);
uv(0.603874, 0.872138);
uv(0.173848, 0.760323);
uv(0.159233, 0.891776);
uv(0.292149, 0.792009);
uv(0.168031, 0.70031);
uv(0.168031, 0.879194);
uv(0.664034, 0.734423);
uv(0.678648, 0.865876);
uv(0.838203, 0.856532);
uv(0.838203, 0.677647);
uv(0.419886, 0.799815);
uv(0.472001, 0.931248);
uv(0.542037, 0.767098);
uv(0.234008, 0.846238);
uv(0.256943, 0.977585);
uv(0.022844, 0.742511);
uv(0.084894, 0.907132);
uv(0.585386, 0.884758);
uv(0.836005, 0.939508);
uv(0.760496, 0.808276);
uv(0.27696, 0.148096);
uv(0.077655, 0.160657);
uv(0.203812, 0.808276);
uv(0.996849, 0.805039);
uv(0.995594, 0.156829);
uv(0.980767, 0.156276);
uv(0.619667, 0.206581);
uv(0.388158, 0.155992);
uv(0.269826, 0.120778);
uv(0.130854, 0.140133);
uv(0.119708, 0.110352);
uv(0.645841, 0.105368);
uv(0.892334, 0.083678);
uv(0.528897, 0.087928);
uv(0.429233, 0.125379);
uv(0.19934, 0.17634);
uv(0.017665, 0.122225);
uv(0.670133, 0.147049);
uv(0.481874, 0.136806);
uv(0.92134, 0.93627);
uv(0.009385, 0.775901);
uv(0.016624, 0.122379);
uv(0.642492, -0.010412);
uv(0.527819, 0.032194);
uv(0.385643, 0.099542);
uv(0.268232, 0.072861);
uv(0.481818, 0.014282);
uv(0.286933, 0.058089);
uv(0.657382, 0.053746);
uv(0.886032, 0.160657);
uv(0.896344, 0.10746);
uv(0.067292, 0.10746);
uv(0.995491, 0.103584);
uv(0.622464, 0.088693);
uv(0.123917, 0.040066);
uv(0.114158, 0.042598);
uv(0.898551, 0.015464);
uv(0.430021, 0.068531);
uv(0.193199, 0.057682);
uv(0.017218, 0.068697);
f(0, 1, 2, 0, 1, 2);
f(3, 4, 1, 3, 4, 5);
f(1, 0, 3, 5, 6, 3);
f(3, 5, 4, 7, 8, 9);
f(6, 7, 8, 10, 11, 12);
f(8, 9, 6, 12, 13, 10);
f(10, 11, 7, 14, 15, 11);
f(12, 10, 7, 16, 14, 11);
f(6, 12, 7, 10, 16, 11);
f(13, 14, 11, 17, 18, 15);
f(11, 10, 13, 15, 14, 17);
f(15, 16, 14, 19, 20, 21);
f(14, 13, 15, 21, 22, 19);
f(17, 18, 16, 23, 24, 20);
f(19, 17, 16, 25, 23, 20);
f(15, 19, 16, 19, 25, 20);
f(20, 21, 18, 26, 27, 24);
f(18, 17, 20, 24, 23, 26);
f(22, 23, 21, 28, 29, 27);
f(21, 20, 22, 27, 26, 28);
f(0, 24, 23, 0, 30, 31);
f(23, 25, 0, 31, 32, 0);
f(0, 2, 24, 0, 2, 30);
f(26, 27, 3, 33, 34, 35);
f(5, 3, 27, 8, 36, 37);
f(27, 28, 5, 37, 38, 8);
f(29, 30, 6, 39, 40, 10);
f(6, 9, 29, 10, 13, 39);
f(31, 32, 10, 41, 42, 14);
f(10, 12, 31, 14, 16, 41);
f(32, 33, 13, 42, 43, 17);
f(13, 10, 32, 17, 14, 42);
f(34, 15, 13, 44, 19, 22);
f(13, 33, 34, 22, 45, 44);
f(35, 36, 17, 46, 47, 23);
f(17, 19, 35, 23, 25, 46);
f(37, 20, 17, 48, 26, 23);
f(17, 36, 37, 23, 47, 48);
f(37, 38, 22, 48, 49, 28);
f(22, 20, 37, 28, 26, 48);
f(39, 40, 0, 50, 51, 0);
f(0, 25, 39, 0, 32, 50);
f(9, 8, 4, 13, 12, 52);
f(4, 5, 9, 52, 8, 13);
f(29, 9, 5, 39, 13, 8);
f(5, 28, 29, 8, 38, 39);
f(22, 25, 23, 28, 53, 29);
f(38, 41, 25, 49, 54, 53);
f(25, 22, 38, 53, 28, 49);
f(35, 34, 42, 46, 44, 55);
f(42, 43, 35, 55, 56, 46);
f(30, 44, 45, 40, 57, 58);
f(45, 31, 30, 58, 41, 40);
f(40, 46, 47, 51, 59, 60);
f(47, 26, 40, 60, 33, 51);
f(48, 39, 41, 61, 50, 62);
f(41, 49, 48, 62, 63, 61);
f(27, 26, 47, 34, 33, 60);
f(47, 50, 27, 60, 64, 34);
f(27, 50, 28, 37, 65, 38);
f(29, 51, 44, 39, 66, 57);
f(44, 30, 29, 57, 40, 39);
f(45, 52, 32, 58, 67, 42);
f(32, 31, 45, 42, 41, 58);
f(32, 52, 53, 42, 67, 68);
f(53, 33, 32, 68, 43, 42);
f(53, 42, 34, 69, 55, 44);
f(34, 33, 53, 44, 45, 69);
f(43, 54, 36, 56, 70, 47);
f(36, 35, 43, 47, 46, 56);
f(54, 55, 37, 70, 71, 48);
f(37, 36, 54, 48, 47, 70);
f(37, 55, 49, 48, 71, 72);
f(49, 38, 37, 72, 49, 48);
f(48, 46, 40, 61, 59, 51);
f(40, 39, 48, 51, 50, 61);
f(50, 51, 29, 65, 66, 39);
f(29, 28, 50, 39, 38, 65);
f(38, 49, 41, 49, 72, 54);
f(19, 15, 34, 25, 19, 44);
f(34, 35, 19, 44, 46, 25);
f(31, 12, 6, 41, 16, 10);
f(6, 30, 31, 10, 40, 41);
f(26, 3, 0, 33, 35, 0);
f(0, 40, 26, 0, 51, 33);
f(39, 25, 41, 50, 32, 62);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 168
//Skirt4 (Skirt4)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Skirt4 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Skirt4(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(1.5E-5, 13.914468, 123.403915);
v(3.387894, 10.559326, 127.347565);
v(1.5E-5, 8.346867, 127.22438);
v(13.177834, 13.635177, 125.072739);
v(13.700287, 9.045556, 128.976013);
v(20.32151, 6.870719, 123.689995);
v(18.322449, -5.042849, 130.97522);
v(22.483948, -4.339498, 127.068497);
v(16.630783, -12.456512, 125.687729);
v(14.006378, -13.546845, 129.597015);
v(6.558952, -16.816711, 123.742744);
v(5.787338, -16.437239, 127.652618);
v(11.439255, -14.703978, 124.685188);
v(1.5E-5, -17.590414, 122.054031);
v(1.5E-5, -17.667028, 127.37468);
v(-6.558914, -16.816711, 123.742744);
v(-5.7873, -16.437239, 127.652618);
v(-16.630737, -12.456506, 125.687729);
v(-14.006332, -13.546842, 129.597015);
v(-11.591644, -14.637988, 124.714622);
v(-22.483894, -4.339499, 127.068497);
v(-18.322403, -5.042849, 130.97522);
v(-20.805878, 6.942545, 123.983292);
v(-13.700249, 9.04556, 128.976013);
v(-13.177803, 13.635185, 125.072739);
v(-3.387856, 10.559322, 127.347565);
v(9.035995, 17.717308, 102.442245);
v(17.981178, 14.959339, 102.442245);
v(20.847908, 14.408632, 102.442245);
v(27.784973, -4.872779, 102.442245);
v(20.3591, -15.876564, 102.442245);
v(14.686623, -15.261574, 102.442245);
v(7.666138, -18.99822, 102.442245);
v(1.5E-5, -17.160995, 102.442245);
v(-9.539261, -18.956388, 102.442245);
v(-17.401047, -14.874718, 102.442245);
v(-20.359062, -15.876557, 102.442245);
v(-27.995689, -4.87278, 102.442245);
v(-23.17765, 12.169412, 102.442245);
v(-9.181213, 16.712767, 102.442245);
v(-0.036034, 16.332748, 102.442245);
v(-20.093346, 12.697498, 102.442245);
v(-20.776138, -18.086039, 6.714157);
v(-17.414169, -14.891469, 64.367989);
v(-9.766624, -19.275179, 64.367989);
v(-11.682022, -23.328419, 4.621452);
v(17.510529, -18.565134, 6.954025);
v(14.528618, -15.296159, 64.367989);
v(20.136597, -16.124153, 64.367989);
v(24.228889, -19.580959, 6.582527);
v(10.226418, 20.012419, 5.456467);
v(8.522659, 17.528515, 64.367989);
v(-0.049767, 16.719654, 64.367989);
v(0.052505, 19.217665, 4.368225);
v(-24.164871, 14.283846, 6.682945);
v(-10.204254, 18.654493, 5.348572);
v(-8.692848, 16.400763, 64.367989);
v(-20.220848, 12.631138, 64.367989);
v(17.987427, 15.053054, 64.367989);
v(18.375092, 14.976815, 64.367989);
v(27.960129, -4.958598, 64.367989);
v(7.617294, -19.287247, 64.367989);
v(-0.014557, -17.119019, 64.367989);
v(-20.165703, -16.124147, 64.367989);
v(-28.228249, -4.958599, 64.367989);
v(-20.637939, 12.558031, 64.367989);
v(21.692627, 17.163397, 6.682945);
v(33.627205, -6.407415, 8.340324);
v(9.25267, -23.328417, 5.105042);
v(0.094589, -20.694876, 6.289543);
v(-24.039673, -19.58095, 6.582527);
v(-33.727631, -6.407417, 8.340324);
uv(0.482154, 0.752169);
uv(0.378922, 0.884758);
uv(0.482154, 0.880616);
uv(0.37876, 0.88152);
uv(0.481993, 0.748932);
uv(0.20365, 0.805039);
uv(0.128141, 0.93627);
uv(0.996849, 0.805039);
uv(0.812473, 0.75855);
uv(0.92134, 0.93627);
uv(0.580939, 1.003485);
uv(0.603874, 0.872138);
uv(0.417995, 0.825715);
uv(0.365881, 0.957148);
uv(0.173848, 0.760323);
uv(0.159233, 0.891776);
uv(0.292149, 0.792009);
uv(0.168031, 0.70031);
uv(0.168031, 0.879194);
uv(0.838203, 0.856532);
uv(0.838203, 0.677647);
uv(0.664034, 0.734423);
uv(0.678648, 0.865876);
uv(0.419886, 0.799815);
uv(0.472001, 0.931248);
uv(0.542037, 0.767098);
uv(0.234008, 0.846238);
uv(0.256943, 0.977585);
uv(0.022844, 0.742511);
uv(0.084894, 0.907132);
uv(0.836005, 0.939508);
uv(0.760496, 0.808276);
uv(0.585386, 0.884758);
uv(0.27696, 0.148096);
uv(0.077655, 0.160657);
uv(0.203812, 0.808276);
uv(0.995594, 0.156829);
uv(0.980767, 0.156276);
uv(0.996849, 0.805039);
uv(0.619667, 0.206581);
uv(0.388158, 0.155992);
uv(0.269826, 0.120778);
uv(0.130854, 0.140133);
uv(0.119708, 0.110352);
uv(0.892334, 0.083678);
uv(0.645841, 0.105368);
uv(0.528897, 0.087928);
uv(0.429233, 0.125379);
uv(0.19934, 0.17634);
uv(0.017665, 0.122225);
uv(0.670133, 0.147049);
uv(0.481874, 0.136806);
uv(0.92134, 0.93627);
uv(0.009385, 0.775901);
uv(0.016624, 0.122379);
uv(0.527819, 0.032194);
uv(0.527967, 0.039863);
uv(0.64313, 0.011645);
uv(0.642492, -0.010412);
uv(0.268232, 0.072861);
uv(0.268441, 0.079142);
uv(0.385998, 0.107508);
uv(0.385643, 0.099542);
uv(0.286933, 0.058089);
uv(0.285235, 0.073407);
uv(0.481829, 0.038354);
uv(0.481818, 0.014282);
uv(0.896344, 0.10746);
uv(0.657382, 0.053746);
uv(0.659586, 0.069875);
uv(0.894917, 0.114825);
uv(0.068727, 0.114825);
uv(0.995505, 0.110955);
uv(0.993452, 0.110878);
uv(0.622208, 0.099474);
uv(0.125158, 0.057964);
uv(0.114984, 0.052686);
uv(0.897625, 0.02562);
uv(0.42991, 0.076554);
uv(0.193761, 0.068534);
uv(0.01728, 0.076107);
uv(0.017136, 0.076128);
uv(0.886032, 0.160657);
uv(0.067292, 0.10746);
uv(0.995491, 0.103584);
uv(0.622464, 0.088693);
uv(0.123917, 0.040066);
uv(0.114158, 0.042598);
uv(0.898551, 0.015464);
uv(0.430021, 0.068531);
uv(0.193199, 0.057682);
uv(0.017218, 0.068697);
f(0, 1, 2, 0, 1, 2);
f(1, 0, 3, 3, 4, 5);
f(3, 4, 1, 5, 6, 3);
f(3, 5, 4, 7, 8, 9);
f(6, 7, 8, 10, 11, 12);
f(8, 9, 6, 12, 13, 10);
f(10, 11, 9, 14, 15, 13);
f(12, 10, 9, 16, 14, 13);
f(8, 12, 9, 12, 16, 13);
f(11, 10, 13, 15, 14, 17);
f(13, 14, 11, 17, 18, 15);
f(14, 13, 15, 19, 20, 21);
f(15, 16, 14, 21, 22, 19);
f(17, 18, 16, 23, 24, 22);
f(19, 17, 16, 25, 23, 22);
f(15, 19, 16, 21, 25, 22);
f(18, 17, 20, 24, 23, 26);
f(20, 21, 18, 26, 27, 24);
f(21, 20, 22, 27, 26, 28);
f(22, 23, 21, 28, 29, 27);
f(23, 24, 0, 30, 31, 0);
f(0, 25, 23, 0, 32, 30);
f(0, 2, 25, 0, 2, 32);
f(26, 27, 3, 33, 34, 35);
f(27, 28, 5, 36, 37, 8);
f(5, 3, 27, 8, 38, 36);
f(8, 7, 29, 12, 11, 39);
f(29, 30, 8, 39, 40, 12);
f(10, 12, 31, 14, 16, 41);
f(31, 32, 10, 41, 42, 14);
f(13, 10, 32, 17, 14, 42);
f(32, 33, 13, 42, 43, 17);
f(13, 33, 34, 20, 44, 45);
f(34, 15, 13, 45, 21, 20);
f(17, 19, 35, 23, 25, 46);
f(35, 36, 17, 46, 47, 23);
f(17, 36, 37, 23, 47, 48);
f(37, 20, 17, 48, 26, 23);
f(22, 20, 37, 28, 26, 48);
f(37, 38, 22, 48, 49, 28);
f(0, 24, 39, 0, 31, 50);
f(39, 40, 0, 50, 51, 0);
f(4, 5, 7, 52, 8, 11);
f(7, 6, 4, 11, 10, 52);
f(5, 28, 29, 8, 37, 39);
f(29, 7, 5, 39, 11, 8);
f(22, 24, 23, 28, 53, 29);
f(24, 22, 38, 53, 28, 49);
f(38, 41, 24, 49, 54, 53);
f(42, 43, 44, 55, 56, 57);
f(44, 45, 42, 57, 58, 55);
f(46, 47, 48, 59, 60, 61);
f(48, 49, 46, 61, 62, 59);
f(50, 51, 52, 63, 64, 65);
f(52, 53, 50, 65, 66, 63);
f(54, 55, 56, 67, 68, 69);
f(56, 57, 54, 69, 70, 67);
f(58, 27, 26, 71, 34, 33);
f(26, 51, 58, 33, 64, 71);
f(58, 59, 28, 72, 73, 37);
f(28, 27, 58, 37, 36, 72);
f(48, 30, 29, 61, 40, 39);
f(29, 60, 48, 39, 74, 61);
f(61, 32, 31, 75, 42, 41);
f(31, 47, 61, 41, 60, 75);
f(62, 33, 32, 76, 43, 42);
f(32, 61, 62, 42, 75, 76);
f(34, 33, 62, 45, 44, 77);
f(62, 44, 34, 77, 57, 45);
f(63, 36, 35, 78, 47, 46);
f(35, 43, 63, 46, 56, 78);
f(37, 36, 63, 48, 47, 78);
f(63, 64, 37, 78, 79, 48);
f(38, 37, 64, 49, 48, 79);
f(64, 65, 38, 79, 80, 49);
f(52, 40, 39, 65, 51, 50);
f(39, 56, 52, 50, 69, 65);
f(60, 29, 28, 74, 39, 37);
f(28, 59, 60, 37, 73, 74);
f(65, 57, 41, 80, 81, 54);
f(41, 38, 65, 54, 49, 80);
f(34, 35, 19, 45, 46, 25);
f(19, 15, 34, 25, 21, 45);
f(8, 30, 31, 12, 40, 41);
f(31, 12, 8, 41, 16, 12);
f(0, 40, 26, 0, 51, 33);
f(26, 3, 0, 33, 35, 0);
f(39, 24, 41, 50, 31, 82);
f(44, 43, 35, 57, 56, 46);
f(35, 34, 44, 46, 45, 57);
f(30, 48, 47, 40, 61, 60);
f(47, 31, 30, 60, 41, 40);
f(40, 52, 51, 51, 65, 64);
f(51, 26, 40, 64, 33, 51);
f(41, 57, 56, 82, 70, 69);
f(56, 39, 41, 69, 50, 82);
f(66, 58, 51, 83, 71, 64);
f(51, 50, 66, 64, 63, 83);
f(58, 66, 59, 72, 84, 73);
f(48, 60, 67, 61, 74, 85);
f(67, 49, 48, 85, 62, 61);
f(61, 47, 46, 75, 60, 59);
f(46, 68, 61, 59, 86, 75);
f(69, 62, 61, 87, 76, 75);
f(61, 68, 69, 75, 86, 87);
f(44, 62, 69, 57, 77, 88);
f(69, 45, 44, 88, 58, 57);
f(63, 43, 42, 78, 56, 55);
f(42, 70, 63, 55, 89, 78);
f(71, 64, 63, 90, 79, 78);
f(63, 70, 71, 78, 89, 90);
f(65, 64, 71, 80, 79, 90);
f(71, 54, 65, 90, 91, 80);
f(52, 56, 55, 65, 69, 68);
f(55, 53, 52, 68, 66, 65);
f(67, 60, 59, 85, 74, 73);
f(59, 66, 67, 73, 84, 85);
f(65, 54, 57, 80, 91, 81);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 169
//Skirt5 (Skirt5)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Skirt5 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Skirt5(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(1.5E-5, 13.914468, 123.403915);
v(3.387894, 10.559326, 127.347565);
v(1.5E-5, 8.346867, 127.22438);
v(13.177834, 13.635177, 125.072739);
v(13.700287, 9.045556, 128.976013);
v(20.32151, 6.870719, 123.689995);
v(16.630783, -12.456512, 125.687729);
v(14.006378, -13.546845, 129.597015);
v(18.322449, -5.042849, 130.97522);
v(22.483948, -4.339498, 127.068497);
v(6.558952, -16.816711, 123.742744);
v(5.787338, -16.437239, 127.652618);
v(1.5E-5, -17.590414, 122.054031);
v(1.5E-5, -17.667028, 127.37468);
v(-6.558914, -16.816711, 123.742744);
v(-5.7873, -16.437239, 127.652618);
v(-16.630737, -12.456506, 125.687729);
v(-14.006332, -13.546842, 129.597015);
v(-22.483894, -4.339499, 127.068497);
v(-18.322403, -5.042849, 130.97522);
v(-20.805878, 6.942545, 123.983292);
v(-13.700249, 9.04556, 128.976013);
v(-3.387856, 10.559322, 127.347565);
v(-13.177803, 13.635185, 125.072739);
v(18.282478, 17.14604, 101.858261);
v(0.028419, 17.010645, 101.858261);
v(25.689499, 10.250307, 101.858261);
v(29.684837, -4.996468, 101.858261);
v(23.799026, -10.88992, 114.237633);
v(24.335739, -13.61207, 101.858261);
v(8.543167, -20.437988, 101.858261);
v(0.029121, -21.362303, 101.858261);
v(-8.960747, -20.437996, 101.858261);
v(-21.755867, -15.404778, 101.858261);
v(-29.690544, -4.996471, 101.858261);
v(-26.664497, 9.872087, 101.858261);
v(-18.779518, 16.666286, 101.858261);
v(-0.01712, 8.548091, 67.28109);
v(17.499924, 9.035296, 67.080597);
v(21.995842, 6.356904, 67.029137);
v(23.280014, -9.148465, 67.056854);
v(7.571182, -11.672222, 67.194237);
v(-0.016716, -12.152956, 67.281082);
v(-8.581757, -11.67696, 67.379112);
v(-23.331825, -9.152238, 67.505516);
v(-27.005913, -3.118821, 67.589981);
v(-23.454918, 5.778962, 67.549347);
v(-18.628815, 8.43572, 67.49411);
v(26.831223, -3.119605, 66.973801);
v(0.189713, 8.720285, 6.450653);
v(24.870102, 8.172454, 6.565987);
v(18.158432, -14.092276, 6.560989);
v(6.85376, -16.62332, 6.487366);
v(-0.059135, -17.156731, 6.4953);
v(-8.948616, -16.623318, 6.463272);
v(-18.276688, -14.09227, 6.560989);
v(-25.589554, -5.194833, 6.547562);
v(-27.430008, 8.780098, 6.565987);
v(25.25267, -5.194832, 6.547562);
uv(0.482154, 0.752169);
uv(0.378922, 0.884758);
uv(0.482154, 0.880616);
uv(0.20365, 0.805039);
uv(0.128141, 0.93627);
uv(0.37876, 0.88152);
uv(0.481993, 0.748932);
uv(0.996849, 0.805039);
uv(0.812473, 0.75855);
uv(0.92134, 0.93627);
uv(0.417995, 0.825715);
uv(0.365881, 0.957148);
uv(0.580939, 1.003485);
uv(0.603874, 0.872138);
uv(0.173848, 0.760323);
uv(0.159233, 0.891776);
uv(0.168031, 0.70031);
uv(0.168031, 0.879194);
uv(0.664034, 0.734423);
uv(0.678648, 0.865876);
uv(0.838203, 0.856532);
uv(0.838203, 0.677647);
uv(0.419886, 0.799815);
uv(0.472001, 0.931248);
uv(0.234008, 0.846238);
uv(0.256943, 0.977585);
uv(0.022844, 0.742511);
uv(0.084894, 0.907132);
uv(0.585386, 0.884758);
uv(0.836005, 0.939508);
uv(0.760496, 0.808276);
uv(0.177069, 0.670992);
uv(0.203812, 0.808276);
uv(0.482092, 0.616232);
uv(0.996849, 0.805039);
uv(0.996583, 0.66763);
uv(0.846587, 0.636465);
uv(0.607762, 0.708259);
uv(0.496647, 0.692516);
uv(0.411524, 0.680455);
uv(0.164529, 0.625895);
uv(0.158616, 0.585364);
uv(0.660014, 0.595436);
uv(0.84875, 0.56192);
uv(0.421913, 0.653533);
uv(0.225472, 0.68129);
uv(0.021784, 0.615543);
uv(0.787107, 0.670992);
uv(0.92134, 0.93627);
uv(0.009385, 0.775901);
uv(0.010919, 0.637366);
uv(0.481993, 0.398076);
uv(0.137005, 0.465327);
uv(0.996185, 0.461777);
uv(0.901011, 0.441698);
uv(0.402072, 0.468313);
uv(0.149768, 0.412966);
uv(0.142496, 0.388565);
uv(0.866807, 0.363783);
uv(0.653681, 0.376461);
uv(0.424836, 0.442652);
uv(0.213868, 0.457076);
uv(0.02014, 0.418657);
uv(0.8265, 0.467772);
uv(0.613143, 0.481493);
uv(0.013191, 0.432293);
uv(0.481818, 0.014282);
uv(0.067292, 0.10746);
uv(0.995491, 0.103584);
uv(0.385643, 0.099542);
uv(0.123917, 0.040066);
uv(0.114158, 0.042598);
uv(0.898551, 0.015464);
uv(0.642492, -0.010412);
uv(0.430021, 0.068531);
uv(0.193199, 0.057682);
uv(0.017218, 0.068697);
uv(0.896344, 0.10746);
uv(0.622464, 0.088693);
f(0, 1, 2, 0, 1, 2);
f(3, 4, 1, 3, 4, 5);
f(1, 0, 3, 5, 6, 3);
f(3, 5, 4, 7, 8, 9);
f(6, 7, 8, 10, 11, 12);
f(8, 9, 6, 12, 13, 10);
f(10, 11, 7, 14, 15, 11);
f(7, 6, 10, 11, 10, 14);
f(12, 13, 11, 16, 17, 15);
f(11, 10, 12, 15, 14, 16);
f(14, 15, 13, 18, 19, 20);
f(13, 12, 14, 20, 21, 18);
f(16, 17, 15, 22, 23, 19);
f(15, 14, 16, 19, 18, 22);
f(18, 19, 17, 24, 25, 23);
f(17, 16, 18, 23, 22, 24);
f(20, 21, 19, 26, 27, 25);
f(19, 18, 20, 25, 24, 26);
f(0, 22, 21, 0, 28, 29);
f(21, 23, 0, 29, 30, 0);
f(0, 2, 22, 0, 2, 28);
f(24, 3, 0, 31, 32, 0);
f(0, 25, 24, 0, 33, 31);
f(5, 3, 24, 8, 34, 35);
f(24, 26, 5, 35, 36, 8);
f(27, 28, 6, 37, 38, 10);
f(6, 9, 27, 10, 13, 37);
f(29, 30, 10, 39, 40, 14);
f(10, 6, 29, 14, 10, 39);
f(30, 31, 12, 40, 41, 16);
f(12, 10, 30, 16, 14, 40);
f(32, 14, 12, 42, 18, 21);
f(12, 31, 32, 21, 43, 42);
f(33, 16, 14, 44, 22, 18);
f(14, 32, 33, 18, 42, 44);
f(34, 18, 16, 45, 24, 22);
f(16, 33, 34, 22, 44, 45);
f(34, 35, 20, 45, 46, 26);
f(20, 18, 34, 26, 24, 45);
f(36, 25, 0, 47, 33, 0);
f(0, 23, 36, 0, 30, 47);
f(9, 8, 4, 13, 12, 48);
f(4, 5, 9, 48, 8, 13);
f(27, 9, 5, 37, 13, 8);
f(5, 26, 27, 8, 36, 37);
f(20, 23, 21, 26, 49, 27);
f(36, 23, 20, 50, 49, 26);
f(20, 35, 36, 26, 46, 50);
f(25, 37, 38, 33, 51, 52);
f(38, 24, 25, 52, 31, 33);
f(26, 24, 38, 36, 35, 53);
f(38, 39, 26, 53, 54, 36);
f(40, 41, 30, 55, 56, 40);
f(30, 29, 40, 40, 39, 55);
f(30, 41, 42, 40, 56, 57);
f(42, 31, 30, 57, 41, 40);
f(31, 42, 43, 43, 58, 59);
f(43, 32, 31, 59, 42, 43);
f(32, 43, 44, 42, 59, 60);
f(44, 33, 32, 60, 44, 42);
f(33, 44, 45, 44, 60, 61);
f(45, 34, 33, 61, 45, 44);
f(34, 45, 46, 45, 61, 62);
f(46, 35, 34, 62, 46, 45);
f(36, 47, 37, 47, 63, 51);
f(37, 25, 36, 51, 33, 47);
f(26, 39, 48, 36, 54, 64);
f(48, 27, 26, 64, 37, 36);
f(47, 36, 35, 65, 50, 46);
f(35, 46, 47, 46, 62, 65);
f(37, 49, 50, 51, 66, 67);
f(50, 38, 37, 67, 52, 51);
f(38, 50, 39, 53, 68, 54);
f(51, 52, 41, 69, 70, 56);
f(41, 40, 51, 56, 55, 69);
f(41, 52, 53, 56, 70, 71);
f(53, 42, 41, 71, 57, 56);
f(42, 53, 54, 58, 72, 73);
f(54, 43, 42, 73, 59, 58);
f(43, 54, 55, 59, 73, 74);
f(55, 44, 43, 74, 60, 59);
f(44, 55, 56, 60, 74, 75);
f(56, 45, 44, 75, 61, 60);
f(45, 56, 57, 61, 75, 76);
f(57, 46, 45, 76, 62, 61);
f(47, 57, 49, 63, 77, 66);
f(49, 37, 47, 66, 51, 63);
f(39, 50, 58, 54, 68, 78);
f(58, 48, 39, 78, 64, 54);
f(46, 57, 47, 62, 76, 65);
f(28, 29, 6, 38, 39, 10);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 170
//SScarpe4 (SScarpe4)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class SScarpe4 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function SScarpe4(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-15.150543, -5.887023, 12.491524);
v(-16.519592, -5.569201, 21.158585);
v(-14.36644, -1.91028, 21.031586);
v(-14.970879, 2.896709, 21.249359);
v(-12.67662, 0.982337, 10.352448);
v(-20.34993, -7.042413, 13.670059);
v(-20.193352, -4.557903, 21.25695);
v(-23.285431, -0.186381, 9.285248);
v(-10.06971, 4.725966, 52.907257);
v(-16.876999, 7.869326, 54.502197);
v(-21.237427, 1.868015, 21.306152);
v(-23.868294, 5.101653, 53.195938);
v(-25.527695, 0.222434, 51.602371);
v(-22.906281, -6.204628, 50.853989);
v(-8.338043, -2.094361, 51.160217);
v(-12.126244, -7.191088, 50.472282);
v(16.519608, -5.569201, 21.158577);
v(15.150551, -5.887023, 12.491524);
v(14.366447, -1.91028, 21.031586);
v(14.970886, 2.896709, 21.249359);
v(12.676628, 0.982337, 10.352448);
v(20.193359, -4.557903, 21.256943);
v(20.349937, -7.042413, 13.670052);
v(23.285439, -0.186381, 9.285248);
v(21.237442, 1.868015, 21.306145);
v(21.498276, 3.363023, 10.507652);
v(18.623322, 3.835896, 10.47506);
v(16.877022, 7.869326, 54.502197);
v(10.069733, 4.72597, 52.907249);
v(23.868317, 5.101653, 53.19593);
v(25.52771, 0.222435, 51.602364);
v(22.906296, -6.204628, 50.853981);
v(8.338058, -2.094361, 51.160217);
v(12.126259, -7.191088, 50.472282);
v(-21.50972, 3.428735, 10.033012);
v(-18.919113, 3.911959, 9.602463);
v(-18.232162, -7.490323, 50.525654);
v(18.211441, -7.521325, 50.835083);
uv(0.269337, 0.008996);
uv(0.269295, 0.009234);
uv(0.26936, 0.00923);
uv(0.269342, 0.009236);
uv(0.269411, 0.008937);
uv(0.269181, 0.009028);
uv(0.269185, 0.009236);
uv(0.269092, 0.008908);
uv(0.269489, 0.010104);
uv(0.269285, 0.010147);
uv(0.269154, 0.009238);
uv(0.269075, 0.010111);
uv(0.269025, 0.010068);
uv(0.269104, 0.010047);
uv(0.269541, 0.010056);
uv(0.269427, 0.010037);
uv(0.270287, 0.009234);
uv(0.270246, 0.008996);
uv(0.270222, 0.00923);
uv(0.27024, 0.009236);
uv(0.270172, 0.008937);
uv(0.270397, 0.009236);
uv(0.270402, 0.009028);
uv(0.27049, 0.008908);
uv(0.270429, 0.009238);
uv(0.270436, 0.008942);
uv(0.27035, 0.008941);
uv(0.270298, 0.010147);
uv(0.270093, 0.010104);
uv(0.270507, 0.010111);
uv(0.270557, 0.010068);
uv(0.270479, 0.010047);
uv(0.270041, 0.010056);
uv(0.270155, 0.010037);
uv(0.269146, 0.008929);
uv(0.269223, 0.008917);
uv(0.269244, 0.010038);
uv(0.270338, 0.010047);
f(0, 1, 2, 0, 1, 2);
f(2, 3, 4, 2, 3, 4);
f(2, 4, 0, 2, 4, 0);
f(1, 0, 5, 1, 0, 5);
f(5, 6, 1, 5, 6, 1);
f(6, 5, 7, 6, 5, 7);
f(8, 9, 3, 8, 9, 3);
f(9, 10, 3, 9, 10, 3);
f(9, 11, 10, 9, 11, 10);
f(11, 12, 10, 11, 12, 10);
f(6, 7, 10, 6, 7, 10);
f(13, 6, 10, 13, 6, 10);
f(12, 13, 10, 12, 13, 10);
f(14, 8, 2, 14, 8, 2);
f(8, 3, 2, 8, 3, 2);
f(15, 14, 1, 15, 14, 1);
f(14, 2, 1, 14, 2, 1);
f(16, 17, 18, 16, 17, 18);
f(19, 18, 20, 19, 18, 20);
f(20, 18, 17, 20, 18, 17);
f(16, 21, 22, 16, 21, 22);
f(22, 17, 16, 22, 17, 16);
f(22, 21, 23, 22, 21, 23);
f(23, 24, 25, 23, 24, 25);
f(19, 26, 25, 19, 26, 25);
f(25, 24, 19, 25, 24, 19);
f(27, 28, 19, 27, 28, 19);
f(24, 27, 19, 24, 27, 19);
f(29, 27, 24, 29, 27, 24);
f(30, 29, 24, 30, 29, 24);
f(31, 30, 24, 31, 30, 24);
f(21, 31, 24, 21, 31, 24);
f(23, 21, 24, 23, 21, 24);
f(28, 32, 18, 28, 32, 18);
f(19, 28, 18, 19, 28, 18);
f(32, 33, 16, 32, 33, 16);
f(18, 32, 16, 18, 32, 16);
f(26, 19, 20, 26, 19, 20);
f(34, 10, 7, 34, 10, 7);
f(3, 10, 34, 3, 10, 34);
f(34, 35, 3, 34, 35, 3);
f(4, 3, 35, 4, 3, 35);
f(36, 6, 13, 36, 6, 13);
f(15, 1, 6, 15, 1, 6);
f(6, 36, 15, 6, 36, 15);
f(21, 16, 33, 21, 16, 33);
f(33, 37, 21, 33, 37, 21);
f(31, 21, 37, 31, 21, 37);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 171
//Stinchi (Stinchi)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Stinchi extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Stinchi(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-15.150543, -5.887023, 12.491524);
v(-16.519592, -5.569201, 21.158585);
v(-14.36644, -1.91028, 21.031586);
v(-14.970879, 2.896709, 21.249359);
v(-12.67662, 0.982337, 10.352448);
v(-20.34993, -7.042413, 13.670059);
v(-20.193352, -4.557903, 21.25695);
v(-23.285431, -0.186381, 9.285248);
v(-10.06971, 4.725966, 52.907257);
v(-16.876999, 7.869326, 54.502197);
v(-21.237427, 1.868015, 21.306152);
v(-23.868294, 5.101653, 53.195938);
v(-25.527695, 0.222434, 51.602371);
v(-22.906281, -6.204628, 50.853989);
v(-8.338043, -2.094361, 51.160217);
v(-12.126244, -7.191088, 50.472282);
v(16.519608, -5.569201, 21.158577);
v(15.150551, -5.887023, 12.491524);
v(14.366447, -1.91028, 21.031586);
v(14.970886, 2.896709, 21.249359);
v(12.676628, 0.982337, 10.352448);
v(20.193359, -4.557903, 21.256943);
v(20.349937, -7.042413, 13.670052);
v(23.285439, -0.186381, 9.285248);
v(21.237442, 1.868015, 21.306145);
v(21.498276, 3.363023, 10.507652);
v(18.623322, 3.835896, 10.47506);
v(16.877022, 7.869326, 54.502197);
v(10.069733, 4.72597, 52.907249);
v(23.868317, 5.101653, 53.19593);
v(25.52771, 0.222435, 51.602364);
v(22.906296, -6.204628, 50.853981);
v(8.338058, -2.094361, 51.160217);
v(12.126259, -7.191088, 50.472282);
v(-21.50972, 3.428735, 10.033012);
v(-18.919113, 3.911959, 9.602463);
v(-18.232162, -7.490323, 50.525654);
v(18.211441, -7.521325, 50.835083);
uv(0.322154, 0.038729);
uv(0.320262, 0.051404);
uv(0.323238, 0.051218);
uv(0.322402, 0.051537);
uv(0.325573, 0.035601);
uv(0.314968, 0.040453);
uv(0.315184, 0.051548);
uv(0.31091, 0.034041);
uv(0.329176, 0.097833);
uv(0.319768, 0.100165);
uv(0.313741, 0.05162);
uv(0.310105, 0.098255);
uv(0.307811, 0.095925);
uv(0.311434, 0.09483);
uv(0.33157, 0.095278);
uv(0.326334, 0.094272);
uv(0.365927, 0.051404);
uv(0.364034, 0.038729);
uv(0.362951, 0.051218);
uv(0.363786, 0.051537);
uv(0.360615, 0.035601);
uv(0.371004, 0.051548);
uv(0.371221, 0.040453);
uv(0.375278, 0.034041);
uv(0.372447, 0.05162);
uv(0.372808, 0.035828);
uv(0.368834, 0.035781);
uv(0.366421, 0.100165);
uv(0.357012, 0.097833);
uv(0.376084, 0.098255);
uv(0.378377, 0.095925);
uv(0.374754, 0.09483);
uv(0.354618, 0.095278);
uv(0.359854, 0.094272);
uv(0.313365, 0.035134);
uv(0.316945, 0.034505);
uv(0.317895, 0.09435);
uv(0.368265, 0.094803);
f(0, 1, 2, 0, 1, 2);
f(2, 3, 4, 2, 3, 4);
f(2, 4, 0, 2, 4, 0);
f(1, 0, 5, 1, 0, 5);
f(5, 6, 1, 5, 6, 1);
f(6, 5, 7, 6, 5, 7);
f(8, 9, 3, 8, 9, 3);
f(9, 10, 3, 9, 10, 3);
f(9, 11, 10, 9, 11, 10);
f(11, 12, 10, 11, 12, 10);
f(6, 7, 10, 6, 7, 10);
f(13, 6, 10, 13, 6, 10);
f(12, 13, 10, 12, 13, 10);
f(14, 8, 2, 14, 8, 2);
f(8, 3, 2, 8, 3, 2);
f(15, 14, 1, 15, 14, 1);
f(14, 2, 1, 14, 2, 1);
f(16, 17, 18, 16, 17, 18);
f(19, 18, 20, 19, 18, 20);
f(20, 18, 17, 20, 18, 17);
f(16, 21, 22, 16, 21, 22);
f(22, 17, 16, 22, 17, 16);
f(22, 21, 23, 22, 21, 23);
f(23, 24, 25, 23, 24, 25);
f(19, 26, 25, 19, 26, 25);
f(25, 24, 19, 25, 24, 19);
f(27, 28, 19, 27, 28, 19);
f(24, 27, 19, 24, 27, 19);
f(29, 27, 24, 29, 27, 24);
f(30, 29, 24, 30, 29, 24);
f(31, 30, 24, 31, 30, 24);
f(21, 31, 24, 21, 31, 24);
f(23, 21, 24, 23, 21, 24);
f(28, 32, 18, 28, 32, 18);
f(19, 28, 18, 19, 28, 18);
f(32, 33, 16, 32, 33, 16);
f(18, 32, 16, 18, 32, 16);
f(26, 19, 20, 26, 19, 20);
f(34, 10, 7, 34, 10, 7);
f(3, 10, 34, 3, 10, 34);
f(34, 35, 3, 34, 35, 3);
f(4, 3, 35, 4, 3, 35);
f(36, 6, 13, 36, 6, 13);
f(15, 1, 6, 15, 1, 6);
f(6, 36, 15, 6, 36, 15);
f(21, 16, 33, 21, 16, 33);
f(33, 37, 21, 33, 37, 21);
f(31, 21, 37, 31, 21, 37);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 172
//Stoffa (Stoffa)
package {
import flash.display.*;
public dynamic class Stoffa extends MovieClip {
public function Stoffa(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 173
//Testa1 (Testa1)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Testa1 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Testa1(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(8E-6, -26.281483, 213.019501);
v(-10.251083, -21.824959, 212.733307);
v(-7.579254, -19.033569, 220.509811);
v(-16.387436, -14.736844, 208.458542);
v(-13.695992, -12.41192, 218.196808);
v(0, -25.388098, 200.599655);
v(-15.584236, -15.481924, 194.460297);
v(-18.781075, -0.637253, 195.822617);
v(-13.692619, -14.924955, 188.39325);
v(-18.611992, 0.401211, 206.027603);
v(-16.323418, -4.666826, 215.1884);
v(0, -10.020634, 174.86676);
v(-7.448547, -5.185091, 176.016998);
v(-6.560562, -6.47122, 182.863449);
v(0, -8.800367, 182.356445);
v(-13.40136, 2.554894, 189.00824);
v(-3.834702, 1.087688, 180.836731);
v(-6.076088, 1.521746, 176.382874);
v(0, 4.035344, 176.554199);
v(0, 5.652098, 184.157089);
v(-7.879074, 8.571517, 188.59082);
v(-12.85968, 12.137894, 200.637894);
v(-13.18261, 13.439494, 210.834732);
v(-12.989159, 10.252757, 215.381226);
v(-6.575249, -6.123729, 223.706757);
v(-10.236862, 3.971272, 221.190002);
v(-6.608871, -12.647684, 223.696854);
v(8E-6, -12.867542, 224.641388);
v(8E-6, -19.479677, 221.500305);
v(8E-6, -0.317243, 224.641388);
v(8E-6, 11.084101, 221.632019);
v(8E-6, 17.200556, 212.7966);
v(0, 17.521711, 202.209839);
v(0, 11.431968, 188.324402);
v(-2.783218, -25.162123, 194.618652);
v(0, -22.077301, 184.799561);
v(0, -26.348711, 193.465408);
v(0, -28.372759, 195.688568);
v(10.251091, -21.824959, 212.733307);
v(7.579262, -19.033571, 220.509811);
v(16.387436, -14.736844, 208.458542);
v(13.695999, -12.411921, 218.196808);
v(15.584229, -15.481924, 194.460297);
v(18.781075, -0.637253, 195.822617);
v(13.692619, -14.924955, 188.39325);
v(18.612, 0.401211, 206.027603);
v(16.323418, -4.666826, 215.1884);
v(7.448586, -5.185091, 176.016998);
v(6.560562, -6.47122, 182.863449);
v(13.40136, 2.554894, 189.00824);
v(3.834702, 1.087688, 180.836731);
v(5.339684, 1.145509, 176.382889);
v(7.879074, 8.571517, 188.59082);
v(12.85968, 12.137893, 200.637894);
v(13.182617, 13.439494, 210.834732);
v(12.989166, 10.252761, 215.381226);
v(6.575264, -6.123729, 223.706757);
v(10.23687, 3.971274, 221.190002);
v(6.608887, -12.647683, 223.696854);
v(2.783218, -25.162123, 194.618652);
uv(0.994263, 0.870171);
uv(0.79271, 0.886584);
uv(0.755931, 0.945203);
uv(0.451624, 0.828947);
uv(0.403523, 0.907813);
uv(0.994902, 0.589164);
uv(0.611214, 0.498412);
uv(0.202339, 0.420116);
uv(0.701901, 0.277873);
uv(0.111388, 0.724762);
uv(0.33584, 0.884447);
uv(0.995481, 0.008068);
uv(0.910959, 0.00784);
uv(0.68253, 0.125173);
uv(0.991878, 0.115719);
uv(0.189178, 0.314291);
uv(0.268167, 0.157311);
uv(0.272567, 0.132801);
uv(0.172231, 0.157981);
uv(0.00958, 0.474176);
uv(0.060876, 0.527586);
uv(0.041514, 0.742412);
uv(0.093268, 0.718055);
uv(0.133197, 0.9405);
uv(0.48403, 0.964041);
uv(0.310073, 0.947448);
uv(0.674092, 0.972345);
uv(0.989581, 0.989344);
uv(0.990118, 0.970101);
uv(0.602104, 0.993297);
uv(0.336145, 0.992246);
uv(0.013169, 0.984461);
uv(0.015389, 0.725866);
uv(0.009717, 0.550464);
uv(0.916222, 0.515018);
uv(0.993593, 0.220092);
uv(0.99458, 0.483025);
uv(0.996517, 0.508037);
uv(0.79271, 0.886584);
uv(0.994263, 0.870171);
uv(0.755931, 0.945203);
uv(0.451624, 0.828947);
uv(0.403523, 0.907813);
uv(0.994902, 0.589164);
uv(0.611214, 0.498412);
uv(0.202339, 0.420116);
uv(0.701901, 0.277873);
uv(0.111388, 0.724762);
uv(0.33584, 0.884447);
uv(0.910959, 0.00784);
uv(0.995481, 0.008068);
uv(0.68253, 0.125173);
uv(0.991878, 0.115719);
uv(0.189178, 0.314291);
uv(0.268167, 0.157311);
uv(0.272567, 0.132801);
uv(0.172231, 0.157981);
uv(0.060876, 0.527586);
uv(0.00958, 0.474176);
uv(0.041514, 0.742412);
uv(0.093268, 0.718055);
uv(0.133197, 0.9405);
uv(0.48403, 0.964041);
uv(0.310073, 0.947448);
uv(0.674092, 0.972345);
uv(0.989581, 0.989344);
uv(0.990118, 0.970101);
uv(0.602104, 0.993297);
uv(0.336145, 0.992246);
uv(0.013169, 0.984461);
uv(0.015389, 0.725866);
uv(0.009717, 0.550464);
uv(0.916222, 0.515018);
uv(0.993593, 0.220092);
uv(0.99458, 0.483025);
uv(0.996517, 0.508037);
f(0, 1, 2, 0, 1, 2);
f(3, 4, 2, 3, 4, 2);
f(2, 1, 3, 2, 1, 3);
f(5, 6, 1, 5, 6, 1);
f(1, 0, 5, 1, 0, 5);
f(6, 3, 1, 6, 3, 1);
f(7, 6, 8, 7, 6, 8);
f(3, 6, 7, 3, 6, 7);
f(7, 9, 3, 7, 9, 3);
f(3, 10, 4, 3, 10, 4);
f(11, 12, 13, 11, 12, 13);
f(8, 14, 13, 8, 14, 13);
f(8, 13, 7, 8, 13, 7);
f(7, 13, 15, 7, 13, 15);
f(16, 13, 12, 16, 13, 12);
f(12, 17, 16, 12, 17, 16);
f(15, 13, 16, 15, 13, 16);
f(17, 18, 16, 17, 18, 16);
f(19, 20, 15, 19, 20, 15);
f(21, 7, 15, 21, 7, 15);
f(15, 20, 21, 15, 20, 21);
f(21, 22, 9, 21, 22, 9);
f(9, 7, 21, 9, 7, 21);
f(22, 23, 9, 22, 23, 9);
f(24, 4, 10, 24, 4, 10);
f(10, 25, 24, 10, 25, 24);
f(24, 26, 4, 24, 26, 4);
f(26, 2, 4, 26, 2, 4);
f(27, 28, 2, 27, 28, 2);
f(2, 26, 27, 2, 26, 27);
f(26, 24, 29, 26, 24, 29);
f(29, 27, 26, 29, 27, 26);
f(25, 30, 29, 25, 30, 29);
f(29, 24, 25, 29, 24, 25);
f(23, 22, 31, 23, 22, 31);
f(31, 30, 23, 31, 30, 23);
f(32, 31, 22, 32, 31, 22);
f(22, 21, 32, 22, 21, 32);
f(33, 32, 21, 33, 32, 21);
f(21, 20, 33, 21, 20, 33);
f(19, 33, 20, 19, 33, 20);
f(25, 23, 30, 25, 23, 30);
f(9, 23, 25, 9, 23, 25);
f(25, 10, 9, 25, 10, 9);
f(3, 9, 10, 3, 9, 10);
f(0, 2, 28, 0, 2, 28);
f(8, 6, 34, 8, 6, 34);
f(35, 8, 34, 35, 8, 34);
f(35, 34, 36, 35, 34, 36);
f(5, 34, 6, 5, 34, 6);
f(37, 34, 5, 37, 34, 5);
f(36, 34, 37, 36, 34, 37);
f(11, 13, 14, 11, 13, 14);
f(14, 8, 35, 14, 8, 35);
f(19, 15, 16, 19, 15, 16);
f(19, 16, 18, 19, 16, 18);
f(38, 0, 39, 38, 39, 40);
f(40, 38, 39, 41, 38, 40);
f(39, 41, 40, 40, 42, 41);
f(5, 0, 38, 43, 39, 38);
f(38, 42, 5, 38, 44, 43);
f(40, 42, 38, 41, 44, 38);
f(42, 43, 44, 44, 45, 46);
f(40, 45, 43, 41, 47, 45);
f(43, 42, 40, 45, 44, 41);
f(46, 40, 41, 48, 41, 42);
f(47, 11, 48, 49, 50, 51);
f(14, 44, 48, 52, 46, 51);
f(48, 44, 43, 51, 46, 45);
f(48, 43, 49, 51, 45, 53);
f(50, 51, 47, 54, 55, 49);
f(47, 48, 50, 49, 51, 54);
f(48, 49, 50, 51, 53, 54);
f(18, 51, 50, 56, 55, 54);
f(52, 19, 49, 57, 58, 53);
f(53, 52, 49, 59, 57, 53);
f(49, 43, 53, 53, 45, 59);
f(53, 43, 45, 59, 45, 47);
f(45, 54, 53, 47, 60, 59);
f(55, 54, 45, 61, 60, 47);
f(56, 57, 46, 62, 63, 48);
f(46, 41, 56, 48, 42, 62);
f(58, 56, 41, 64, 62, 42);
f(39, 58, 41, 40, 64, 42);
f(27, 58, 39, 65, 64, 40);
f(39, 28, 27, 40, 66, 65);
f(58, 27, 29, 64, 65, 67);
f(29, 56, 58, 67, 62, 64);
f(57, 56, 29, 63, 62, 67);
f(29, 30, 57, 67, 68, 63);
f(55, 30, 31, 61, 68, 69);
f(31, 54, 55, 69, 60, 61);
f(32, 53, 54, 70, 59, 60);
f(54, 31, 32, 60, 69, 70);
f(33, 52, 53, 71, 57, 59);
f(53, 32, 33, 59, 70, 71);
f(33, 19, 52, 71, 58, 57);
f(55, 57, 30, 61, 63, 68);
f(45, 46, 57, 47, 48, 63);
f(57, 55, 45, 63, 61, 47);
f(45, 40, 46, 47, 41, 48);
f(39, 0, 28, 40, 39, 66);
f(59, 42, 44, 72, 44, 46);
f(59, 44, 35, 72, 46, 73);
f(59, 35, 36, 72, 73, 74);
f(59, 5, 42, 72, 43, 44);
f(59, 37, 5, 72, 75, 43);
f(59, 36, 37, 72, 74, 75);
f(48, 11, 14, 51, 50, 52);
f(44, 14, 35, 46, 52, 73);
f(49, 19, 50, 53, 58, 54);
f(50, 19, 18, 54, 58, 56);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 174
//Testa2 (Testa2)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Testa2 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Testa2(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(8E-6, -26.281483, 213.019501);
v(-10.251083, -21.824959, 212.733307);
v(-7.579254, -19.033569, 220.509811);
v(-16.387436, -14.736844, 208.458542);
v(-13.695992, -12.41192, 218.196808);
v(0, -25.95752, 202.004807);
v(-13.254509, -15.481924, 194.460297);
v(-15.716461, -0.637253, 195.822617);
v(-11.645676, -15.722282, 187.692245);
v(-18.611992, 0.401211, 206.027603);
v(-16.323418, -4.666826, 215.1884);
v(0, -10.020634, 174.86676);
v(-7.448547, -5.185091, 176.016998);
v(-6.560562, -7.268548, 182.719589);
v(0, -9.597695, 182.212585);
v(-13.40136, 2.554894, 189.00824);
v(-3.834702, 1.087688, 180.836731);
v(-6.076088, 1.521746, 176.382874);
v(0, 4.035344, 176.554199);
v(0, 5.652098, 184.157089);
v(-7.879074, 8.571517, 188.59082);
v(-12.85968, 12.137894, 200.637894);
v(-13.18261, 13.439494, 210.834732);
v(-12.989159, 10.252757, 215.381226);
v(-6.575249, -6.123729, 223.706757);
v(-10.236862, 3.971272, 221.190002);
v(-6.608871, -12.647684, 223.696854);
v(8E-6, -12.867542, 224.641388);
v(8E-6, -19.479677, 221.500305);
v(8E-6, -0.317243, 224.641388);
v(8E-6, 11.084101, 221.632019);
v(8E-6, 17.200556, 212.7966);
v(0, 17.521711, 202.209839);
v(0, 11.431968, 188.324402);
v(-2.783218, -25.162123, 194.618652);
v(0, -22.051542, 182.851883);
v(0, -26.348711, 193.465408);
v(0, -29.537956, 195.707672);
v(10.251091, -21.824959, 212.733307);
v(7.579262, -19.033571, 220.509811);
v(16.387436, -14.736844, 208.458542);
v(13.695999, -12.411921, 218.196808);
v(13.254494, -15.481924, 194.460297);
v(15.716469, -0.637253, 195.822617);
v(11.645668, -15.722282, 187.692245);
v(18.612, 0.401211, 206.027603);
v(16.323418, -4.666826, 215.1884);
v(7.448586, -5.185091, 176.016998);
v(6.560562, -7.268548, 182.719589);
v(13.40136, 2.554894, 189.00824);
v(3.834702, 1.087688, 180.836731);
v(5.339684, 1.145509, 176.382889);
v(7.879074, 8.571517, 188.59082);
v(12.85968, 12.137893, 200.637894);
v(13.182617, 13.439494, 210.834732);
v(12.989166, 10.252761, 215.381226);
v(6.575264, -6.123729, 223.706757);
v(10.23687, 3.971274, 221.190002);
v(6.608887, -12.647683, 223.696854);
v(2.783218, -25.162123, 194.618652);
uv(0.994263, 0.870171);
uv(0.79271, 0.886584);
uv(0.755931, 0.945203);
uv(0.451624, 0.828947);
uv(0.403523, 0.907813);
uv(0.994902, 0.589164);
uv(0.611214, 0.498412);
uv(0.202339, 0.420116);
uv(0.701901, 0.277873);
uv(0.111388, 0.724762);
uv(0.33584, 0.884447);
uv(0.995481, 0.008068);
uv(0.910959, 0.00784);
uv(0.68253, 0.125173);
uv(0.991878, 0.115719);
uv(0.189178, 0.314291);
uv(0.268167, 0.157311);
uv(0.272567, 0.132801);
uv(0.172231, 0.157981);
uv(0.00958, 0.474176);
uv(0.060876, 0.527586);
uv(0.041514, 0.742412);
uv(0.093268, 0.718055);
uv(0.133197, 0.9405);
uv(0.48403, 0.964041);
uv(0.310073, 0.947448);
uv(0.674092, 0.972345);
uv(0.989581, 0.989344);
uv(0.990118, 0.970101);
uv(0.602104, 0.993297);
uv(0.336145, 0.992246);
uv(0.013169, 0.984461);
uv(0.015389, 0.725866);
uv(0.009717, 0.550464);
uv(0.916222, 0.515018);
uv(0.993593, 0.220092);
uv(0.99458, 0.483025);
uv(0.996517, 0.508037);
uv(0.79271, 0.886584);
uv(0.994263, 0.870171);
uv(0.755931, 0.945203);
uv(0.451624, 0.828947);
uv(0.403523, 0.907813);
uv(0.994902, 0.589164);
uv(0.611214, 0.498412);
uv(0.202339, 0.420116);
uv(0.701901, 0.277873);
uv(0.111388, 0.724762);
uv(0.33584, 0.884447);
uv(0.910959, 0.00784);
uv(0.995481, 0.008068);
uv(0.68253, 0.125173);
uv(0.991878, 0.115719);
uv(0.189178, 0.314291);
uv(0.268167, 0.157311);
uv(0.272567, 0.132801);
uv(0.172231, 0.157981);
uv(0.060876, 0.527586);
uv(0.00958, 0.474176);
uv(0.041514, 0.742412);
uv(0.093268, 0.718055);
uv(0.133197, 0.9405);
uv(0.48403, 0.964041);
uv(0.310073, 0.947448);
uv(0.674092, 0.972345);
uv(0.989581, 0.989344);
uv(0.990118, 0.970101);
uv(0.602104, 0.993297);
uv(0.336145, 0.992246);
uv(0.013169, 0.984461);
uv(0.015389, 0.725866);
uv(0.009717, 0.550464);
uv(0.916222, 0.515018);
uv(0.993593, 0.220092);
uv(0.99458, 0.483025);
uv(0.996517, 0.508037);
f(0, 1, 2, 0, 1, 2);
f(3, 4, 2, 3, 4, 2);
f(2, 1, 3, 2, 1, 3);
f(5, 6, 1, 5, 6, 1);
f(1, 0, 5, 1, 0, 5);
f(6, 3, 1, 6, 3, 1);
f(7, 6, 8, 7, 6, 8);
f(3, 6, 7, 3, 6, 7);
f(7, 9, 3, 7, 9, 3);
f(3, 10, 4, 3, 10, 4);
f(11, 12, 13, 11, 12, 13);
f(8, 14, 13, 8, 14, 13);
f(8, 13, 7, 8, 13, 7);
f(7, 13, 15, 7, 13, 15);
f(16, 13, 12, 16, 13, 12);
f(12, 17, 16, 12, 17, 16);
f(15, 13, 16, 15, 13, 16);
f(17, 18, 16, 17, 18, 16);
f(19, 20, 15, 19, 20, 15);
f(21, 7, 15, 21, 7, 15);
f(15, 20, 21, 15, 20, 21);
f(21, 22, 9, 21, 22, 9);
f(9, 7, 21, 9, 7, 21);
f(22, 23, 9, 22, 23, 9);
f(24, 4, 10, 24, 4, 10);
f(10, 25, 24, 10, 25, 24);
f(24, 26, 4, 24, 26, 4);
f(26, 2, 4, 26, 2, 4);
f(27, 28, 2, 27, 28, 2);
f(2, 26, 27, 2, 26, 27);
f(26, 24, 29, 26, 24, 29);
f(29, 27, 26, 29, 27, 26);
f(25, 30, 29, 25, 30, 29);
f(29, 24, 25, 29, 24, 25);
f(23, 22, 31, 23, 22, 31);
f(31, 30, 23, 31, 30, 23);
f(32, 31, 22, 32, 31, 22);
f(22, 21, 32, 22, 21, 32);
f(33, 32, 21, 33, 32, 21);
f(21, 20, 33, 21, 20, 33);
f(19, 33, 20, 19, 33, 20);
f(25, 23, 30, 25, 23, 30);
f(9, 23, 25, 9, 23, 25);
f(25, 10, 9, 25, 10, 9);
f(3, 9, 10, 3, 9, 10);
f(0, 2, 28, 0, 2, 28);
f(8, 6, 34, 8, 6, 34);
f(35, 8, 34, 35, 8, 34);
f(35, 34, 36, 35, 34, 36);
f(5, 34, 6, 5, 34, 6);
f(37, 34, 5, 37, 34, 5);
f(36, 34, 37, 36, 34, 37);
f(11, 13, 14, 11, 13, 14);
f(14, 8, 35, 14, 8, 35);
f(19, 15, 16, 19, 15, 16);
f(19, 16, 18, 19, 16, 18);
f(38, 0, 39, 38, 39, 40);
f(40, 38, 39, 41, 38, 40);
f(39, 41, 40, 40, 42, 41);
f(5, 0, 38, 43, 39, 38);
f(38, 42, 5, 38, 44, 43);
f(40, 42, 38, 41, 44, 38);
f(42, 43, 44, 44, 45, 46);
f(40, 45, 43, 41, 47, 45);
f(43, 42, 40, 45, 44, 41);
f(46, 40, 41, 48, 41, 42);
f(47, 11, 48, 49, 50, 51);
f(14, 44, 48, 52, 46, 51);
f(48, 44, 43, 51, 46, 45);
f(48, 43, 49, 51, 45, 53);
f(50, 51, 47, 54, 55, 49);
f(47, 48, 50, 49, 51, 54);
f(48, 49, 50, 51, 53, 54);
f(18, 51, 50, 56, 55, 54);
f(52, 19, 49, 57, 58, 53);
f(53, 52, 49, 59, 57, 53);
f(49, 43, 53, 53, 45, 59);
f(53, 43, 45, 59, 45, 47);
f(45, 54, 53, 47, 60, 59);
f(55, 54, 45, 61, 60, 47);
f(56, 57, 46, 62, 63, 48);
f(46, 41, 56, 48, 42, 62);
f(58, 56, 41, 64, 62, 42);
f(39, 58, 41, 40, 64, 42);
f(27, 58, 39, 65, 64, 40);
f(39, 28, 27, 40, 66, 65);
f(58, 27, 29, 64, 65, 67);
f(29, 56, 58, 67, 62, 64);
f(57, 56, 29, 63, 62, 67);
f(29, 30, 57, 67, 68, 63);
f(55, 30, 31, 61, 68, 69);
f(31, 54, 55, 69, 60, 61);
f(32, 53, 54, 70, 59, 60);
f(54, 31, 32, 60, 69, 70);
f(33, 52, 53, 71, 57, 59);
f(53, 32, 33, 59, 70, 71);
f(33, 19, 52, 71, 58, 57);
f(55, 57, 30, 61, 63, 68);
f(45, 46, 57, 47, 48, 63);
f(57, 55, 45, 63, 61, 47);
f(45, 40, 46, 47, 41, 48);
f(39, 0, 28, 40, 39, 66);
f(59, 42, 44, 72, 44, 46);
f(59, 44, 35, 72, 46, 73);
f(59, 35, 36, 72, 73, 74);
f(59, 5, 42, 72, 43, 44);
f(59, 37, 5, 72, 75, 43);
f(59, 36, 37, 72, 74, 75);
f(48, 11, 14, 51, 50, 52);
f(44, 14, 35, 46, 52, 73);
f(49, 19, 50, 53, 58, 54);
f(50, 19, 18, 54, 58, 56);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 175
//Testa3 (Testa3)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class Testa3 extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function Testa3(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(8E-6, -26.281483, 213.019501);
v(-9.48336, -21.824959, 212.733307);
v(-7.579254, -19.033569, 220.509811);
v(-15.160149, -14.736844, 208.458542);
v(-13.695992, -12.41192, 218.196808);
v(0, -25.923813, 202.222961);
v(-15.951675, -15.481924, 194.460297);
v(-18.914612, -0.637253, 195.822617);
v(-10.367577, -15.722281, 185.534241);
v(-17.218102, 0.40121, 206.027603);
v(-15.100929, -4.666826, 215.1884);
v(0, -10.020634, 174.86676);
v(-7.448547, -5.185091, 176.016998);
v(-7.895576, -7.268548, 182.719589);
v(0, -9.597695, 182.212585);
v(-16.128418, 2.554894, 189.00824);
v(-3.834702, 1.087688, 180.836731);
v(-6.076088, 1.521746, 176.382874);
v(0, 4.035344, 176.554199);
v(0, 5.652098, 184.157089);
v(-7.879074, 8.571517, 188.59082);
v(-12.85968, 12.137894, 200.637894);
v(-13.18261, 13.439494, 210.834732);
v(-12.989159, 10.252757, 215.381226);
v(-6.575249, -6.123729, 223.706757);
v(-10.236862, 3.971272, 221.190002);
v(-6.608871, -12.647684, 223.696854);
v(8E-6, -12.867542, 224.641388);
v(8E-6, -19.479677, 221.500305);
v(8E-6, -0.317243, 224.641388);
v(8E-6, 11.084101, 221.632019);
v(8E-6, 17.200556, 212.7966);
v(0, 17.521711, 202.209839);
v(0, 11.431968, 188.324402);
v(-2.783218, -25.128416, 194.836807);
v(0, -24.831541, 185.119446);
v(0, -26.315004, 193.683563);
v(0, -29.865753, 197.948196);
v(9.483368, -21.824959, 212.733307);
v(7.579262, -19.033571, 220.509811);
v(15.160156, -14.736844, 208.458542);
v(13.695999, -12.411921, 218.196808);
v(15.95166, -15.481924, 194.460297);
v(18.914627, -0.637253, 195.822617);
v(10.367569, -15.722282, 185.534241);
v(17.218117, 0.40121, 206.027603);
v(15.100929, -4.666826, 215.1884);
v(7.448586, -5.185091, 176.016998);
v(7.895576, -7.268548, 182.719589);
v(16.128418, 2.554894, 189.00824);
v(3.834702, 1.087688, 180.836731);
v(5.339684, 1.145509, 176.382889);
v(7.879074, 8.571517, 188.59082);
v(12.85968, 12.137893, 200.637894);
v(13.182617, 13.439494, 210.834732);
v(12.989166, 10.252761, 215.381226);
v(6.575264, -6.123729, 223.706757);
v(10.23687, 3.971274, 221.190002);
v(6.608887, -12.647683, 223.696854);
v(2.783218, -25.128416, 194.836807);
uv(0.994263, 0.870171);
uv(0.79271, 0.886584);
uv(0.755931, 0.945203);
uv(0.451624, 0.828947);
uv(0.403523, 0.907813);
uv(0.994902, 0.589164);
uv(0.611214, 0.498412);
uv(0.202339, 0.420116);
uv(0.701901, 0.277873);
uv(0.111388, 0.724762);
uv(0.33584, 0.884447);
uv(0.995481, 0.008068);
uv(0.910959, 0.00784);
uv(0.68253, 0.125173);
uv(0.991878, 0.115719);
uv(0.189178, 0.314291);
uv(0.268167, 0.157311);
uv(0.272567, 0.132801);
uv(0.172231, 0.157981);
uv(0.00958, 0.474176);
uv(0.060876, 0.527586);
uv(0.041514, 0.742412);
uv(0.093268, 0.718055);
uv(0.133197, 0.9405);
uv(0.48403, 0.964041);
uv(0.310073, 0.947448);
uv(0.674092, 0.972345);
uv(0.989581, 0.989344);
uv(0.990118, 0.970101);
uv(0.602104, 0.993297);
uv(0.336145, 0.992246);
uv(0.013169, 0.984461);
uv(0.015389, 0.725866);
uv(0.009717, 0.550464);
uv(0.916222, 0.515018);
uv(0.993593, 0.220092);
uv(0.99458, 0.483025);
uv(0.996517, 0.508037);
uv(0.79271, 0.886584);
uv(0.994263, 0.870171);
uv(0.755931, 0.945203);
uv(0.451624, 0.828947);
uv(0.403523, 0.907813);
uv(0.994902, 0.589164);
uv(0.611214, 0.498412);
uv(0.202339, 0.420116);
uv(0.701901, 0.277873);
uv(0.111388, 0.724762);
uv(0.33584, 0.884447);
uv(0.910959, 0.00784);
uv(0.995481, 0.008068);
uv(0.68253, 0.125173);
uv(0.991878, 0.115719);
uv(0.189178, 0.314291);
uv(0.268167, 0.157311);
uv(0.272567, 0.132801);
uv(0.172231, 0.157981);
uv(0.060876, 0.527586);
uv(0.00958, 0.474176);
uv(0.041514, 0.742412);
uv(0.093268, 0.718055);
uv(0.133197, 0.9405);
uv(0.48403, 0.964041);
uv(0.310073, 0.947448);
uv(0.674092, 0.972345);
uv(0.989581, 0.989344);
uv(0.990118, 0.970101);
uv(0.602104, 0.993297);
uv(0.336145, 0.992246);
uv(0.013169, 0.984461);
uv(0.015389, 0.725866);
uv(0.009717, 0.550464);
uv(0.916222, 0.515018);
uv(0.993593, 0.220092);
uv(0.99458, 0.483025);
uv(0.996517, 0.508037);
f(0, 1, 2, 0, 1, 2);
f(3, 4, 2, 3, 4, 2);
f(2, 1, 3, 2, 1, 3);
f(5, 6, 1, 5, 6, 1);
f(1, 0, 5, 1, 0, 5);
f(6, 3, 1, 6, 3, 1);
f(7, 6, 8, 7, 6, 8);
f(3, 6, 7, 3, 6, 7);
f(7, 9, 3, 7, 9, 3);
f(3, 10, 4, 3, 10, 4);
f(11, 12, 13, 11, 12, 13);
f(8, 14, 13, 8, 14, 13);
f(8, 13, 7, 8, 13, 7);
f(7, 13, 15, 7, 13, 15);
f(16, 13, 12, 16, 13, 12);
f(12, 17, 16, 12, 17, 16);
f(15, 13, 16, 15, 13, 16);
f(17, 18, 16, 17, 18, 16);
f(19, 20, 15, 19, 20, 15);
f(21, 7, 15, 21, 7, 15);
f(15, 20, 21, 15, 20, 21);
f(21, 22, 9, 21, 22, 9);
f(9, 7, 21, 9, 7, 21);
f(22, 23, 9, 22, 23, 9);
f(24, 4, 10, 24, 4, 10);
f(10, 25, 24, 10, 25, 24);
f(24, 26, 4, 24, 26, 4);
f(26, 2, 4, 26, 2, 4);
f(27, 28, 2, 27, 28, 2);
f(2, 26, 27, 2, 26, 27);
f(26, 24, 29, 26, 24, 29);
f(29, 27, 26, 29, 27, 26);
f(25, 30, 29, 25, 30, 29);
f(29, 24, 25, 29, 24, 25);
f(23, 22, 31, 23, 22, 31);
f(31, 30, 23, 31, 30, 23);
f(32, 31, 22, 32, 31, 22);
f(22, 21, 32, 22, 21, 32);
f(33, 32, 21, 33, 32, 21);
f(21, 20, 33, 21, 20, 33);
f(19, 33, 20, 19, 33, 20);
f(25, 23, 30, 25, 23, 30);
f(9, 23, 25, 9, 23, 25);
f(25, 10, 9, 25, 10, 9);
f(3, 9, 10, 3, 9, 10);
f(0, 2, 28, 0, 2, 28);
f(8, 6, 34, 8, 6, 34);
f(35, 8, 34, 35, 8, 34);
f(35, 34, 36, 35, 34, 36);
f(5, 34, 6, 5, 34, 6);
f(37, 34, 5, 37, 34, 5);
f(36, 34, 37, 36, 34, 37);
f(11, 13, 14, 11, 13, 14);
f(14, 8, 35, 14, 8, 35);
f(19, 15, 16, 19, 15, 16);
f(19, 16, 18, 19, 16, 18);
f(38, 0, 39, 38, 39, 40);
f(40, 38, 39, 41, 38, 40);
f(39, 41, 40, 40, 42, 41);
f(5, 0, 38, 43, 39, 38);
f(38, 42, 5, 38, 44, 43);
f(40, 42, 38, 41, 44, 38);
f(42, 43, 44, 44, 45, 46);
f(40, 45, 43, 41, 47, 45);
f(43, 42, 40, 45, 44, 41);
f(46, 40, 41, 48, 41, 42);
f(47, 11, 48, 49, 50, 51);
f(14, 44, 48, 52, 46, 51);
f(48, 44, 43, 51, 46, 45);
f(48, 43, 49, 51, 45, 53);
f(50, 51, 47, 54, 55, 49);
f(47, 48, 50, 49, 51, 54);
f(48, 49, 50, 51, 53, 54);
f(18, 51, 50, 56, 55, 54);
f(52, 19, 49, 57, 58, 53);
f(53, 52, 49, 59, 57, 53);
f(49, 43, 53, 53, 45, 59);
f(53, 43, 45, 59, 45, 47);
f(45, 54, 53, 47, 60, 59);
f(55, 54, 45, 61, 60, 47);
f(56, 57, 46, 62, 63, 48);
f(46, 41, 56, 48, 42, 62);
f(58, 56, 41, 64, 62, 42);
f(39, 58, 41, 40, 64, 42);
f(27, 58, 39, 65, 64, 40);
f(39, 28, 27, 40, 66, 65);
f(58, 27, 29, 64, 65, 67);
f(29, 56, 58, 67, 62, 64);
f(57, 56, 29, 63, 62, 67);
f(29, 30, 57, 67, 68, 63);
f(55, 30, 31, 61, 68, 69);
f(31, 54, 55, 69, 60, 61);
f(32, 53, 54, 70, 59, 60);
f(54, 31, 32, 60, 69, 70);
f(33, 52, 53, 71, 57, 59);
f(53, 32, 33, 59, 70, 71);
f(33, 19, 52, 71, 58, 57);
f(55, 57, 30, 61, 63, 68);
f(45, 46, 57, 47, 48, 63);
f(57, 55, 45, 63, 61, 47);
f(45, 40, 46, 47, 41, 48);
f(39, 0, 28, 40, 39, 66);
f(59, 42, 44, 72, 44, 46);
f(59, 44, 35, 72, 46, 73);
f(59, 35, 36, 72, 73, 74);
f(59, 5, 42, 72, 43, 44);
f(59, 37, 5, 72, 75, 43);
f(59, 36, 37, 72, 74, 75);
f(48, 11, 14, 51, 50, 52);
f(44, 14, 35, 46, 52, 73);
f(49, 19, 50, 53, 58, 54);
f(50, 19, 18, 54, 58, 56);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 176
//Tops (Tops)
package {
import flash.display.*;
public dynamic class Tops extends MovieClip {
public function Tops(){
addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9);
}
function frame3(){
stop();
}
function frame6(){
stop();
}
function frame7(){
stop();
}
function frame1(){
stop();
}
function frame4(){
stop();
}
function frame5(){
stop();
}
function frame9(){
stop();
}
function frame8(){
stop();
}
function frame2(){
stop();
}
}
}//package
Section 177
//UnderShirtUP (UnderShirtUP)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class UnderShirtUP extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function UnderShirtUP(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-4.579369, -15.681819, 164.267899);
v(-5.281181, -11.079955, 172.436798);
v(4.6E-5, -11.993457, 169.264664);
v(4.6E-5, -15.362832, 159.375);
v(0, -10.020634, 174.86676);
v(-7.448547, -5.185091, 176.016998);
v(4.579437, -15.681819, 164.267899);
v(5.281265, -11.079951, 172.436798);
v(7.448586, -5.185091, 176.016998);
uv(0.336765, 0.260686);
uv(0.335795, 0.272632);
uv(0.343094, 0.267993);
uv(0.343094, 0.25781);
uv(0.343094, 0.279259);
uv(0.332799, 0.278474);
uv(0.349424, 0.260686);
uv(0.350394, 0.272632);
uv(0.353389, 0.278474);
f(0, 1, 2, 0, 1, 2);
f(2, 3, 0, 2, 3, 0);
f(4, 1, 5, 4, 1, 5);
f(4, 2, 1, 4, 2, 1);
f(6, 3, 2, 6, 3, 2);
f(2, 7, 6, 2, 7, 6);
f(7, 4, 8, 7, 4, 8);
f(2, 4, 7, 2, 4, 7);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package
Section 178
//UPBusto (UPBusto)
package {
import away3d.core.base.*;
import away3d.core.utils.*;
public class UPBusto extends Mesh {
private var uvarr:Array;
private var varr:Array;
private var scaling:Number;
public function UPBusto(_arg1:Object=null){
varr = [];
uvarr = [];
super(_arg1);
_arg1 = Init.parse(_arg1);
scaling = _arg1.getNumber("scaling", 1);
build();
type = ".as";
}
private function build():void{
v(-27.385811, 9.561624, 159.966995);
v(-30.491699, 3.377112, 160.969589);
v(-19.937508, -0.264524, 162.089783);
v(-15.379036, 6.34537, 163.708694);
v(-10.871994, 9.608884, 167.240692);
v(-33.672668, 3.237258, 164.585037);
v(-26.322311, -0.30919, 165.067169);
v(-24.294746, -0.621634, 172.454514);
v(-34.621353, 7.841491, 168.328308);
v(-7.448547, -5.185091, 176.016998);
v(-5.281181, -11.079955, 172.436798);
v(-10.757324, -10.01891, 174.771973);
v(-32.833969, 11.685318, 168.354095);
v(-21.376869, 5.950027, 172.390854);
v(-28.72319, 14.661865, 164.505737);
v(-23.159607, -4.242906, 163.318451);
v(-10.858452, -14.704367, 168.008682);
v(-15.410591, -13.587157, 167.597519);
v(-15.299126, -8.707894, 172.303818);
v(-27.690208, 11.862285, 161.278549);
v(-15.518173, -18.315712, 164.879517);
v(-11.805313, -20.638329, 165.674438);
v(-4.579369, -16.19659, 164.267899);
v(-4.885765, -19.392456, 162.481079);
v(-7.335518, -21.548168, 164.041046);
v(-1.196144, -18.202911, 160.279251);
v(4.6E-5, -15.583632, 162.301544);
v(4.6E-5, -11.993457, 169.264664);
v(-19.346962, -9.028306, 160.60936);
v(-10.405174, 7.619869, 160.684464);
v(-18.198616, -0.578975, 159.952286);
v(-6.076088, 1.521746, 176.382874);
v(-7.75843, 6.962165, 174.015427);
v(0, -10.020634, 174.86676);
v(4.6E-5, 7.744476, 167.535889);
v(4.6E-5, 5.691522, 160.582855);
v(0, 4.035344, 176.554199);
v(22.301018, -6.056449, 153.575287);
v(19.791801, -1.508212, 153.355743);
v(17.465408, -0.264524, 161.03096);
v(22.290398, 3.618088, 153.574341);
v(25.666679, 3.171041, 164.561737);
v(15.37912, 6.345366, 167.762405);
v(21.237289, 3.722832, 170.971436);
v(29.054947, -7.001307, 154.166153);
v(25.350853, -8.375831, 166.673172);
v(30.009827, -4.082739, 154.497437);
v(10.757408, -10.018908, 174.771988);
v(5.281265, -11.079951, 172.436798);
v(7.448586, -5.185091, 176.016998);
v(23.455124, -1.865387, 171.502014);
v(31.335777, 0.156339, 154.499725);
v(28.511696, 4.591288, 154.656967);
v(20.836838, -10.190972, 163.802277);
v(15.354935, -11.147529, 165.84964);
v(10.858528, -14.704363, 168.008682);
v(15.518257, -18.315704, 164.879517);
v(11.805397, -20.638325, 165.674438);
v(7.335602, -21.548172, 164.041046);
v(4.877182, -19.302168, 162.531555);
v(4.579437, -16.19659, 164.267899);
v(1.19622, -18.202911, 160.279251);
v(5.235535, 9.371969, 167.65126);
v(6.348656, 6.687324, 174.015427);
v(10.405251, 7.619871, 160.684464);
v(18.198074, -0.578975, 159.952286);
v(19.347038, -9.028309, 160.609375);
v(5.339684, 1.145509, 176.382889);
v(9.952446, 6.60561, 159.36911);
v(3.8E-5, 5.208002, 159.482559);
v(-9.95237, 6.605609, 159.36911);
v(3.8E-5, -16.192627, 160.227966);
uv(0.294834, 0.257547);
uv(0.294834, 0.26123);
uv(0.313795, 0.25879);
uv(0.304814, 0.267744);
uv(0.321838, 0.265796);
uv(0.313597, 0.274337);
uv(0.294834, 0.271145);
uv(0.304983, 0.267953);
uv(0.309655, 0.279399);
uv(0.294834, 0.276703);
uv(0.332799, 0.278474);
uv(0.335795, 0.272632);
uv(0.328226, 0.276047);
uv(0.294834, 0.276742);
uv(0.310299, 0.277837);
uv(0.29727, 0.270573);
uv(0.310728, 0.264285);
uv(0.328086, 0.266156);
uv(0.321795, 0.265555);
uv(0.321949, 0.272437);
uv(0.294834, 0.261215);
uv(0.321646, 0.26158);
uv(0.326778, 0.262743);
uv(0.336765, 0.260686);
uv(0.336341, 0.258073);
uv(0.332955, 0.260354);
uv(0.341441, 0.254853);
uv(0.343094, 0.25781);
uv(0.343094, 0.267993);
uv(0.316354, 0.255335);
uv(0.328713, 0.255445);
uv(0.335858, 0.265633);
uv(0.317941, 0.254375);
uv(0.335714, 0.278402);
uv(0.33432, 0.27494);
uv(0.343094, 0.279259);
uv(0.343094, 0.265465);
uv(0.343094, 0.255297);
uv(0.343094, 0.278653);
uv(0.391354, 0.26123);
uv(0.391354, 0.257547);
uv(0.372391, 0.25879);
uv(0.391354, 0.261215);
uv(0.381374, 0.267744);
uv(0.36435, 0.265796);
uv(0.372591, 0.274337);
uv(0.391354, 0.271145);
uv(0.378869, 0.273676);
uv(0.391354, 0.276703);
uv(0.357962, 0.276047);
uv(0.350394, 0.272632);
uv(0.353389, 0.278474);
uv(0.37589, 0.277837);
uv(0.391354, 0.276742);
uv(0.388919, 0.270573);
uv(0.37546, 0.264285);
uv(0.364317, 0.268996);
uv(0.358102, 0.266156);
uv(0.364543, 0.26158);
uv(0.359411, 0.262743);
uv(0.353233, 0.260354);
uv(0.349835, 0.258146);
uv(0.349424, 0.260686);
uv(0.344747, 0.254853);
uv(0.35033, 0.265633);
uv(0.351869, 0.27494);
uv(0.357476, 0.255445);
uv(0.368246, 0.254375);
uv(0.369834, 0.255335);
uv(0.350474, 0.278402);
uv(0.35685, 0.253522);
uv(0.343094, 0.253688);
uv(0.329339, 0.253522);
uv(0.343094, 0.254778);
f(0, 1, 2, 0, 1, 2);
f(0, 2, 3, 3, 2, 4);
f(0, 3, 4, 3, 4, 5);
f(2, 5, 6, 2, 6, 7);
f(5, 7, 6, 6, 8, 7);
f(5, 8, 7, 6, 9, 8);
f(9, 10, 11, 10, 11, 12);
f(8, 12, 13, 9, 13, 14);
f(7, 8, 13, 8, 9, 14);
f(7, 13, 9, 8, 14, 10);
f(7, 9, 11, 8, 10, 12);
f(12, 14, 13, 13, 15, 14);
f(15, 2, 6, 16, 2, 7);
f(16, 17, 18, 17, 18, 19);
f(11, 16, 18, 12, 17, 19);
f(7, 11, 18, 8, 12, 19);
f(4, 14, 19, 5, 15, 20);
f(19, 0, 4, 20, 3, 5);
f(16, 20, 17, 17, 21, 18);
f(16, 21, 20, 17, 22, 21);
f(22, 23, 24, 23, 24, 25);
f(25, 23, 22, 26, 24, 23);
f(26, 25, 22, 27, 26, 23);
f(24, 21, 16, 25, 22, 17);
f(22, 24, 16, 23, 25, 17);
f(22, 16, 11, 23, 17, 12);
f(10, 22, 11, 11, 23, 12);
f(22, 10, 27, 23, 11, 28);
f(27, 26, 22, 28, 27, 23);
f(20, 28, 17, 21, 29, 18);
f(3, 29, 4, 4, 30, 31);
f(2, 29, 3, 2, 30, 4);
f(28, 30, 2, 29, 32, 2);
f(13, 14, 4, 14, 15, 5);
f(31, 13, 4, 33, 14, 5);
f(32, 31, 4, 34, 33, 5);
f(9, 13, 31, 10, 14, 33);
f(33, 10, 9, 35, 11, 10);
f(33, 27, 10, 35, 28, 11);
f(15, 6, 7, 16, 7, 8);
f(7, 18, 15, 8, 19, 16);
f(18, 28, 15, 19, 29, 16);
f(28, 2, 15, 29, 2, 16);
f(34, 29, 35, 36, 30, 37);
f(34, 4, 29, 36, 31, 30);
f(36, 4, 34, 38, 31, 36);
f(36, 32, 4, 38, 34, 31);
f(36, 31, 32, 38, 33, 34);
f(37, 38, 39, 39, 40, 41);
f(38, 40, 39, 40, 42, 41);
f(39, 40, 41, 41, 42, 43);
f(39, 41, 42, 41, 43, 44);
f(42, 41, 43, 44, 43, 45);
f(44, 39, 45, 46, 41, 47);
f(46, 44, 45, 48, 46, 47);
f(47, 48, 49, 49, 50, 51);
f(45, 47, 49, 47, 49, 51);
f(50, 51, 46, 52, 53, 48);
f(50, 46, 45, 52, 48, 47);
f(50, 45, 49, 52, 47, 51);
f(52, 51, 50, 54, 53, 52);
f(39, 53, 45, 41, 55, 47);
f(45, 54, 55, 47, 56, 57);
f(55, 47, 45, 57, 49, 47);
f(52, 43, 41, 54, 45, 43);
f(41, 40, 52, 43, 42, 54);
f(56, 55, 54, 58, 57, 56);
f(57, 55, 56, 59, 57, 58);
f(58, 59, 60, 60, 61, 62);
f(59, 61, 60, 61, 63, 62);
f(61, 26, 60, 63, 27, 62);
f(57, 58, 55, 59, 60, 57);
f(58, 60, 55, 60, 62, 57);
f(55, 60, 47, 57, 62, 49);
f(60, 48, 47, 62, 50, 49);
f(60, 26, 27, 62, 27, 28);
f(27, 48, 60, 28, 50, 62);
f(62, 42, 63, 64, 44, 65);
f(64, 42, 62, 66, 44, 64);
f(64, 39, 42, 66, 41, 44);
f(65, 66, 39, 67, 68, 41);
f(42, 43, 63, 44, 45, 65);
f(67, 63, 43, 69, 65, 45);
f(50, 67, 43, 52, 69, 45);
f(52, 50, 43, 54, 52, 45);
f(50, 49, 67, 52, 51, 69);
f(48, 33, 49, 50, 35, 51);
f(27, 33, 48, 28, 35, 50);
f(53, 54, 45, 55, 56, 47);
f(66, 54, 53, 68, 56, 55);
f(39, 66, 53, 41, 68, 55);
f(68, 64, 35, 70, 66, 37);
f(35, 69, 68, 37, 71, 70);
f(64, 34, 35, 66, 36, 37);
f(64, 62, 34, 66, 64, 36);
f(62, 36, 34, 64, 38, 36);
f(62, 63, 36, 64, 65, 38);
f(63, 67, 36, 65, 69, 38);
f(28, 18, 17, 29, 19, 18);
f(66, 56, 54, 68, 58, 56);
f(30, 70, 29, 32, 72, 30);
f(29, 2, 30, 30, 2, 32);
f(70, 69, 35, 72, 71, 37);
f(35, 29, 70, 37, 30, 72);
f(64, 68, 65, 66, 70, 67);
f(65, 39, 64, 67, 41, 66);
f(71, 26, 61, 73, 27, 63);
f(25, 26, 71, 26, 27, 73);
f(5, 2, 1, 6, 2, 1);
f(37, 39, 44, 39, 41, 46);
}
private function f(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int):void{
addFace(new Face(varr[_arg1], varr[_arg2], varr[_arg3], null, uvarr[_arg4], uvarr[_arg5], uvarr[_arg6]));
}
private function uv(_arg1:Number, _arg2:Number):void{
uvarr.push(new UV(_arg1, _arg2));
}
private function v(_arg1:Number, _arg2:Number, _arg3:Number):void{
varr.push(new Vertex((_arg1 * scaling), (_arg2 * scaling), (_arg3 * scaling)));
}
}
}//package