ソースを参照

Remove unused `is*` properties (#9381)

* move is* properties to prototypes and remove unused ones

* rebuild

* merge dev -> less-is

* remove rebuild from PR
Rich Harris 9 年 前
コミット
4f98d35ed7
100 ファイル変更265 行追加339 行削除
  1. 121 132
      build/three.js
  2. 0 0
      build/three.min.js
  3. 1 2
      src/animation/AnimationAction.js
  4. 1 2
      src/animation/AnimationClip.js
  5. 1 2
      src/animation/AnimationMixer.js
  6. 3 2
      src/animation/AnimationObjectGroup.js
  7. 1 2
      src/animation/KeyframeTrackConstructor.js
  8. 1 2
      src/animation/PropertyBinding.js
  9. 1 2
      src/animation/PropertyMixer.js
  10. 1 2
      src/animation/tracks/BooleanKeyframeTrack.js
  11. 1 2
      src/animation/tracks/ColorKeyframeTrack.js
  12. 1 2
      src/animation/tracks/NumberKeyframeTrack.js
  13. 1 2
      src/animation/tracks/QuaternionKeyframeTrack.js
  14. 1 2
      src/animation/tracks/StringKeyframeTrack.js
  15. 1 2
      src/animation/tracks/VectorKeyframeTrack.js
  16. 3 2
      src/cameras/Camera.js
  17. 1 2
      src/cameras/CubeCamera.js
  18. 3 2
      src/cameras/OrthographicCamera.js
  19. 3 2
      src/cameras/PerspectiveCamera.js
  20. 1 2
      src/cameras/StereoCamera.js
  21. 2 1
      src/core/BufferAttribute.js
  22. 3 2
      src/core/BufferGeometry.js
  23. 1 2
      src/core/Clock.js
  24. 1 2
      src/core/DirectGeometry.js
  25. 2 3
      src/core/EventDispatcher.js
  26. 1 2
      src/core/Face3.js
  27. 3 2
      src/core/Geometry.js
  28. 3 2
      src/core/InstancedBufferAttribute.js
  29. 3 2
      src/core/InstancedBufferGeometry.js
  30. 3 2
      src/core/InstancedInterleavedBuffer.js
  31. 3 2
      src/core/InterleavedBuffer.js
  32. 3 2
      src/core/InterleavedBufferAttribute.js
  33. 1 2
      src/core/Layers.js
  34. 3 2
      src/core/Object3D.js
  35. 1 2
      src/core/Raycaster.js
  36. 1 2
      src/core/Uniform.js
  37. 2 5
      src/extras/core/Curve.js
  38. 1 2
      src/extras/core/CurvePath.js
  39. 3 2
      src/extras/core/Font.js
  40. 1 3
      src/extras/core/Path.js
  41. 2 4
      src/extras/core/PathPrototype.js
  42. 1 2
      src/extras/core/Shape.js
  43. 1 2
      src/extras/curves/ArcCurve.js
  44. 1 2
      src/extras/curves/ClosedSplineCurve3.js
  45. 3 4
      src/extras/curves/CubicBezierCurve.js
  46. 3 2
      src/extras/curves/EllipseCurve.js
  47. 3 2
      src/extras/curves/LineCurve.js
  48. 1 2
      src/extras/curves/QuadraticBezierCurve.js
  49. 3 2
      src/extras/curves/SplineCurve.js
  50. 2 4
      src/extras/curves/SplineCurve3.js
  51. 1 2
      src/extras/geometries/BoxBufferGeometry.js
  52. 1 2
      src/extras/geometries/BoxGeometry.js
  53. 1 2
      src/extras/geometries/CircleBufferGeometry.js
  54. 1 2
      src/extras/geometries/CircleGeometry.js
  55. 1 2
      src/extras/geometries/ConeBufferGeometry.js
  56. 1 2
      src/extras/geometries/ConeGeometry.js
  57. 1 2
      src/extras/geometries/CylinderBufferGeometry.js
  58. 1 2
      src/extras/geometries/CylinderGeometry.js
  59. 1 2
      src/extras/geometries/DodecahedronGeometry.js
  60. 1 2
      src/extras/geometries/EdgesGeometry.js
  61. 1 2
      src/extras/geometries/ExtrudeGeometry.js
  62. 1 2
      src/extras/geometries/IcosahedronGeometry.js
  63. 1 2
      src/extras/geometries/LatheBufferGeometry.js
  64. 1 2
      src/extras/geometries/LatheGeometry.js
  65. 1 2
      src/extras/geometries/OctahedronGeometry.js
  66. 1 2
      src/extras/geometries/ParametricGeometry.js
  67. 1 2
      src/extras/geometries/PlaneBufferGeometry.js
  68. 1 2
      src/extras/geometries/PlaneGeometry.js
  69. 1 2
      src/extras/geometries/PolyhedronGeometry.js
  70. 1 2
      src/extras/geometries/RingBufferGeometry.js
  71. 1 2
      src/extras/geometries/RingGeometry.js
  72. 1 2
      src/extras/geometries/ShapeGeometry.js
  73. 1 2
      src/extras/geometries/SphereBufferGeometry.js
  74. 1 2
      src/extras/geometries/SphereGeometry.js
  75. 1 2
      src/extras/geometries/TetrahedronGeometry.js
  76. 1 2
      src/extras/geometries/TextGeometry.js
  77. 1 2
      src/extras/geometries/TorusBufferGeometry.js
  78. 1 2
      src/extras/geometries/TorusGeometry.js
  79. 1 2
      src/extras/geometries/TorusKnotBufferGeometry.js
  80. 1 2
      src/extras/geometries/TorusKnotGeometry.js
  81. 1 2
      src/extras/geometries/TubeGeometry.js
  82. 1 2
      src/extras/geometries/WireframeGeometry.js
  83. 1 2
      src/extras/helpers/AxisHelper.js
  84. 1 2
      src/extras/helpers/BoundingBoxHelper.js
  85. 1 2
      src/extras/helpers/BoxHelper.js
  86. 1 2
      src/extras/helpers/CameraHelper.js
  87. 1 2
      src/extras/helpers/DirectionalLightHelper.js
  88. 1 2
      src/extras/helpers/EdgesHelper.js
  89. 1 2
      src/extras/helpers/FaceNormalsHelper.js
  90. 1 2
      src/extras/helpers/GridHelper.js
  91. 1 2
      src/extras/helpers/HemisphereLightHelper.js
  92. 1 2
      src/extras/helpers/PointLightHelper.js
  93. 1 2
      src/extras/helpers/SkeletonHelper.js
  94. 1 2
      src/extras/helpers/SpotLightHelper.js
  95. 1 2
      src/extras/helpers/VertexNormalsHelper.js
  96. 1 2
      src/extras/helpers/WireframeHelper.js
  97. 3 2
      src/extras/objects/ImmediateRenderObject.js
  98. 1 2
      src/extras/objects/MorphBlendMesh.js
  99. 4 3
      src/lights/AmbientLight.js
  100. 3 2
      src/lights/DirectionalLight.js

ファイルの差分が大きいため隠しています
+ 121 - 132
build/three.js


ファイルの差分が大きいため隠しています
+ 0 - 0
build/three.min.js


+ 1 - 2
src/animation/AnimationAction.js

@@ -12,7 +12,6 @@ import { WrapAroundEnding, ZeroCurvatureEnding, ZeroSlopeEnding, LoopPingPong, L
  */
 
 function AnimationAction() {
-	this.isAnimationAction = true;
 
 	throw new Error( "THREE.AnimationAction: " +
 			"Use mixer.clipAction for construction." );
@@ -664,4 +663,4 @@ AnimationAction._new.prototype = {
 
 
 
-export { AnimationAction };
+export { AnimationAction };

+ 1 - 2
src/animation/AnimationClip.js

@@ -14,7 +14,6 @@ import { _Math } from '../math/Math';
  */
 
 function AnimationClip( name, duration, tracks ) {
-	this.isAnimationClip = true;
 
 	this.name = name;
 	this.tracks = tracks;
@@ -367,4 +366,4 @@ Object.assign( AnimationClip, {
 } );
 
 
-export { AnimationClip };
+export { AnimationClip };

+ 1 - 2
src/animation/AnimationMixer.js

@@ -16,7 +16,6 @@ import { AnimationClip } from './AnimationClip';
  */
 
 function AnimationMixer( root ) {
-	this.isAnimationMixer = true;
 
 	this._root = root;
 	this._initMemoryManager();
@@ -745,4 +744,4 @@ Object.assign( AnimationMixer.prototype, {
 } );
 
 
-export { AnimationMixer };
+export { AnimationMixer };

+ 3 - 2
src/animation/AnimationObjectGroup.js

@@ -33,7 +33,6 @@ import { _Math } from '../math/Math';
  */
 
 function AnimationObjectGroup( var_args ) {
-	this.isAnimationObjectGroup = true;
 
 	this.uuid = _Math.generateUUID();
 
@@ -76,6 +75,8 @@ AnimationObjectGroup.prototype = {
 
 	constructor: AnimationObjectGroup,
 
+	isAnimationObjectGroup: true,
+
 	add: function( var_args ) {
 
 		var objects = this._objects,
@@ -373,4 +374,4 @@ AnimationObjectGroup.prototype = {
 
 
 
-export { AnimationObjectGroup };
+export { AnimationObjectGroup };

+ 1 - 2
src/animation/KeyframeTrackConstructor.js

@@ -1,7 +1,6 @@
 import { AnimationUtils } from './AnimationUtils';
 
 function KeyframeTrackConstructor( name, times, values, interpolation ) {
-	this.isKeyframeTrack = true;
 
 	if( name === undefined ) throw new Error( "track name is undefined" );
 
@@ -23,4 +22,4 @@ function KeyframeTrackConstructor( name, times, values, interpolation ) {
 
 }
 
-export { KeyframeTrackConstructor };
+export { KeyframeTrackConstructor };

+ 1 - 2
src/animation/PropertyBinding.js

@@ -9,7 +9,6 @@
  */
 
 function PropertyBinding( rootNode, path, parsedPath ) {
-	this.isPropertyBinding = true;
 
 	this.path = path;
 	this.parsedPath = parsedPath ||
@@ -655,4 +654,4 @@ PropertyBinding.findNode = function( root, nodeName ) {
 };
 
 
-export { PropertyBinding };
+export { PropertyBinding };

+ 1 - 2
src/animation/PropertyMixer.js

@@ -11,7 +11,6 @@ import { Quaternion } from '../math/Quaternion';
  */
 
 function PropertyMixer( binding, typeName, valueSize ) {
-	this.isPropertyMixer = true;
 
 	this.binding = binding;
 	this.valueSize = valueSize;
@@ -206,4 +205,4 @@ PropertyMixer.prototype = {
 };
 
 
-export { PropertyMixer };
+export { PropertyMixer };

+ 1 - 2
src/animation/tracks/BooleanKeyframeTrack.js

@@ -13,7 +13,6 @@ import { KeyframeTrackConstructor } from '../KeyframeTrackConstructor';
  */
 
 function BooleanKeyframeTrack( name, times, values ) {
-	this.isBooleanKeyframeTrack = true;
 
 	KeyframeTrackConstructor.call( this, name, times, values );
 
@@ -39,4 +38,4 @@ BooleanKeyframeTrack.prototype =
 } );
 
 
-export { BooleanKeyframeTrack };
+export { BooleanKeyframeTrack };

+ 1 - 2
src/animation/tracks/ColorKeyframeTrack.js

@@ -12,7 +12,6 @@ import { KeyframeTrackConstructor } from '../KeyframeTrackConstructor';
  */
 
 function ColorKeyframeTrack( name, times, values, interpolation ) {
-	this.isColorKeyframeTrack = true;
 
 	KeyframeTrackConstructor.call( this, name, times, values, interpolation );
 
@@ -36,4 +35,4 @@ ColorKeyframeTrack.prototype =
 } );
 
 
-export { ColorKeyframeTrack };
+export { ColorKeyframeTrack };

+ 1 - 2
src/animation/tracks/NumberKeyframeTrack.js

@@ -11,7 +11,6 @@ import { KeyframeTrackConstructor } from '../KeyframeTrackConstructor';
  */
 
 function NumberKeyframeTrack( name, times, values, interpolation ) {
-	this.isNumberKeyframeTrack = true;
 
 	KeyframeTrackConstructor.call( this, name, times, values, interpolation );
 
@@ -31,4 +30,4 @@ NumberKeyframeTrack.prototype =
 } );
 
 
-export { NumberKeyframeTrack };
+export { NumberKeyframeTrack };

+ 1 - 2
src/animation/tracks/QuaternionKeyframeTrack.js

@@ -13,7 +13,6 @@ import { KeyframeTrackConstructor } from '../KeyframeTrackConstructor';
  */
 
 function QuaternionKeyframeTrack( name, times, values, interpolation ) {
-	this.isQuaternionKeyframeTrack = true;
 
 	KeyframeTrackConstructor.call( this, name, times, values, interpolation );
 
@@ -42,4 +41,4 @@ QuaternionKeyframeTrack.prototype =
 } );
 
 
-export { QuaternionKeyframeTrack };
+export { QuaternionKeyframeTrack };

+ 1 - 2
src/animation/tracks/StringKeyframeTrack.js

@@ -13,7 +13,6 @@ import { KeyframeTrackConstructor } from '../KeyframeTrackConstructor';
  */
 
 function StringKeyframeTrack( name, times, values, interpolation ) {
-	this.isStringKeyframeTrack = true;
 
 	KeyframeTrackConstructor.call( this, name, times, values, interpolation );
 
@@ -36,4 +35,4 @@ StringKeyframeTrack.prototype =
 } );
 
 
-export { StringKeyframeTrack };
+export { StringKeyframeTrack };

+ 1 - 2
src/animation/tracks/VectorKeyframeTrack.js

@@ -12,7 +12,6 @@ import { KeyframeTrackConstructor } from '../KeyframeTrackConstructor';
  */
 
 function VectorKeyframeTrack( name, times, values, interpolation ) {
-	this.isVectorKeyframeTrack = true;
 
 	KeyframeTrackConstructor.call( this, name, times, values, interpolation );
 
@@ -32,4 +31,4 @@ VectorKeyframeTrack.prototype =
 } );
 
 
-export { VectorKeyframeTrack };
+export { VectorKeyframeTrack };

+ 3 - 2
src/cameras/Camera.js

@@ -10,7 +10,6 @@ import { Vector3 } from '../math/Vector3';
 */
 
 function Camera() {
-	this.isCamera = this.isObject3D = true;
 
 	Object3D.call( this );
 
@@ -24,6 +23,8 @@ function Camera() {
 Camera.prototype = Object.create( Object3D.prototype );
 Camera.prototype.constructor = Camera;
 
+Camera.prototype.isCamera = true;
+
 Camera.prototype.getWorldDirection = function () {
 
 	var quaternion = new Quaternion();
@@ -74,4 +75,4 @@ Camera.prototype.copy = function ( source ) {
 };
 
 
-export { Camera };
+export { Camera };

+ 1 - 2
src/cameras/CubeCamera.js

@@ -12,7 +12,6 @@ import { PerspectiveCamera } from './PerspectiveCamera';
  */
 
 function CubeCamera( near, far, cubeResolution ) {
-	this.isCubeCamera = this.isObject3D = true;
 
 	Object3D.call( this );
 
@@ -93,4 +92,4 @@ CubeCamera.prototype = Object.create( Object3D.prototype );
 CubeCamera.prototype.constructor = CubeCamera;
 
 
-export { CubeCamera };
+export { CubeCamera };

+ 3 - 2
src/cameras/OrthographicCamera.js

@@ -7,7 +7,6 @@ import { Object3D } from '../core/Object3D';
  */
 
 function OrthographicCamera( left, right, top, bottom, near, far ) {
-	this.isOrthographicCamera = true;
 
 	Camera.call( this );
 
@@ -32,6 +31,8 @@ OrthographicCamera.prototype = Object.assign( Object.create( Camera.prototype ),
 
 	constructor: OrthographicCamera,
 
+	isOrthographicCamera: true,
+
 	copy: function ( source ) {
 
 		Camera.prototype.copy.call( this, source );
@@ -123,4 +124,4 @@ OrthographicCamera.prototype = Object.assign( Object.create( Camera.prototype ),
 } );
 
 
-export { OrthographicCamera };
+export { OrthographicCamera };

+ 3 - 2
src/cameras/PerspectiveCamera.js

@@ -10,7 +10,6 @@ import { _Math } from '../math/Math';
  */
 
 function PerspectiveCamera( fov, aspect, near, far ) {
-	this.isPerspectiveCamera = true;
 
 	Camera.call( this );
 
@@ -37,6 +36,8 @@ PerspectiveCamera.prototype = Object.assign( Object.create( Camera.prototype ),
 
 	constructor: PerspectiveCamera,
 
+	isPerspectiveCamera: true,
+
 	copy: function ( source ) {
 
 		Camera.prototype.copy.call( this, source );
@@ -222,4 +223,4 @@ PerspectiveCamera.prototype = Object.assign( Object.create( Camera.prototype ),
 } );
 
 
-export { PerspectiveCamera };
+export { PerspectiveCamera };

+ 1 - 2
src/cameras/StereoCamera.js

@@ -7,7 +7,6 @@ import { PerspectiveCamera } from './PerspectiveCamera';
  */
 
 function StereoCamera() {
-	this.isStereoCamera = true;
 
 	this.type = 'StereoCamera';
 
@@ -92,4 +91,4 @@ Object.assign( StereoCamera.prototype, {
 } );
 
 
-export { StereoCamera };
+export { StereoCamera };

+ 2 - 1
src/core/BufferAttribute.js

@@ -9,7 +9,6 @@ import { _Math } from '../math/Math';
  */
 
 function BufferAttribute( array, itemSize, normalized ) {
-	this.isBufferAttribute = true;
 
 	this.uuid = _Math.generateUUID();
 
@@ -28,6 +27,8 @@ BufferAttribute.prototype = {
 
 	constructor: BufferAttribute,
 
+	isBufferAttribute: true,
+
 	get count() {
 
 		return this.array.length / this.itemSize;

+ 3 - 2
src/core/BufferGeometry.js

@@ -16,7 +16,6 @@ import { GeometryIdCount } from './Geometry';
  */
 
 function BufferGeometry() {
-	this.isBufferGeometry = true;
 
 	Object.defineProperty( this, 'id', { value: GeometryIdCount() } );
 
@@ -41,6 +40,8 @@ function BufferGeometry() {
 
 Object.assign( BufferGeometry.prototype, EventDispatcher.prototype, {
 
+	isBufferGeometry: true,
+
 	getIndex: function () {
 
 		return this.index;
@@ -1035,4 +1036,4 @@ Object.assign( BufferGeometry.prototype, EventDispatcher.prototype, {
 BufferGeometry.MaxIndex = 65535;
 
 
-export { BufferGeometry };
+export { BufferGeometry };

+ 1 - 2
src/core/Clock.js

@@ -3,7 +3,6 @@
  */
 
 function Clock( autoStart ) {
-	this.isClock = true;
 
 	this.autoStart = ( autoStart !== undefined ) ? autoStart : true;
 
@@ -70,4 +69,4 @@ Clock.prototype = {
 };
 
 
-export { Clock };
+export { Clock };

+ 1 - 2
src/core/DirectGeometry.js

@@ -9,7 +9,6 @@ import { GeometryIdCount } from './Geometry';
  */
 
 function DirectGeometry() {
-	this.isDirectGeometry = true;
 
 	Object.defineProperty( this, 'id', { value: GeometryIdCount() } );
 
@@ -293,4 +292,4 @@ Object.assign( DirectGeometry.prototype, EventDispatcher.prototype, {
 } );
 
 
-export { DirectGeometry };
+export { DirectGeometry };

+ 2 - 3
src/core/EventDispatcher.js

@@ -2,8 +2,7 @@
  * https://github.com/mrdoob/eventdispatcher.js/
  */
 
-function EventDispatcher() {
-	this.isEventDispatcher = true;};
+function EventDispatcher() {}
 
 Object.assign( EventDispatcher.prototype, {
 
@@ -97,4 +96,4 @@ Object.assign( EventDispatcher.prototype, {
 } );
 
 
-export { EventDispatcher };
+export { EventDispatcher };

+ 1 - 2
src/core/Face3.js

@@ -7,7 +7,6 @@ import { Vector3 } from '../math/Vector3';
  */
 
 function Face3( a, b, c, normal, color, materialIndex ) {
-	this.isFace3 = true;
 
 	this.a = a;
 	this.b = b;
@@ -63,4 +62,4 @@ Face3.prototype = {
 };
 
 
-export { Face3 };
+export { Face3 };

+ 3 - 2
src/core/Geometry.js

@@ -20,7 +20,6 @@ import { _Math } from '../math/Math';
  */
 
 function Geometry() {
-	this.isGeometry = true;
 
 	Object.defineProperty( this, 'id', { value: GeometryIdCount() } );
 
@@ -59,6 +58,8 @@ function Geometry() {
 
 Object.assign( Geometry.prototype, EventDispatcher.prototype, {
 
+	isGeometry: true,
+
 	applyMatrix: function ( matrix ) {
 
 		var normalMatrix = new Matrix3().getNormalMatrix( matrix );
@@ -1219,4 +1220,4 @@ var count = 0;
 function GeometryIdCount() { return count++; };
 
 
-export { GeometryIdCount, Geometry };
+export { GeometryIdCount, Geometry };

+ 3 - 2
src/core/InstancedBufferAttribute.js

@@ -5,7 +5,6 @@ import { BufferAttribute } from './BufferAttribute';
  */
 
 function InstancedBufferAttribute( array, itemSize, meshPerAttribute ) {
-	this.isInstancedBufferAttribute = this.isBufferAttribute = true;
 
 	BufferAttribute.call( this, array, itemSize );
 
@@ -16,6 +15,8 @@ function InstancedBufferAttribute( array, itemSize, meshPerAttribute ) {
 InstancedBufferAttribute.prototype = Object.create( BufferAttribute.prototype );
 InstancedBufferAttribute.prototype.constructor = InstancedBufferAttribute;
 
+InstancedBufferAttribute.prototype.isInstancedBufferAttribute = true;
+
 InstancedBufferAttribute.prototype.copy = function ( source ) {
 
 	BufferAttribute.prototype.copy.call( this, source );
@@ -27,4 +28,4 @@ InstancedBufferAttribute.prototype.copy = function ( source ) {
 };
 
 
-export { InstancedBufferAttribute };
+export { InstancedBufferAttribute };

+ 3 - 2
src/core/InstancedBufferGeometry.js

@@ -5,7 +5,6 @@ import { BufferGeometry } from './BufferGeometry';
  */
 
 function InstancedBufferGeometry() {
-	this.isInstancedBufferGeometry = this.isBufferGeometry = true;
 
 	BufferGeometry.call( this );
 
@@ -17,6 +16,8 @@ function InstancedBufferGeometry() {
 InstancedBufferGeometry.prototype = Object.create( BufferGeometry.prototype );
 InstancedBufferGeometry.prototype.constructor = InstancedBufferGeometry;
 
+InstancedBufferGeometry.prototype.isBufferGeometry = true;
+
 InstancedBufferGeometry.prototype.addGroup = function ( start, count, instances ) {
 
 	this.groups.push( {
@@ -62,4 +63,4 @@ InstancedBufferGeometry.prototype.copy = function ( source ) {
 };
 
 
-export { InstancedBufferGeometry };
+export { InstancedBufferGeometry };

+ 3 - 2
src/core/InstancedInterleavedBuffer.js

@@ -5,7 +5,6 @@ import { InterleavedBuffer } from './InterleavedBuffer';
  */
 
 function InstancedInterleavedBuffer( array, stride, meshPerAttribute ) {
-	this.isInstancedInterleavedBuffer = this.isInterleavedBuffer = true;
 
 	InterleavedBuffer.call( this, array, stride );
 
@@ -16,6 +15,8 @@ function InstancedInterleavedBuffer( array, stride, meshPerAttribute ) {
 InstancedInterleavedBuffer.prototype = Object.create( InterleavedBuffer.prototype );
 InstancedInterleavedBuffer.prototype.constructor = InstancedInterleavedBuffer;
 
+InstancedInterleavedBuffer.prototype.isInstancedInterleavedBuffer = true;
+
 InstancedInterleavedBuffer.prototype.copy = function ( source ) {
 
 	InterleavedBuffer.prototype.copy.call( this, source );
@@ -27,4 +28,4 @@ InstancedInterleavedBuffer.prototype.copy = function ( source ) {
 };
 
 
-export { InstancedInterleavedBuffer };
+export { InstancedInterleavedBuffer };

+ 3 - 2
src/core/InterleavedBuffer.js

@@ -5,7 +5,6 @@ import { _Math } from '../math/Math';
  */
 
 function InterleavedBuffer( array, stride ) {
-	this.isInterleavedBuffer = true;
 
 	this.uuid = _Math.generateUUID();
 
@@ -23,6 +22,8 @@ InterleavedBuffer.prototype = {
 
 	constructor: InterleavedBuffer,
 
+	isInterleavedBuffer: true,
+
 	get length () {
 
 		return this.array.length;
@@ -93,4 +94,4 @@ InterleavedBuffer.prototype = {
 };
 
 
-export { InterleavedBuffer };
+export { InterleavedBuffer };

+ 3 - 2
src/core/InterleavedBufferAttribute.js

@@ -5,7 +5,6 @@ import { _Math } from '../math/Math';
  */
 
 function InterleavedBufferAttribute( interleavedBuffer, itemSize, offset, normalized ) {
-	this.isInterleavedBufferAttribute = true;
 
 	this.uuid = _Math.generateUUID();
 
@@ -22,6 +21,8 @@ InterleavedBufferAttribute.prototype = {
 
 	constructor: InterleavedBufferAttribute,
 
+	isInterleavedBufferAttribute: true,
+
 	get length() {
 
 		console.warn( 'THREE.BufferAttribute: .length has been deprecated. Please use .count.' );
@@ -136,4 +137,4 @@ InterleavedBufferAttribute.prototype = {
 };
 
 
-export { InterleavedBufferAttribute };
+export { InterleavedBufferAttribute };

+ 1 - 2
src/core/Layers.js

@@ -3,7 +3,6 @@
  */
 
 function Layers() {
-	this.isLayers = true;
 
 	this.mask = 1;
 
@@ -46,4 +45,4 @@ Layers.prototype = {
 };
 
 
-export { Layers };
+export { Layers };

+ 3 - 2
src/core/Object3D.js

@@ -16,7 +16,6 @@ import { _Math } from '../math/Math';
  */
 
 function Object3D() {
-	this.isObject3D = true;
 
 	Object.defineProperty( this, 'id', { value: Object3DIdCount() } );
 
@@ -99,6 +98,8 @@ Object3D.DefaultMatrixAutoUpdate = true;
 
 Object.assign( Object3D.prototype, EventDispatcher.prototype, {
 
+	isObject3D: true,
+
 	applyMatrix: function ( matrix ) {
 
 		this.matrix.multiplyMatrices( matrix, this.matrix );
@@ -725,4 +726,4 @@ var count = 0;
 function Object3DIdCount() { return count++; };
 
 
-export { Object3DIdCount, Object3D };
+export { Object3DIdCount, Object3D };

+ 1 - 2
src/core/Raycaster.js

@@ -7,7 +7,6 @@ import { Ray } from '../math/Ray';
  */
 
 function Raycaster( origin, direction, near, far ) {
-	this.isRaycaster = true;
 
 	this.ray = new Ray( origin, direction );
 	// direction is assumed to be normalized (for accurate distance calculations)
@@ -134,4 +133,4 @@ Raycaster.prototype = {
 };
 
 
-export { Raycaster };
+export { Raycaster };

+ 1 - 2
src/core/Uniform.js

@@ -3,7 +3,6 @@
  */
 
 function Uniform( value ) {
-	this.isUniform = true;
 
 	if ( typeof value === 'string' ) {
 
@@ -34,4 +33,4 @@ Uniform.prototype = {
 };
 
 
-export { Uniform };
+export { Uniform };

+ 2 - 5
src/extras/core/Curve.js

@@ -33,10 +33,7 @@
  *	Abstract Curve base class
  **************************************************************/
 
-function Curve() {
-	this.isCurve = true;
-
-};
+function Curve() {}
 
 Curve.prototype = {
 
@@ -285,4 +282,4 @@ Curve.create = function ( constructor, getPointFunc ) {
 };
 
 
-export { Curve };
+export { Curve };

+ 1 - 2
src/extras/core/CurvePath.js

@@ -14,7 +14,6 @@ import { LineCurve } from '../curves/LineCurve';
  **************************************************************/
 
 function CurvePath() {
-	this.isCurvePath = true;
 
 	this.curves = [];
 
@@ -239,4 +238,4 @@ CurvePath.prototype = Object.assign( Object.create( Curve.prototype ), {
 } );
 
 
-export { CurvePath };
+export { CurvePath };

+ 3 - 2
src/extras/core/Font.js

@@ -7,7 +7,6 @@ import { ShapePath } from './Path';
  */
 
 function Font( data ) {
-	this.isFont = true;
 
 	this.data = data;
 
@@ -15,6 +14,8 @@ function Font( data ) {
 
 Object.assign( Font.prototype, {
 
+	isFont: true,
+
 	generateShapes: function ( text, size, divisions ) {
 
 		function createPaths( text ) {
@@ -168,4 +169,4 @@ Object.assign( Font.prototype, {
 } );
 
 
-export { Font };
+export { Font };

+ 1 - 3
src/extras/core/Path.js

@@ -11,7 +11,6 @@ import { CurvePath } from './CurvePath';
  **/
 
 function Path( points ) {
-	this.isPath = true;
 
 	CurvePath.call( this );
 	this.currentPoint = new Vector2();
@@ -30,7 +29,6 @@ PathPrototype.constructor = Path;
 
 // minimal class for proxing functions to Path. Replaces old "extractSubpaths()"
 function ShapePath() {
-	this.isShapePath = true;
 	this.subPaths = [];
 	this.currentPath = null;
 }
@@ -283,4 +281,4 @@ ShapePath.prototype = {
 }
 
 
-export { ShapePath, Path };
+export { ShapePath, Path };

+ 2 - 4
src/extras/core/PathPrototype.js

@@ -6,9 +6,7 @@ import { CubicBezierCurve } from '../curves/CubicBezierCurve';
 import { QuadraticBezierCurve } from '../curves/QuadraticBezierCurve';
 import { LineCurve } from '../curves/LineCurve';
 
-var PathPrototype;
-
-PathPrototype = Object.assign( Object.create( CurvePath.prototype ), {
+var PathPrototype = Object.assign( Object.create( CurvePath.prototype ), {
 
 	fromPoints: function ( vectors ) {
 
@@ -128,4 +126,4 @@ PathPrototype = Object.assign( Object.create( CurvePath.prototype ), {
 
 } )
 
-export { PathPrototype };
+export { PathPrototype };

+ 1 - 2
src/extras/core/Shape.js

@@ -15,7 +15,6 @@ import { Path } from './Path';
 // STEP 3b - Triangulate each shape, add faces.
 
 function Shape() {
-	this.isShape = true;
 
 	Path.apply( this, arguments );
 
@@ -79,4 +78,4 @@ Shape.prototype = Object.assign( Object.create( PathPrototype ), {
 } );
 
 
-export { Shape };
+export { Shape };

+ 1 - 2
src/extras/curves/ArcCurve.js

@@ -5,7 +5,6 @@ import { EllipseCurve } from './EllipseCurve';
  **************************************************************/
 
 function ArcCurve( aX, aY, aRadius, aStartAngle, aEndAngle, aClockwise ) {
-	this.isArcCurve = this.isEllipseCurve = this.isCurve = true;
 
 	EllipseCurve.call( this, aX, aY, aRadius, aRadius, aStartAngle, aEndAngle, aClockwise );
 
@@ -15,4 +14,4 @@ ArcCurve.prototype = Object.create( EllipseCurve.prototype );
 ArcCurve.prototype.constructor = ArcCurve;
 
 
-export { ArcCurve };
+export { ArcCurve };

+ 1 - 2
src/extras/curves/ClosedSplineCurve3.js

@@ -6,7 +6,6 @@ import { CatmullRomCurve3 } from './CatmullRomCurve3';
 
 
 function ClosedSplineCurve3( points ) {
-	this.isClosedSplineCurve3 = this.isCatmullRomCurve3 = true;
 
 	console.warn( 'THREE.ClosedSplineCurve3 has been deprecated. Please use THREE.CatmullRomCurve3.' );
 
@@ -19,4 +18,4 @@ function ClosedSplineCurve3( points ) {
 ClosedSplineCurve3.prototype = Object.create( CatmullRomCurve3.prototype );
 
 
-export { ClosedSplineCurve3 };
+export { ClosedSplineCurve3 };

+ 3 - 4
src/extras/curves/CubicBezierCurve.js

@@ -8,7 +8,6 @@ import { ShapeUtils } from '../ShapeUtils';
  **************************************************************/
 
 function CubicBezierCurve( v0, v1, v2, v3 ) {
-	this.isCubicBezierCurve = this.isCurve = true;
 
 	this.v0 = v0;
 	this.v1 = v1;
@@ -24,7 +23,7 @@ CubicBezierCurve.prototype.getPoint = function ( t ) {
 
 	var b3 = ShapeUtils.b3;
 
-	return new Vector2( 
+	return new Vector2(
 		b3( t, this.v0.x, this.v1.x, this.v2.x, this.v3.x ),
 		b3( t, this.v0.y, this.v1.y, this.v2.y, this.v3.y )
 	);
@@ -35,7 +34,7 @@ CubicBezierCurve.prototype.getTangent = function( t ) {
 
 	var tangentCubicBezier = CurveUtils.tangentCubicBezier;
 
-	return new Vector2( 
+	return new Vector2(
 		tangentCubicBezier( t, this.v0.x, this.v1.x, this.v2.x, this.v3.x ),
 		tangentCubicBezier( t, this.v0.y, this.v1.y, this.v2.y, this.v3.y )
 	).normalize();
@@ -43,4 +42,4 @@ CubicBezierCurve.prototype.getTangent = function( t ) {
 };
 
 
-export { CubicBezierCurve };
+export { CubicBezierCurve };

+ 3 - 2
src/extras/curves/EllipseCurve.js

@@ -6,7 +6,6 @@ import { Vector2 } from '../../math/Vector2';
  **************************************************************/
 
 function EllipseCurve( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockwise, aRotation ) {
-	this.isEllipseCurve = this.isCurve = true;
 
 	this.aX = aX;
 	this.aY = aY;
@@ -26,6 +25,8 @@ function EllipseCurve( aX, aY, xRadius, yRadius, aStartAngle, aEndAngle, aClockw
 EllipseCurve.prototype = Object.create( Curve.prototype );
 EllipseCurve.prototype.constructor = EllipseCurve;
 
+EllipseCurve.prototype.isEllipseCurve = true;
+
 EllipseCurve.prototype.getPoint = function( t ) {
 
 	var twoPi = Math.PI * 2;
@@ -87,4 +88,4 @@ EllipseCurve.prototype.getPoint = function( t ) {
 };
 
 
-export { EllipseCurve };
+export { EllipseCurve };

+ 3 - 2
src/extras/curves/LineCurve.js

@@ -5,7 +5,6 @@ import { Curve } from '../core/Curve';
  **************************************************************/
 
 function LineCurve( v1, v2 ) {
-	this.isLineCurve = this.isCurve = true;
 
 	this.v1 = v1;
 	this.v2 = v2;
@@ -15,6 +14,8 @@ function LineCurve( v1, v2 ) {
 LineCurve.prototype = Object.create( Curve.prototype );
 LineCurve.prototype.constructor = LineCurve;
 
+LineCurve.prototype.isLineCurve = true;
+
 LineCurve.prototype.getPoint = function ( t ) {
 
 	if ( t === 1 ) {
@@ -47,4 +48,4 @@ LineCurve.prototype.getTangent = function( t ) {
 };
 
 
-export { LineCurve };
+export { LineCurve };

+ 1 - 2
src/extras/curves/QuadraticBezierCurve.js

@@ -9,7 +9,6 @@ import { ShapeUtils } from '../ShapeUtils';
 
 
 function QuadraticBezierCurve( v0, v1, v2 ) {
-	this.isQuadraticBezierCurve = this.isCurve = true;
 
 	this.v0 = v0;
 	this.v1 = v1;
@@ -45,4 +44,4 @@ QuadraticBezierCurve.prototype.getTangent = function( t ) {
 };
 
 
-export { QuadraticBezierCurve };
+export { QuadraticBezierCurve };

+ 3 - 2
src/extras/curves/SplineCurve.js

@@ -7,7 +7,6 @@ import { CurveUtils } from '../CurveUtils';
  **************************************************************/
 
 function SplineCurve( points /* array of Vector2 */ ) {
-	this.isSplineCurve = this.isCurve = true;
 
 	this.points = ( points == undefined ) ? [] : points;
 
@@ -16,6 +15,8 @@ function SplineCurve( points /* array of Vector2 */ ) {
 SplineCurve.prototype = Object.create( Curve.prototype );
 SplineCurve.prototype.constructor = SplineCurve;
 
+SplineCurve.prototype.isSplineCurve = true;
+
 SplineCurve.prototype.getPoint = function ( t ) {
 
 	var points = this.points;
@@ -39,4 +40,4 @@ SplineCurve.prototype.getPoint = function ( t ) {
 };
 
 
-export { SplineCurve };
+export { SplineCurve };

+ 2 - 4
src/extras/curves/SplineCurve3.js

@@ -2,14 +2,12 @@ import { Vector3 } from '../../math/Vector3';
 import { CurveUtils } from '../CurveUtils';
 import { Curve } from '../core/Curve';
 
-var SplineCurve3;
-
 /**************************************************************
  *	Spline 3D curve
  **************************************************************/
 
 
-SplineCurve3 = Curve.create(
+var SplineCurve3 = Curve.create(
 
 	function ( points /* array of Vector3 */ ) {
 
@@ -44,4 +42,4 @@ SplineCurve3 = Curve.create(
 );
 
 
-export { SplineCurve3 };
+export { SplineCurve3 };

+ 1 - 2
src/extras/geometries/BoxBufferGeometry.js

@@ -7,7 +7,6 @@ import { BufferAttribute } from '../../core/BufferAttribute';
  */
 
 function BoxBufferGeometry( width, height, depth, widthSegments, heightSegments, depthSegments ) {
-	this.isBoxBufferGeometry = this.isBufferGeometry = true;
 
 	BufferGeometry.call( this );
 
@@ -199,4 +198,4 @@ BoxBufferGeometry.prototype = Object.create( BufferGeometry.prototype );
 BoxBufferGeometry.prototype.constructor = BoxBufferGeometry;
 
 
-export { BoxBufferGeometry };
+export { BoxBufferGeometry };

+ 1 - 2
src/extras/geometries/BoxGeometry.js

@@ -9,7 +9,6 @@ var CubeGeometry;
  */
 
 function BoxGeometry( width, height, depth, widthSegments, heightSegments, depthSegments ) {
-	this.isBoxGeometry = this.isGeometry = true;
 
 	Geometry.call( this );
 
@@ -35,4 +34,4 @@ BoxGeometry.prototype.constructor = BoxGeometry;
 CubeGeometry = BoxGeometry;
 
 
-export { CubeGeometry, BoxGeometry };
+export { CubeGeometry, BoxGeometry };

+ 1 - 2
src/extras/geometries/CircleBufferGeometry.js

@@ -8,7 +8,6 @@ import { BufferAttribute } from '../../core/BufferAttribute';
  */
 
 function CircleBufferGeometry( radius, segments, thetaStart, thetaLength ) {
-	this.isCircleBufferGeometry = this.isBufferGeometry = true;
 
 	BufferGeometry.call( this );
 
@@ -73,4 +72,4 @@ CircleBufferGeometry.prototype = Object.create( BufferGeometry.prototype );
 CircleBufferGeometry.prototype.constructor = CircleBufferGeometry;
 
 
-export { CircleBufferGeometry };
+export { CircleBufferGeometry };

+ 1 - 2
src/extras/geometries/CircleGeometry.js

@@ -6,7 +6,6 @@ import { CircleBufferGeometry } from './CircleBufferGeometry';
  */
 
 function CircleGeometry( radius, segments, thetaStart, thetaLength ) {
-	this.isCircleGeometry = this.isGeometry = true;
 
 	Geometry.call( this );
 
@@ -27,4 +26,4 @@ CircleGeometry.prototype = Object.create( Geometry.prototype );
 CircleGeometry.prototype.constructor = CircleGeometry;
 
 
-export { CircleGeometry };
+export { CircleGeometry };

+ 1 - 2
src/extras/geometries/ConeBufferGeometry.js

@@ -9,7 +9,6 @@ function ConeBufferGeometry(
 	radius, height,
 	radialSegments, heightSegments,
 	openEnded, thetaStart, thetaLength ) {
-	this.isConeBufferGeometry = this.isBufferGeometry = true;
 
 	CylinderBufferGeometry.call( this,
 		0, radius, height,
@@ -33,4 +32,4 @@ ConeBufferGeometry.prototype = Object.create( BufferGeometry.prototype );
 ConeBufferGeometry.prototype.constructor = ConeBufferGeometry;
 
 
-export { ConeBufferGeometry };
+export { ConeBufferGeometry };

+ 1 - 2
src/extras/geometries/ConeGeometry.js

@@ -8,7 +8,6 @@ function ConeGeometry(
 	radius, height,
 	radialSegments, heightSegments,
 	openEnded, thetaStart, thetaLength ) {
-	this.isConeGeometry = this.isCylinderGeometry = this.isGeometry = true;
 
 	CylinderGeometry.call( this,
 		0, radius, height,
@@ -33,4 +32,4 @@ ConeGeometry.prototype = Object.create( CylinderGeometry.prototype );
 ConeGeometry.prototype.constructor = ConeGeometry;
 
 
-export { ConeGeometry };
+export { ConeGeometry };

+ 1 - 2
src/extras/geometries/CylinderBufferGeometry.js

@@ -8,7 +8,6 @@ import { BufferAttribute } from '../../core/BufferAttribute';
  */
 
 function CylinderBufferGeometry( radiusTop, radiusBottom, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) {
-	this.isCylinderBufferGeometry = this.isBufferGeometry = true;
 
 	BufferGeometry.call( this );
 
@@ -329,4 +328,4 @@ CylinderBufferGeometry.prototype = Object.create( BufferGeometry.prototype );
 CylinderBufferGeometry.prototype.constructor = CylinderBufferGeometry;
 
 
-export { CylinderBufferGeometry };
+export { CylinderBufferGeometry };

+ 1 - 2
src/extras/geometries/CylinderGeometry.js

@@ -6,7 +6,6 @@ import { CylinderBufferGeometry } from './CylinderBufferGeometry';
  */
 
 function CylinderGeometry( radiusTop, radiusBottom, height, radialSegments, heightSegments, openEnded, thetaStart, thetaLength ) {
-	this.isCylinderGeometry = this.isGeometry = true;
 
 	Geometry.call( this );
 
@@ -32,4 +31,4 @@ CylinderGeometry.prototype = Object.create( Geometry.prototype );
 CylinderGeometry.prototype.constructor = CylinderGeometry;
 
 
-export { CylinderGeometry };
+export { CylinderGeometry };

+ 1 - 2
src/extras/geometries/DodecahedronGeometry.js

@@ -5,7 +5,6 @@ import { PolyhedronGeometry } from './PolyhedronGeometry';
  */
 
 function DodecahedronGeometry( radius, detail ) {
-	this.isDodecahedronGeometry = this.isPolyhedronGeometry = this.isGeometry = true;
 
 	var t = ( 1 + Math.sqrt( 5 ) ) / 2;
 	var r = 1 / t;
@@ -61,4 +60,4 @@ DodecahedronGeometry.prototype = Object.create( PolyhedronGeometry.prototype );
 DodecahedronGeometry.prototype.constructor = DodecahedronGeometry;
 
 
-export { DodecahedronGeometry };
+export { DodecahedronGeometry };

+ 1 - 2
src/extras/geometries/EdgesGeometry.js

@@ -8,7 +8,6 @@ import { _Math } from '../../math/Math';
  */
 
 function EdgesGeometry( geometry, thresholdAngle ) {
-	this.isEdgesGeometry = this.isBufferGeometry = true;
 
 	BufferGeometry.call( this );
 
@@ -101,4 +100,4 @@ EdgesGeometry.prototype = Object.create( BufferGeometry.prototype );
 EdgesGeometry.prototype.constructor = EdgesGeometry;
 
 
-export { EdgesGeometry };
+export { EdgesGeometry };

+ 1 - 2
src/extras/geometries/ExtrudeGeometry.js

@@ -30,7 +30,6 @@ import { TubeGeometry } from './TubeGeometry';
  **/
 
 function ExtrudeGeometry( shapes, options ) {
-	this.isExtrudeGeometry = this.isGeometry = true;
 
 	if ( typeof( shapes ) === "undefined" ) {
 
@@ -712,4 +711,4 @@ ExtrudeGeometry.WorldUVGenerator = {
 };
 
 
-export { ExtrudeGeometry };
+export { ExtrudeGeometry };

+ 1 - 2
src/extras/geometries/IcosahedronGeometry.js

@@ -5,7 +5,6 @@ import { PolyhedronGeometry } from './PolyhedronGeometry';
  */
 
 function IcosahedronGeometry( radius, detail ) {
-	this.isIcosahedronGeometry = this.isPolyhedronGeometry = this.isGeometry = true;
 
 	var t = ( 1 + Math.sqrt( 5 ) ) / 2;
 
@@ -37,4 +36,4 @@ IcosahedronGeometry.prototype = Object.create( PolyhedronGeometry.prototype );
 IcosahedronGeometry.prototype.constructor = IcosahedronGeometry;
 
 
-export { IcosahedronGeometry };
+export { IcosahedronGeometry };

+ 1 - 2
src/extras/geometries/LatheBufferGeometry.js

@@ -16,7 +16,6 @@ import { _Math } from '../../math/Math';
  //    2PI is a closed lathe, less than 2PI is a portion.
 
 function LatheBufferGeometry( points, segments, phiStart, phiLength ) {
-	this.isLatheBufferGeometry = this.isBufferGeometry = true;
 
 	BufferGeometry.call( this );
 
@@ -162,4 +161,4 @@ LatheBufferGeometry.prototype = Object.create( BufferGeometry.prototype );
 LatheBufferGeometry.prototype.constructor = LatheBufferGeometry;
 
 
-export { LatheBufferGeometry };
+export { LatheBufferGeometry };

+ 1 - 2
src/extras/geometries/LatheGeometry.js

@@ -15,7 +15,6 @@ import { LatheBufferGeometry } from './LatheBufferGeometry';
 //    2PI is a closed lathe, less than 2PI is a portion.
 
 function LatheGeometry( points, segments, phiStart, phiLength ) {
-	this.isLatheGeometry = this.isGeometry = true;
 
 	Geometry.call( this );
 
@@ -37,4 +36,4 @@ LatheGeometry.prototype = Object.create( Geometry.prototype );
 LatheGeometry.prototype.constructor = LatheGeometry;
 
 
-export { LatheGeometry };
+export { LatheGeometry };

+ 1 - 2
src/extras/geometries/OctahedronGeometry.js

@@ -5,7 +5,6 @@ import { PolyhedronGeometry } from './PolyhedronGeometry';
  */
 
 function OctahedronGeometry( radius, detail ) {
-	this.isOctahedronGeometry = this.isPolyhedronGeometry = this.isGeometry = true;
 
 	var vertices = [
 		1, 0, 0,   - 1, 0, 0,    0, 1, 0,    0, - 1, 0,    0, 0, 1,    0, 0, - 1
@@ -30,4 +29,4 @@ OctahedronGeometry.prototype = Object.create( PolyhedronGeometry.prototype );
 OctahedronGeometry.prototype.constructor = OctahedronGeometry;
 
 
-export { OctahedronGeometry };
+export { OctahedronGeometry };

+ 1 - 2
src/extras/geometries/ParametricGeometry.js

@@ -12,7 +12,6 @@ import { Vector2 } from '../../math/Vector2';
  */
 
 function ParametricGeometry( func, slices, stacks ) {
-	this.isParametricGeometry = this.isGeometry = true;
 
 	Geometry.call( this );
 
@@ -90,4 +89,4 @@ ParametricGeometry.prototype = Object.create( Geometry.prototype );
 ParametricGeometry.prototype.constructor = ParametricGeometry;
 
 
-export { ParametricGeometry };
+export { ParametricGeometry };

+ 1 - 2
src/extras/geometries/PlaneBufferGeometry.js

@@ -7,7 +7,6 @@ import { BufferAttribute } from '../../core/BufferAttribute';
  */
 
 function PlaneBufferGeometry( width, height, widthSegments, heightSegments ) {
-	this.isPlaneBufferGeometry = this.isBufferGeometry = true;
 
 	BufferGeometry.call( this );
 
@@ -100,4 +99,4 @@ PlaneBufferGeometry.prototype = Object.create( BufferGeometry.prototype );
 PlaneBufferGeometry.prototype.constructor = PlaneBufferGeometry;
 
 
-export { PlaneBufferGeometry };
+export { PlaneBufferGeometry };

+ 1 - 2
src/extras/geometries/PlaneGeometry.js

@@ -7,7 +7,6 @@ import { PlaneBufferGeometry } from './PlaneBufferGeometry';
  */
 
 function PlaneGeometry( width, height, widthSegments, heightSegments ) {
-	this.isPlaneGeometry = this.isGeometry = true;
 
 	Geometry.call( this );
 
@@ -28,4 +27,4 @@ PlaneGeometry.prototype = Object.create( Geometry.prototype );
 PlaneGeometry.prototype.constructor = PlaneGeometry;
 
 
-export { PlaneGeometry };
+export { PlaneGeometry };

+ 1 - 2
src/extras/geometries/PolyhedronGeometry.js

@@ -11,7 +11,6 @@ import { Sphere } from '../../math/Sphere';
 */
 
 function PolyhedronGeometry( vertices, indices, radius, detail ) {
-	this.isPolyhedronGeometry = this.isGeometry = true;
 
 	Geometry.call( this );
 
@@ -244,4 +243,4 @@ PolyhedronGeometry.prototype = Object.create( Geometry.prototype );
 PolyhedronGeometry.prototype.constructor = PolyhedronGeometry;
 
 
-export { PolyhedronGeometry };
+export { PolyhedronGeometry };

+ 1 - 2
src/extras/geometries/RingBufferGeometry.js

@@ -8,7 +8,6 @@ import { BufferAttribute } from '../../core/BufferAttribute';
  */
 
 function RingBufferGeometry( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength ) {
-	this.isRingBufferGeometry = this.isBufferGeometry = true;
 
 	BufferGeometry.call( this );
 
@@ -126,4 +125,4 @@ RingBufferGeometry.prototype = Object.create( BufferGeometry.prototype );
 RingBufferGeometry.prototype.constructor = RingBufferGeometry;
 
 
-export { RingBufferGeometry };
+export { RingBufferGeometry };

+ 1 - 2
src/extras/geometries/RingGeometry.js

@@ -6,7 +6,6 @@ import { RingBufferGeometry } from './RingBufferGeometry';
  */
 
 function RingGeometry( innerRadius, outerRadius, thetaSegments, phiSegments, thetaStart, thetaLength ) {
-	this.isRingGeometry = this.isGeometry = true;
 
 	Geometry.call( this );
 
@@ -29,4 +28,4 @@ RingGeometry.prototype = Object.create( Geometry.prototype );
 RingGeometry.prototype.constructor = RingGeometry;
 
 
-export { RingGeometry };
+export { RingGeometry };

+ 1 - 2
src/extras/geometries/ShapeGeometry.js

@@ -21,7 +21,6 @@ import { ExtrudeGeometry } from './ExtrudeGeometry';
  **/
 
 function ShapeGeometry( shapes, options ) {
-	this.isShapeGeometry = this.isGeometry = true;
 
 	Geometry.call( this );
 
@@ -138,4 +137,4 @@ ShapeGeometry.prototype.addShape = function ( shape, options ) {
 };
 
 
-export { ShapeGeometry };
+export { ShapeGeometry };

+ 1 - 2
src/extras/geometries/SphereBufferGeometry.js

@@ -9,7 +9,6 @@ import { Uint16Attribute, Uint32Attribute, BufferAttribute } from '../../core/Bu
  */
 
 function SphereBufferGeometry( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength ) {
-	this.isSphereBufferGeometry = this.isBufferGeometry = true;
 
 	BufferGeometry.call( this );
 
@@ -107,4 +106,4 @@ SphereBufferGeometry.prototype = Object.create( BufferGeometry.prototype );
 SphereBufferGeometry.prototype.constructor = SphereBufferGeometry;
 
 
-export { SphereBufferGeometry };
+export { SphereBufferGeometry };

+ 1 - 2
src/extras/geometries/SphereGeometry.js

@@ -6,7 +6,6 @@ import { SphereBufferGeometry } from './SphereBufferGeometry';
  */
 
 function SphereGeometry( radius, widthSegments, heightSegments, phiStart, phiLength, thetaStart, thetaLength ) {
-	this.isSphereGeometry = this.isGeometry = true;
 
 	Geometry.call( this );
 
@@ -30,4 +29,4 @@ SphereGeometry.prototype = Object.create( Geometry.prototype );
 SphereGeometry.prototype.constructor = SphereGeometry;
 
 
-export { SphereGeometry };
+export { SphereGeometry };

+ 1 - 2
src/extras/geometries/TetrahedronGeometry.js

@@ -5,7 +5,6 @@ import { PolyhedronGeometry } from './PolyhedronGeometry';
  */
 
 function TetrahedronGeometry( radius, detail ) {
-	this.isTetrahedronGeometry = this.isPolyhedronGeometry = this.isGeometry = true;
 
 	var vertices = [
 		 1,  1,  1,   - 1, - 1,  1,   - 1,  1, - 1,    1, - 1, - 1
@@ -30,4 +29,4 @@ TetrahedronGeometry.prototype = Object.create( PolyhedronGeometry.prototype );
 TetrahedronGeometry.prototype.constructor = TetrahedronGeometry;
 
 
-export { TetrahedronGeometry };
+export { TetrahedronGeometry };

+ 1 - 2
src/extras/geometries/TextGeometry.js

@@ -21,7 +21,6 @@ import { Geometry } from '../../core/Geometry';
  */
 
 function TextGeometry( text, parameters ) {
-	this.isTextGeometry = this.isExtrudeGeometry = this.isGeometry = true;
 
 	parameters = parameters || {};
 
@@ -56,4 +55,4 @@ TextGeometry.prototype = Object.create( ExtrudeGeometry.prototype );
 TextGeometry.prototype.constructor = TextGeometry;
 
 
-export { TextGeometry };
+export { TextGeometry };

+ 1 - 2
src/extras/geometries/TorusBufferGeometry.js

@@ -7,7 +7,6 @@ import { Vector3 } from '../../math/Vector3';
  */
 
 function TorusBufferGeometry( radius, tube, radialSegments, tubularSegments, arc ) {
-	this.isTorusBufferGeometry = this.isBufferGeometry = true;
 
 	BufferGeometry.call( this );
 
@@ -131,4 +130,4 @@ TorusBufferGeometry.prototype = Object.create( BufferGeometry.prototype );
 TorusBufferGeometry.prototype.constructor = TorusBufferGeometry;
 
 
-export { TorusBufferGeometry };
+export { TorusBufferGeometry };

+ 1 - 2
src/extras/geometries/TorusGeometry.js

@@ -8,7 +8,6 @@ import { TorusBufferGeometry } from './TorusBufferGeometry';
  */
 
 function TorusGeometry( radius, tube, radialSegments, tubularSegments, arc ) {
-	this.isTorusGeometry = this.isGeometry = true;
 
 	Geometry.call( this );
 
@@ -30,4 +29,4 @@ TorusGeometry.prototype = Object.create( Geometry.prototype );
 TorusGeometry.prototype.constructor = TorusGeometry;
 
 
-export { TorusGeometry };
+export { TorusGeometry };

+ 1 - 2
src/extras/geometries/TorusKnotBufferGeometry.js

@@ -9,7 +9,6 @@ import { BufferAttribute } from '../../core/BufferAttribute';
  * see: http://www.blackpawn.com/texts/pqtorus/
  */
 function TorusKnotBufferGeometry( radius, tube, tubularSegments, radialSegments, p, q ) {
-	this.isTorusKnotBufferGeometry = this.isBufferGeometry = true;
 
 	BufferGeometry.call( this );
 
@@ -170,4 +169,4 @@ TorusKnotBufferGeometry.prototype = Object.create( BufferGeometry.prototype );
 TorusKnotBufferGeometry.prototype.constructor = TorusKnotBufferGeometry;
 
 
-export { TorusKnotBufferGeometry };
+export { TorusKnotBufferGeometry };

+ 1 - 2
src/extras/geometries/TorusKnotGeometry.js

@@ -6,7 +6,6 @@ import { TorusKnotBufferGeometry } from './TorusKnotBufferGeometry';
  */
 
 function TorusKnotGeometry( radius, tube, tubularSegments, radialSegments, p, q, heightScale ) {
-	this.isTorusKnotGeometry = this.isGeometry = true;
 
 	Geometry.call( this );
 
@@ -32,4 +31,4 @@ TorusKnotGeometry.prototype = Object.create( Geometry.prototype );
 TorusKnotGeometry.prototype.constructor = TorusKnotGeometry;
 
 
-export { TorusKnotGeometry };
+export { TorusKnotGeometry };

+ 1 - 2
src/extras/geometries/TubeGeometry.js

@@ -20,7 +20,6 @@ import { Vector2 } from '../../math/Vector2';
  */
 
 function TubeGeometry( path, segments, radius, radialSegments, closed, taper ) {
-	this.isTubeGeometry = this.isGeometry = true;
 
 	Geometry.call( this );
 
@@ -313,4 +312,4 @@ TubeGeometry.FrenetFrames = function ( path, segments, closed ) {
 };
 
 
-export { TubeGeometry };
+export { TubeGeometry };

+ 1 - 2
src/extras/geometries/WireframeGeometry.js

@@ -6,7 +6,6 @@ import { BufferAttribute } from '../../core/BufferAttribute';
  */
 
 function WireframeGeometry( geometry ) {
-	this.isWireframeGeometry = this.isBufferGeometry = true;
 
 	BufferGeometry.call( this );
 
@@ -186,4 +185,4 @@ WireframeGeometry.prototype = Object.create( BufferGeometry.prototype );
 WireframeGeometry.prototype.constructor = WireframeGeometry;
 
 
-export { WireframeGeometry };
+export { WireframeGeometry };

+ 1 - 2
src/extras/helpers/AxisHelper.js

@@ -10,7 +10,6 @@ import { BufferGeometry } from '../../core/BufferGeometry';
  */
 
 function AxisHelper( size ) {
-	this.isAxisHelper = this.isLineSegments = true;
 
 	size = size || 1;
 
@@ -40,4 +39,4 @@ AxisHelper.prototype = Object.create( LineSegments.prototype );
 AxisHelper.prototype.constructor = AxisHelper;
 
 
-export { AxisHelper };
+export { AxisHelper };

+ 1 - 2
src/extras/helpers/BoundingBoxHelper.js

@@ -10,7 +10,6 @@ import { Box3 } from '../../math/Box3';
 // a helper to show the world-axis-aligned bounding box for an object
 
 function BoundingBoxHelper( object, hex ) {
-	this.isBoundingBoxHelper = this.isMesh = true;
 
 	var color = ( hex !== undefined ) ? hex : 0x888888;
 
@@ -36,4 +35,4 @@ BoundingBoxHelper.prototype.update = function () {
 };
 
 
-export { BoundingBoxHelper };
+export { BoundingBoxHelper };

+ 1 - 2
src/extras/helpers/BoxHelper.js

@@ -9,7 +9,6 @@ import { BufferGeometry } from '../../core/BufferGeometry';
  */
 
 function BoxHelper( object, color ) {
-	this.isBoxHelper = this.isLineSegments = true;
 
 	if ( color === undefined ) color = 0xffff00;
 
@@ -91,4 +90,4 @@ BoxHelper.prototype.update = ( function () {
 } )();
 
 
-export { BoxHelper };
+export { BoxHelper };

+ 1 - 2
src/extras/helpers/CameraHelper.js

@@ -16,7 +16,6 @@ import { Geometry } from '../../core/Geometry';
  */
 
 function CameraHelper( camera ) {
-	this.isCameraHelper = this.isLineSegments = true;
 
 	var geometry = new Geometry();
 	var material = new LineBasicMaterial( { color: 0xffffff, vertexColors: FaceColors } );
@@ -198,4 +197,4 @@ CameraHelper.prototype.update = function () {
 }();
 
 
-export { CameraHelper };
+export { CameraHelper };

+ 1 - 2
src/extras/helpers/DirectionalLightHelper.js

@@ -12,7 +12,6 @@ import { LineBasicMaterial } from '../../materials/LineBasicMaterial';
  */
 
 function DirectionalLightHelper( light, size ) {
-	this.isDirectionalLightHelper = this.isObject3D = true;
 
 	Object3D.call( this );
 
@@ -87,4 +86,4 @@ DirectionalLightHelper.prototype.update = function () {
 }();
 
 
-export { DirectionalLightHelper };
+export { DirectionalLightHelper };

+ 1 - 2
src/extras/helpers/EdgesHelper.js

@@ -13,7 +13,6 @@ import { EdgesGeometry } from '../geometries/EdgesGeometry';
  */
 
 function EdgesHelper( object, hex, thresholdAngle ) {
-	this.isEdgesHelper = this.isLineSegments = true;
 
 	var color = ( hex !== undefined ) ? hex : 0xffffff;
 
@@ -28,4 +27,4 @@ EdgesHelper.prototype = Object.create( LineSegments.prototype );
 EdgesHelper.prototype.constructor = EdgesHelper;
 
 
-export { EdgesHelper };
+export { EdgesHelper };

+ 1 - 2
src/extras/helpers/FaceNormalsHelper.js

@@ -11,7 +11,6 @@ import { BufferGeometry } from '../../core/BufferGeometry';
 */
 
 function FaceNormalsHelper( object, size, hex, linewidth ) {
-	this.isFaceNormalsHelper = this.isLineSegments = true;
 
 	// FaceNormalsHelper only supports THREE.Geometry
 
@@ -118,4 +117,4 @@ FaceNormalsHelper.prototype.update = ( function () {
 }() );
 
 
-export { FaceNormalsHelper };
+export { FaceNormalsHelper };

+ 1 - 2
src/extras/helpers/GridHelper.js

@@ -10,7 +10,6 @@ import { Color } from '../../math/Color';
  */
 
 function GridHelper( size, divisions, color1, color2 ) {
-	this.isGridHelper = this.isLineSegments = true;
 
 	divisions = divisions || 1;
 	color1 = new Color( color1 !== undefined ? color1 : 0x444444 );
@@ -54,4 +53,4 @@ GridHelper.prototype.setColors = function () {
 };
 
 
-export { GridHelper };
+export { GridHelper };

+ 1 - 2
src/extras/helpers/HemisphereLightHelper.js

@@ -12,7 +12,6 @@ import { Color } from '../../math/Color';
  */
 
 function HemisphereLightHelper( light, sphereSize ) {
-	this.isHemisphereLightHelper = this.isObject3D = true;
 
 	Object3D.call( this );
 
@@ -69,4 +68,4 @@ HemisphereLightHelper.prototype.update = function () {
 }();
 
 
-export { HemisphereLightHelper };
+export { HemisphereLightHelper };

+ 1 - 2
src/extras/helpers/PointLightHelper.js

@@ -8,7 +8,6 @@ import { SphereBufferGeometry } from '../geometries/SphereBufferGeometry';
  */
 
 function PointLightHelper( light, sphereSize ) {
-	this.isPointLightHelper = this.isMesh = true;
 
 	this.light = light;
 	this.light.updateMatrixWorld();
@@ -78,4 +77,4 @@ PointLightHelper.prototype.update = function () {
 };
 
 
-export { PointLightHelper };
+export { PointLightHelper };

+ 1 - 2
src/extras/helpers/SkeletonHelper.js

@@ -14,7 +14,6 @@ import { Geometry } from '../../core/Geometry';
  */
 
 function SkeletonHelper( object ) {
-	this.isSkeletonHelper = this.isLineSegments = true;
 
 	this.bones = this.getBoneList( object );
 
@@ -109,4 +108,4 @@ SkeletonHelper.prototype.update = function () {
 };
 
 
-export { SkeletonHelper };
+export { SkeletonHelper };

+ 1 - 2
src/extras/helpers/SpotLightHelper.js

@@ -12,7 +12,6 @@ import { BufferGeometry } from '../../core/BufferGeometry';
 */
 
 function SpotLightHelper( light ) {
-	this.isSpotLightHelper = this.isObject3D = true;
 
 	Object3D.call( this );
 
@@ -89,4 +88,4 @@ SpotLightHelper.prototype.update = function () {
 }();
 
 
-export { SpotLightHelper };
+export { SpotLightHelper };

+ 1 - 2
src/extras/helpers/VertexNormalsHelper.js

@@ -11,7 +11,6 @@ import { BufferGeometry } from '../../core/BufferGeometry';
 */
 
 function VertexNormalsHelper( object, size, hex, linewidth ) {
-	this.isVertexNormalsHelper = this.isLineSegments = true;
 
 	this.object = object;
 
@@ -153,4 +152,4 @@ VertexNormalsHelper.prototype.update = ( function () {
 }() );
 
 
-export { VertexNormalsHelper };
+export { VertexNormalsHelper };

+ 1 - 2
src/extras/helpers/WireframeHelper.js

@@ -7,7 +7,6 @@ import { WireframeGeometry } from '../geometries/WireframeGeometry';
  */
 
 function WireframeHelper( object, hex ) {
-	this.isWireframeHelper = this.isLineSegments = true;
 
 	var color = ( hex !== undefined ) ? hex : 0xffffff;
 
@@ -22,4 +21,4 @@ WireframeHelper.prototype = Object.create( LineSegments.prototype );
 WireframeHelper.prototype.constructor = WireframeHelper;
 
 
-export { WireframeHelper };
+export { WireframeHelper };

+ 3 - 2
src/extras/objects/ImmediateRenderObject.js

@@ -5,7 +5,6 @@ import { Object3D } from '../../core/Object3D';
  */
 
 function ImmediateRenderObject( material ) {
-	this.isImmediateRenderObject = this.isObject3D = true;
 
 	Object3D.call( this );
 
@@ -17,5 +16,7 @@ function ImmediateRenderObject( material ) {
 ImmediateRenderObject.prototype = Object.create( Object3D.prototype );
 ImmediateRenderObject.prototype.constructor = ImmediateRenderObject;
 
+ImmediateRenderObject.prototype.isImmediateRenderObject = true;
 
-export { ImmediateRenderObject };
+
+export { ImmediateRenderObject };

+ 1 - 2
src/extras/objects/MorphBlendMesh.js

@@ -6,7 +6,6 @@ import { _Math } from '../../math/Math';
  */
 
 function MorphBlendMesh( geometry, material ) {
-	this.isMorphBlendMesh = this.isMesh = true;
 
 	Mesh.call( this, geometry, material );
 
@@ -319,4 +318,4 @@ MorphBlendMesh.prototype.update = function ( delta ) {
 };
 
 
-export { MorphBlendMesh };
+export { MorphBlendMesh };

+ 4 - 3
src/lights/AmbientLight.js

@@ -5,7 +5,6 @@ import { Light } from './Light';
  */
 
 function AmbientLight( color, intensity ) {
-	this.isAmbientLight = true;
 
 	Light.call( this, color, intensity );
 
@@ -17,9 +16,11 @@ function AmbientLight( color, intensity ) {
 
 AmbientLight.prototype = Object.assign( Object.create( Light.prototype ), {
 
-	constructor: AmbientLight
+	constructor: AmbientLight,
+
+	isAmbientLight: true,
 
 } );
 
 
-export { AmbientLight };
+export { AmbientLight };

+ 3 - 2
src/lights/DirectionalLight.js

@@ -8,7 +8,6 @@ import { Object3D } from '../core/Object3D';
  */
 
 function DirectionalLight( color, intensity ) {
-	this.isDirectionalLight = true;
 
 	Light.call( this, color, intensity );
 
@@ -27,6 +26,8 @@ DirectionalLight.prototype = Object.assign( Object.create( Light.prototype ), {
 
 	constructor: DirectionalLight,
 
+	isDirectionalLight: true,
+
 	copy: function ( source ) {
 
 		Light.prototype.copy.call( this, source );
@@ -42,4 +43,4 @@ DirectionalLight.prototype = Object.assign( Object.create( Light.prototype ), {
 } );
 
 
-export { DirectionalLight };
+export { DirectionalLight };

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません