2
0

FloatNode.js 1021 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /**
  2. * @author sunag / http://www.sunag.com.br/
  3. */
  4. THREE.FloatNode = function ( value ) {
  5. THREE.InputNode.call( this, 'fv1' );
  6. this.value = [ value || 0 ];
  7. };
  8. THREE.FloatNode.prototype = Object.create( THREE.InputNode.prototype );
  9. THREE.FloatNode.prototype.constructor = THREE.FloatNode;
  10. THREE.FloatNode.prototype.nodeType = "Float";
  11. Object.defineProperties( THREE.FloatNode.prototype, {
  12. number: {
  13. get: function () {
  14. return this.value[ 0 ];
  15. },
  16. set: function ( val ) {
  17. this.value[ 0 ] = val;
  18. }
  19. }
  20. } );
  21. THREE.FloatNode.prototype.generateReadonly = function ( builder, output, uuid, type, ns, needsUpdate ) {
  22. var value = this.number;
  23. return builder.format( Math.floor( value ) !== value ? value : value + ".0", type, output );
  24. };
  25. THREE.FloatNode.prototype.toJSON = function ( meta ) {
  26. var data = this.getJSONNode( meta );
  27. if ( ! data ) {
  28. data = this.createJSONNode( meta );
  29. data.number = this.number;
  30. if ( this.readonly === true ) data.readonly = true;
  31. }
  32. return data;
  33. };