Skip to content

Commit

Permalink
Clean up for ES6 classes.
Browse files Browse the repository at this point in the history
  • Loading branch information
Don McCurdy committed May 9, 2021
1 parent cfc6ea3 commit bb11c44
Show file tree
Hide file tree
Showing 3 changed files with 142 additions and 136 deletions.
104 changes: 53 additions & 51 deletions examples/jsm/nodes/procedural/Fractal3DNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,86 +25,88 @@ float fractal3d( vec3 p, float amplitude, int octaves, float lacunarity, float d
`.trim();

/** Fractional Brownian motion. */
function Fractal3DNode( position = new PositionNode(), amplitude = new FloatNode( 1.0 ), octaves = 3.0, lacunarity = 2.0, diminish = 0.5 ) {
class Fractal3DNode extends TempNode {

TempNode.call( this, 'f' );
constructor( position = new PositionNode(), amplitude = new FloatNode( 1.0 ), octaves = 3.0, lacunarity = 2.0, diminish = 0.5 ) {

this.position = position;
this.amplitude = amplitude;
this.octaves = new IntNode( octaves ).setReadonly( true );
this.lacunarity = new FloatNode( lacunarity ).setReadonly( true );
this.diminish = new FloatNode( diminish ).setReadonly( true );
super( 'f' );

}
this.position = position;
this.amplitude = amplitude;
this.octaves = new IntNode( octaves ).setReadonly( true );
this.lacunarity = new FloatNode( lacunarity ).setReadonly( true );
this.diminish = new FloatNode( diminish ).setReadonly( true );

Fractal3DNode.prototype = Object.create( TempNode.prototype );
Fractal3DNode.prototype.constructor = Fractal3DNode;
Fractal3DNode.prototype.nodeType = 'Fractal3D';
}

Fractal3DNode.Nodes = (function () {
generate(builder, output) {

return {
const noiseCommon = builder.include( Noise2DNode.Nodes.noiseCommon );
const noise3D = builder.include( Noise3DNode.Nodes.noise3d );
const fractal3d = builder.include( Fractal3DNode.Nodes.fractal3d );

fractal3d: new FunctionNode( FRACTAL3D_SRC )
return builder.format( fractal3d + '( ' + [

};
this.position.build( builder ),
this.amplitude.build( builder ),
this.octaves.build( builder ),
this.lacunarity.build( builder ),
this.diminish.build( builder ),

})();
].join( ', ' ) + ' )', this.getType( builder ), output );

}

getType( builder ) {

Fractal3DNode.prototype.generate = function (builder, output) {
return this.position.getType( builder );

const noiseCommon = builder.include( Noise2DNode.Nodes.noiseCommon );
const noise3D = builder.include( Noise3DNode.Nodes.noise3d );
const fractal3d = builder.include( Fractal3DNode.Nodes.fractal3d );
}

return builder.format( fractal3d + '( ' + [
copy( source ) {

this.position.build( builder ),
this.amplitude.build( builder ),
this.octaves.build( builder ),
this.lacunarity.build( builder ),
this.diminish.build( builder ),
super.copy( source );

].join( ', ' ) + ' )', this.getType( builder ), output );
this.position = source.position;
this.amplitude = source.amplitude;
this.octaves = source.octaves;
this.lacunarity = source.lacunarity;
this.diminish = source.diminish;

};
}

Fractal3DNode.prototype.getType = function ( builder ) {
toJSON( meta ) {

return this.position.getType( builder );
const data = this.getJSONNode( meta );

};
if ( ! data ) {

Fractal3DNode.prototype.copy = function ( source ) {
data = this.createJSONNode( meta );

TempNode.prototype.copy.call( this, source );
data.position = this.position.toJSON( meta ).uuid;
data.amplitude = this.amplitude.toJSON( meta ).uuid;
data.octaves = this.octaves.toJSON( meta ).uuid;
data.lacunarity = this.lacunarity.toJSON( meta ).uuid;
data.diminish = this.diminish.toJSON( meta ).uuid;

this.position = source.position;
this.amplitude = source.amplitude;
this.octaves = source.octaves;
this.lacunarity = source.lacunarity;
this.diminish = source.diminish;
}

};
return data;

Fractal3DNode.prototype.toJSON = function ( meta ) {
}

const data = this.getJSONNode( meta );
}

if ( ! data ) {
Fractal3DNode.prototype.nodeType = 'Fractal3D';

data = this.createJSONNode( meta );
Fractal3DNode.Nodes = (function () {

data.position = this.position.toJSON( meta ).uuid;
data.amplitude = this.amplitude.toJSON( meta ).uuid;
data.octaves = this.octaves.toJSON( meta ).uuid;
data.lacunarity = this.lacunarity.toJSON( meta ).uuid;
data.diminish = this.diminish.toJSON( meta ).uuid;
return {

}
fractal3d: new FunctionNode( FRACTAL3D_SRC )

return data;
};

};
})();

export { Fractal3DNode };
88 changes: 45 additions & 43 deletions examples/jsm/nodes/procedural/Noise2DNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -84,78 +84,80 @@ float noise2d( vec2 P ) {
}
`.trim();

function Noise2DNode( uv = new UVNode(), amplitude = new FloatNode( 1.0 ), pivot = new FloatNode( 0.0 ) ) {
class Noise2DNode extends TempNode {

TempNode.call( this, 'f' );
constructor( uv = new UVNode(), amplitude = new FloatNode( 1.0 ), pivot = new FloatNode( 0.0 ) ) {

this.uv = uv;
this.amplitude = amplitude;
this.pivot = pivot;
super( 'f' );

}
this.uv = uv;
this.amplitude = amplitude;
this.pivot = pivot;

Noise2DNode.prototype = Object.create( TempNode.prototype );
Noise2DNode.prototype.constructor = Noise2DNode;
Noise2DNode.prototype.nodeType = 'Noise2D';
}

Noise2DNode.Nodes = (function () {
generate(builder, output) {

return {
const noiseCommon = builder.include( Noise2DNode.Nodes.noiseCommon );
const noise2d = builder.include( Noise2DNode.Nodes.noise2d );

noiseCommon: new FunctionNode( NOISE_COMMON_SRC ),
noise2d: new FunctionNode( NOISE2D_SRC )
return builder.format( noise2d + '( ' + [

};
this.uv.build( builder ),
this.amplitude.build( builder ),
this.pivot.build( builder ),

})();
].join( ', ' ) + ' )', this.getType( builder ), output );

}

getType( builder ) {

Noise2DNode.prototype.generate = function (builder, output) {
return this.uv.getType( builder );

const noiseCommon = builder.include( Noise2DNode.Nodes.noiseCommon );
const noise2d = builder.include( Noise2DNode.Nodes.noise2d );
}

return builder.format( noise2d + '( ' + [
copy( source ) {

this.uv.build( builder ),
this.amplitude.build( builder ),
this.pivot.build( builder ),
super.copy( source );

].join( ', ' ) + ' )', this.getType( builder ), output );
this.uv = source.uv;
this.amplitude = source.amplitude;
this.pivot = source.pivot;

};
}

Noise2DNode.prototype.getType = function ( builder ) {
toJSON( meta ) {

return this.uv.getType( builder );
const data = this.getJSONNode( meta );

};
if ( ! data ) {

Noise2DNode.prototype.copy = function ( source ) {
data = this.createJSONNode( meta );

TempNode.prototype.copy.call( this, source );
data.uv = this.uv.toJSON( meta ).uuid;
data.amplitude = this.amplitude.toJSON( meta ).uuid;
data.pivot = this.pivot.toJSON( meta ).uuid;

this.uv = source.uv;
this.amplitude = source.amplitude;
this.pivot = source.pivot;
}

};
return data;

Noise2DNode.prototype.toJSON = function ( meta ) {
}

const data = this.getJSONNode( meta );
}

if ( ! data ) {
Noise2DNode.prototype.nodeType = 'Noise2D';

data = this.createJSONNode( meta );
Noise2DNode.Nodes = (function () {

data.uv = this.uv.toJSON( meta ).uuid;
data.amplitude = this.amplitude.toJSON( meta ).uuid;
data.pivot = this.pivot.toJSON( meta ).uuid;
return {

}
noiseCommon: new FunctionNode( NOISE_COMMON_SRC ),
noise2d: new FunctionNode( NOISE2D_SRC )

return data;
};

};
})();

export { Noise2DNode };
86 changes: 44 additions & 42 deletions examples/jsm/nodes/procedural/Noise3DNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,77 +77,79 @@ float noise3d(vec3 P) {
}
`.trim();

function Noise3DNode( position = new PositionNode(), amplitude = new FloatNode( 1.0 ), pivot = new FloatNode( 0.0 ) ) {
class Noise3DNode extends TempNode {

TempNode.call( this, 'f' );
constructor( position = new PositionNode(), amplitude = new FloatNode( 1.0 ), pivot = new FloatNode( 0.0 ) ) {

this.position = position;
this.amplitude = amplitude;
this.pivot = pivot;
super( 'f' );

}
this.position = position;
this.amplitude = amplitude;
this.pivot = pivot;

Noise3DNode.prototype = Object.create( TempNode.prototype );
Noise3DNode.prototype.constructor = Noise3DNode;
Noise3DNode.prototype.nodeType = 'Noise3D';
}

Noise3DNode.Nodes = (function () {
generate(builder, output) {

return {
const noiseCommon = builder.include( Noise2DNode.Nodes.noiseCommon );
const noise3d = builder.include( Noise3DNode.Nodes.noise3d );

noise3d: new FunctionNode( NOISE3D_SRC )
return builder.format( noise3d + '( ' + [

};
this.position.build( builder ),
this.amplitude.build( builder ),
this.pivot.build( builder ),

})();
].join( ', ' ) + ' )', this.getType( builder ), output );

}

getType( builder ) {

Noise3DNode.prototype.generate = function (builder, output) {
return this.position.getType( builder );

const noiseCommon = builder.include( Noise2DNode.Nodes.noiseCommon );
const noise3d = builder.include( Noise3DNode.Nodes.noise3d );
}

return builder.format( noise3d + '( ' + [
copy( source ) {

this.position.build( builder ),
this.amplitude.build( builder ),
this.pivot.build( builder ),
super.copy( source );

].join( ', ' ) + ' )', this.getType( builder ), output );
this.position = source.position;
this.amplitude = source.amplitude;
this.pivot = source.pivot;

};
}

Noise3DNode.prototype.getType = function ( builder ) {
toJSON( meta ) {

return this.position.getType( builder );
const data = this.getJSONNode( meta );

};
if ( ! data ) {

Noise3DNode.prototype.copy = function ( source ) {
data = this.createJSONNode( meta );

TempNode.prototype.copy.call( this, source );
data.position = this.position.toJSON( meta ).uuid;
data.amplitude = this.amplitude.toJSON( meta ).uuid;
data.pivot = this.pivot.toJSON( meta ).uuid;

this.position = source.position;
this.amplitude = source.amplitude;
this.pivot = source.pivot;
}

};
return data;

Noise3DNode.prototype.toJSON = function ( meta ) {
}

const data = this.getJSONNode( meta );
}

if ( ! data ) {
Noise3DNode.prototype.nodeType = 'Noise3D';

data = this.createJSONNode( meta );
Noise3DNode.Nodes = (function () {

data.position = this.position.toJSON( meta ).uuid;
data.amplitude = this.amplitude.toJSON( meta ).uuid;
data.pivot = this.pivot.toJSON( meta ).uuid;
return {

}
noise3d: new FunctionNode( NOISE3D_SRC )

return data;
};

};
})();

export { Noise3DNode };

0 comments on commit bb11c44

Please sign in to comment.