tuo-three2对于3D对象修改操作的规范

本文档将定义tuo-three2对3D对象修改操作的规范,tuo-three2系统中将具有以下修改操作:

  1. changeGeometry, 所有对3D对象几何体变化的操作。此操作发生后,需要在该对象的root结点,发布'geometryChanged'消息。此消息的规范定义如下:
    root.dispatchEvent({type: 'geometryChanged', payload:{
    object: Object3D,
    }})
  2. changeMatrix, 所有对3D对象位姿矩阵变化的操作。此操作发生后,需要对该对象的root结点,发布'matrixChanged'消息。此消息的规范定义如下:
    root.dispatchEvent({type: 'matrixChanged', payload:{
    object: object,
    oldMatrix: Matrix4,
    newMatrix: Matrix4
    }})
  3. changeMatrix, 所有对3D对象材质的变化操作。此操作发生后,需要对该对象的root结点,发布'materialChanged'消息。此消息的规范定义如下:
    root.dispatchEvent({type: 'materialChanged',payload:{
    object: Object3D,
    oldMaterial: Material,
    newMaterial: Material
    }})
  4. updated, 某个3D对象发生了未知(不确定,或多种类型的变化)。此操作发生后需要对该对象的root结点,发布'updated'消息。此消息的规范定义如下:
    root.dispatchEvent({type: 'updated', payload: {
    object: Object3D
    }})
  5. addObject, 新对象的添加操作。此操作发生后,需要在相应TuoScene实例发布'addObject'消息。此消息的规范定义如下:
    TuoScene.dispatchEvent({type: 'addObject', payload: {
    object: Object3D,
    oldObject: Object3D, //optional
    group: String
    }})
  6. removeObject, 对象的移除操作。此操作发生后,需要在相应的TuoScene实例发布'removeObject'消息。此消息的规范定义如下:
    TuoScene.dispatchEvent({type: 'removeObject', payload: {
    object: Object3D
    }})
  7. addSubObject,新添加子对象的操作。需要在相应的root结点发布'addSubObject'事件。此消息的规范定义如下:
    root.dispatchEvent({type: 'addSubObject', payload: {
    object: Object3D,
    name: String, //optional, name of subObject
    }})
  8. removeSubObject, 移除子对象的操作。需要在相应的root结点发布'removeSubObject'事件。此消息的规范定义如下:
    root.dispatchEvent({type: 'removeSubObject', payload:{
    object: Object3D
    }})

发表评论

邮箱地址不会被公开。 必填项已用*标注