import { Material } from './Material.js'; import { Vector3 } from '../math/Vector3.js'; /** * parameters = { * * referencePosition: , * nearDistance: , * farDistance: , * * morphTargets: , * * map: new THREE.Texture( ), * * alphaMap: new THREE.Texture( ), * * displacementMap: new THREE.Texture( ), * displacementScale: , * displacementBias: * * } */ class MeshDistanceMaterial extends Material { constructor( parameters ) { super(); this.type = 'MeshDistanceMaterial'; this.referencePosition = new Vector3(); this.nearDistance = 1; this.farDistance = 1000; this.morphTargets = false; this.map = null; this.alphaMap = null; this.displacementMap = null; this.displacementScale = 1; this.displacementBias = 0; this.fog = false; this.setValues( parameters ); } copy( source ) { super.copy( source ); this.referencePosition.copy( source.referencePosition ); this.nearDistance = source.nearDistance; this.farDistance = source.farDistance; this.morphTargets = source.morphTargets; this.map = source.map; this.alphaMap = source.alphaMap; this.displacementMap = source.displacementMap; this.displacementScale = source.displacementScale; this.displacementBias = source.displacementBias; return this; } } MeshDistanceMaterial.prototype.isMeshDistanceMaterial = true; export { MeshDistanceMaterial };