Transform class
class Transform extends ComponentPoolable { static final CT = ComponentTypeManager.getTypeFor(Transform); Vector3 position3d; Vector3 rotation3d; Vector3 scale3d; // 2d view Vector2 _position2d = new Vector2.zero(); double get angle => rotation3d.z; set angle(double v) => rotation3d.z = v; Vector2 get position { _position2d.x = position3d.x; _position2d.y = position3d.y; return _position2d; } set position(Vector2 v) { position3d.x = v.x; position3d.y = v.y; } Transform._(); static _ctor() => new Transform._(); factory Transform.w2d(double x, double y, double a) { return new Transform.w3d(new Vector3(x, y, 0.0), new Vector3(0.0, 0.0, a)); } factory Transform.w3d(Vector3 position, [Vector3 rotation, Vector3 scale]) { var c = new Poolable.of(Transform, _ctor) as Transform; c.position3d = position; c.rotation3d = (rotation == null) ? new Vector3(0.0, 0.0, 0.0) : rotation; c.scale3d = (scale == null) ? new Vector3(1.0, 1.0, 1.0) : scale; return c; } /// this method mofidy the Transform (usefull for creation) /// return this Transform lookAt(Vector3 target, [Vector3 up]) { math2.lookAt(target, position3d, rotation3d, up); return this; } }
Extends
Component > Component_Poolable > ComponentPoolable > Transform
Static Properties
final CT #
static final CT = ComponentTypeManager.getTypeFor(Transform)
Constructors
factory Transform.w2d(double x, double y, double a) #
factory Transform.w2d(double x, double y, double a) { return new Transform.w3d(new Vector3(x, y, 0.0), new Vector3(0.0, 0.0, a)); }
factory Transform.w3d(Vector3 position, [Vector3 rotation, Vector3 scale]) #
factory Transform.w3d(Vector3 position, [Vector3 rotation, Vector3 scale]) { var c = new Poolable.of(Transform, _ctor) as Transform; c.position3d = position; c.rotation3d = (rotation == null) ? new Vector3(0.0, 0.0, 0.0) : rotation; c.scale3d = (scale == null) ? new Vector3(1.0, 1.0, 1.0) : scale; return c; }
Properties
Vector2 position #
Vector2 get position { _position2d.x = position3d.x; _position2d.y = position3d.y; return _position2d; }
set position(Vector2 v) { position3d.x = v.x; position3d.y = v.y; }
Vector3 position3d #
Vector3 position3d
Vector3 rotation3d #
Vector3 rotation3d
Vector3 scale3d #
Vector3 scale3d
Methods
void cleanUp() #
inherited from ComponentPoolable
If you need to do some cleanup when removing this component override this method.
void cleanUp() {}
Transform lookAt(Vector3 target, [Vector3 up]) #
this method mofidy the Transform (usefull for creation) return this
Transform lookAt(Vector3 target, [Vector3 up]) { math2.lookAt(target, position3d, rotation3d, up); return this; }
void moveToPool() #
inherited from Component_Poolable
Calls the cleanup function and moves this object to the ObjectPool.
void moveToPool() { cleanUp(); ObjectPool.add(this); }