     super props
     @lastObject = @props.object;
     @state=
-      position:@lastObject.transformer.position
-      rotation:@obtainEular(@lastObject.transformer.rotation)
-      scale:@lastObject.transformer.scale
+      position:@lastObject.__transformer._position
+      rotation:@obtainEular(@lastObject.__transformer._rotation)
+      scale:@lastObject.__transformer._scale
   render:->
     <div>
       <Vector3 title="position" value={@state.position} onValueChanged={@onPositionChange}/>

    </div>

  onPositionChange:(n,v)=>
    @props.object.transformer.position[n] = v
    @props.object.transformer.updateTransform()
    @updateObjectState @props.object

  onRotationChange:(n,v)=>
    eul = @obtainEular @props.object.transformer.rotation
    eul[n] = v
    @state.rotation[n] = v
    @setState @state
    eul.X = @fromDegree eul.X
    eul.Y = @fromDegree eul.Y
    eul.Z = @fromDegree eul.Z
    @props.object.transformer.rotation.eularAngles = eul
    @isRotationChange = true
    @props.object.transformer.updateTransform()


  onScaleChange:(n,v)=>
    @props.object.transformer.scale[n] = v
    @props.object.transformer.updateTransform()
    @updateObjectState @props.object

  onTransformUpdate:()=>


  componentWillReceiveProps:(prop)=>
    if @lastObject && @lastObject!=@props.object
      @lastObject.__transformer.onUpdateTransformHandler.removeListener @onTransformUpdate
      @lastObject = @props.object
      @lastObject.__transformer.onUpdateTransformHandler.addListener @onTransformUpdate
    @updateObjectState prop.object

  updateObjectState:(obj)=>
    @setState
      position:obj.__transformer._position
      rotation:@obtainEular obj.__transformer._rotation
      scale:obj.__transformer._scale

  obtainEular:(quat)=>
    eul = quat.factoringQuaternionZXY()
    {X:@toDegree(eul.x),Y:@toDegree(eul.y),Z:@toDegree(eul.z)}

  copyXYZ:(s)=>
