My favorites
|
Sign in
as3dmod
cross-engine modifier library for Flash 3d
Project Home
Downloads
Wiki
Issues
Source
Checkout
|
Browse
|
Changes
|
Changes to /trunk/src/com/as3dmod/modifiers/Break.as
r0 vs. r89
Edit
Compare:
r0
r89
r91
vs.
r0
r89
r91
Format:
Single-column
Side by side
r89
r91›
Revision r89
Go to:
...nk/bin/as3dmod-alternativa3d.swf
/trunk/bin/as3dmod-away3d.swf
/trunk/bin/as3dmod-pv3d.swf
/trunk/bin/as3dmod-sandy3d.swf
/trunk/build.properties
/trunk/build.xml
/trunk/demo/Alternativa3dDemo.as
/trunk/demo/Away3dDemo.as
/trunk/demo/DemoBase.as
/trunk/demo/Pv3dDemo.as
/trunk/demo/Sandy3dDemo.as
...om/as3dmod/demo/skew/SkewDemo.as
...dmod/tutorial/AS3DmodTutorial.as
/trunk/src/com/as3dmod/IMeshInfo.as
...src/com/as3dmod/ModifierStack.as
...src/com/as3dmod/core/Matrix3D.as
.../src/com/as3dmod/core/Matrix4.as
...rc/com/as3dmod/core/MeshProxy.as
.../src/com/as3dmod/core/Vector3.as
...src/com/as3dmod/core/Vector3D.as
.../com/as3dmod/core/VertexProxy.as
...rc/com/as3dmod/modifiers/Bend.as
.../modifiers/BitmapDisplacement.as
...c/com/as3dmod/modifiers/Bloat.as
...c/com/as3dmod/modifiers/Break.as
.../com/as3dmod/modifiers/Perlin.as
...c/com/as3dmod/modifiers/Pivot.as
...rc/com/as3dmod/modifiers/Skew.as
...c/com/as3dmod/modifiers/Taper.as
...c/com/as3dmod/modifiers/Twist.as
...c/com/as3dmod/modifiers/Wheel.as
...ternativa3d/Alternativa3dMesh.as
...mod/plugins/away3d/Away3dMesh.as
...as3dmod/plugins/pv3d/Pv3dMesh.as
...d/plugins/sandy3d/Sandy3dMesh.as
...m/as3dmod/util/LinearFunction.as
/trunk/src/com/as3dmod/util/Log.as
...nk/src/com/as3dmod/util/Phase.as
...nk/src/com/as3dmod/util/Range.as
...nk/src/com/as3dmod/util/Value.as
/trunk/src/com/as3dmod/util/bitmap
...3dmod/util/bitmap/PerlinNoise.as
/trunk/src/com/carlcalderon
/trunk/src/nl
/trunk/src/nl/demonsters
/trunk/src/nl/demonsters/debugger
...ters/debugger/MonsterDebugger.as
Project members,
sign in
to write a code review
/trunk/src/com/as3dmod/modifiers/Break.as
r0
/trunk/src/com/as3dmod/modifiers/Break.as
r89
1
package com.as3dmod.modifiers {
2
import com.as3dmod.IModifier;
3
import com.as3dmod.core.Matrix4;
4
import com.as3dmod.core.MeshProxy;
5
import com.as3dmod.core.Modifier;
6
import com.as3dmod.core.Vector3;
7
import com.as3dmod.core.VertexProxy;
8
import com.as3dmod.util.Range;
9
10
/**
11
* @author bartekd
12
*/
13
public class Break extends Modifier implements IModifier {
14
15
// private var bv:Vector3 = new Vector3(0, 0, 1);
16
private var bv:Vector3 = new Vector3(0, 1, 0);
17
public var _offset:Number;
18
public var angle:Number;
19
20
public var range:Range = new Range(0,1);
21
22
public function Break(o:Number = 0, a:Number = 0) {
23
this.angle = a;
24
this._offset = o;
25
}
26
27
public function apply():void {
28
var vs:Array = mod.getVertices();
29
var vc:int = vs.length;
30
31
// var pv:Vector3 = new Vector3(-(mod.minX + mod.width / 2), -(mod.minY + mod.height * offset), 0);
32
var pv:Vector3 = new Vector3(0, 0, -(mod.minZ + mod.depth * offset));
33
34
35
for (var i:int = 0;i < vc; i++) {
36
var v:VertexProxy = vs[i] as VertexProxy;
37
var c:Vector3 = v.vector;
38
c = c.add(pv);
39
40
if(c.z >= 0 && range.isIn(v.ratioY)) {
41
var ta:Number = angle;
42
43
var rm:Matrix4 = Matrix4.rotationMatrix(bv.x, bv.y, bv.z, ta);
44
Matrix4.multiplyVector(rm, c);
45
}
46
47
48
var npv:Vector3 = pv.negate();
49
c = c.add(npv);
50
51
v.x = c.x;
52
v.y = c.y;
53
v.z = c.z;
54
}
55
}
56
57
public function get offset():Number {
58
return _offset;
59
}
60
61
public function set offset(offset:Number):void {
62
_offset = offset;
63
}
64
}
65
}
Hosted by