mirror of
https://github.com/jiawanlong/Cesium-Examples.git
synced 2025-07-06 16:31:03 +00:00
35 lines
1.0 KiB
JavaScript
35 lines
1.0 KiB
JavaScript
import Object3DNode from './Object3DNode.js';
|
|
import { addNodeClass } from '../core/Node.js';
|
|
import { label } from '../core/ContextNode.js';
|
|
import { nodeImmutable } from '../shadernode/ShaderNode.js';
|
|
|
|
class ModelNode extends Object3DNode {
|
|
|
|
constructor( scope = ModelNode.VIEW_MATRIX ) {
|
|
|
|
super( scope );
|
|
|
|
}
|
|
|
|
update( frame ) {
|
|
|
|
this.object3d = frame.object;
|
|
|
|
super.update( frame );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
export default ModelNode;
|
|
|
|
export const modelDirection = nodeImmutable( ModelNode, ModelNode.DIRECTION );
|
|
export const modelViewMatrix = label( nodeImmutable( ModelNode, ModelNode.VIEW_MATRIX ), 'modelViewMatrix' );
|
|
export const modelNormalMatrix = nodeImmutable( ModelNode, ModelNode.NORMAL_MATRIX );
|
|
export const modelWorldMatrix = nodeImmutable( ModelNode, ModelNode.WORLD_MATRIX );
|
|
export const modelPosition = nodeImmutable( ModelNode, ModelNode.POSITION );
|
|
export const modelScale = nodeImmutable( ModelNode, ModelNode.SCALE );
|
|
export const modelViewPosition = nodeImmutable( ModelNode, ModelNode.VIEW_POSITION );
|
|
|
|
addNodeClass( ModelNode );
|