UNPKG

cgas

Version:

Xtor Compute Geometry Algorithm Libary 计算几何算法库

28 lines (22 loc) 799 B
import { Component } from "./component"; import { Vec3 } from "../../math/Vec3"; import { Euler } from "../../math/Euler"; import { Quat } from "@/math/Quat"; import { Mat4 } from "@/math/Mat4"; export class TransfromComponent extends Component { private _position:Vec3 = new Vec3(); private _scale:Euler = new Euler(); private _rotation:Vec3 = new Vec3(); private _quat:Quat = new Quat(); private _matrix:Mat4 =new Mat4(); private _matrixWorld:Mat4 =new Mat4(); constructor() { super(); } updateMatrix(){ this._matrix.compose(this._position,this._quat,this._scale); } updateMatrixWorld(parent:TransfromComponent){ this._matrixWorld.copy(this._matrix).premultiply(parent._matrixWorld); } }