copy method
Copy the parameters from the passed material into this material.
Implementation
@override
MeshPhysicalMaterial copy(Material source) {
  super.copy(source);
  defines = {'STANDARD': '', 'PHYSICAL': ''};
  if(source is MeshPhysicalMaterial){
    anisotropy = source.anisotropy;
    anisotropyRotation = source.anisotropyRotation;
    anisotropyMap = source.anisotropyMap;
    dispersion = source.dispersion;
    iridescence = source.iridescence;
    iridescenceMap = source.iridescenceMap;
    iridescenceIOR = source.iridescenceIOR;
    iridescenceThicknessRange = [ ...source.iridescenceThicknessRange ];
    iridescenceThicknessMap = source.iridescenceThicknessMap;
  }
  clearcoat = source.clearcoat;
  clearcoatMap = source.clearcoatMap;
  clearcoatRoughness = source.clearcoatRoughness;
  clearcoatRoughnessMap = source.clearcoatRoughnessMap;
  clearcoatNormalMap = source.clearcoatNormalMap;
  clearcoatNormalScale!.setFrom(source.clearcoatNormalScale!);
  ior = source.ior;
  if (source.sheenColor != null) {
    sheenColor!.setFrom(source.sheenColor!);
  } else {
    sheenColor = null;
  }
  sheenColorMap = source.sheenColorMap;
  sheenRoughness = source.sheenRoughness;
  sheenRoughnessMap = source.sheenRoughnessMap;
  transmission = source.transmission;
  transmissionMap = source.transmissionMap;
  thickness = source.thickness;
  thicknessMap = source.thicknessMap;
  attenuationColor!.setFrom(source.attenuationColor!);
  attenuationDistance = source.attenuationDistance;
  specularIntensity = source.specularIntensity;
  specularIntensityMap = source.specularIntensityMap;
  specularColor!.setFrom(source.specularColor!);
  specularColorMap = source.specularColorMap;
  return this;
}