package geometry._theory { import away3d.primitives.Cube; import flash.geom.Matrix3D; import flash.geom.Vector3D; import triga.shapes.Tick; import triga.shapes.XYZ; /** * @author Nicolas Barradeau * http://en.nicoptere.net */ public class E_AppendPrepend extends BaseScene { private var tick0:Tick; private var tick1:Tick; public function E_AppendPrepend() { cameraDistance = -250; setup(); addMesh( new XYZ(100), tick0 = new Tick( null, 25, RED ), tick1 = new Tick( null, 25, WHITE ) ); addChild(GlobalTextField.instance ); var translation:Number = 50; var scale:Number = 2; //order of operations matters: //translation then scale != scale then translation var mat:Matrix3D = new Matrix3D(); mat.appendTranslation( translation, translation, translation ); mat.appendScale( scale, scale, scale ); tick0.transform = mat; //== /* mat.identity(); mat.appendScale( scale,scale,scale ); mat.prependTranslation( translation, translation, translation ); tick0.transform = mat; //*/ //!= mat.identity(); mat.appendScale( scale,scale,scale ); mat.appendTranslation( translation, translation, translation ); tick1.transform = mat; } } }