cgas
Version:
Xtor Compute Geometry Algorithm Libary 计算几何算法库
28 lines (22 loc) • 799 B
text/typescript
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);
}
}