diff --git a/src/UI/Store/RightPanelStore/LightStore.ts b/src/UI/Store/RightPanelStore/LightStore.ts index ac5015856..6aae003e5 100644 --- a/src/UI/Store/RightPanelStore/LightStore.ts +++ b/src/UI/Store/RightPanelStore/LightStore.ts @@ -297,14 +297,14 @@ export class PointLightStore implements IConfigStore { let lightStore = LightStore.GetInstance(); this.m_Option.CaseShadow = lightStore.lightData.CaseShadow; - this.m_Option.Intensity = parseInt(lightStore.lightData.Intensity); + this.m_Option.Intensity = parseFloat(lightStore.lightData.Intensity); this.m_Option.lightColor = lightStore.lightData.Color; - this.m_Option.temperature = parseInt(lightStore.lightData.Temperature); - this.m_Option.IndirectLightingIntensity = parseInt(lightStore.lightData.IndirectLightingIntensity); + this.m_Option.temperature = parseFloat(lightStore.lightData.Temperature); + this.m_Option.IndirectLightingIntensity = parseFloat(lightStore.lightData.IndirectLightingIntensity); this.m_Option.SpecularScale = parseFloat(lightStore.lightData.SpecularScale); - this.m_Option.SoftSourceRadius = parseInt(lightStore.lightData.SoftSourceRadius); - this.m_Option.SourceLength = parseInt(lightStore.lightData.SourceLength); - this.m_Option.SourceRadius = parseInt(lightStore.lightData.SourceRadius); + this.m_Option.SoftSourceRadius = parseFloat(lightStore.lightData.SoftSourceRadius); + this.m_Option.SourceLength = parseFloat(lightStore.lightData.SourceLength); + this.m_Option.SourceRadius = parseFloat(lightStore.lightData.SourceRadius); //新的配置 let newConfig: IConfigOption = {}; @@ -392,17 +392,17 @@ export class SpotLightStore implements IConfigStore { let lightStore = LightStore.GetInstance(); this.m_Option.CaseShadow = lightStore.lightData.CaseShadow; - this.m_Option.Intensity = parseInt(lightStore.lightData.Intensity); + this.m_Option.Intensity = parseFloat(lightStore.lightData.Intensity); this.m_Option.lightColor = lightStore.lightData.Color; - this.m_Option.temperature = parseInt(lightStore.lightData.Temperature); - this.m_Option.IndirectLightingIntensity = parseInt(lightStore.lightData.IndirectLightingIntensity); + this.m_Option.temperature = parseFloat(lightStore.lightData.Temperature); + this.m_Option.IndirectLightingIntensity = parseFloat(lightStore.lightData.IndirectLightingIntensity); this.m_Option.SpecularScale = parseFloat(lightStore.lightData.SpecularScale); - this.m_Option.Angle = parseInt(lightStore.lightData.Angle); - this.m_Option.InnerConeAngle = parseInt(lightStore.lightData.InnerConeAngle); - this.m_Option.SoftSourceRadius = parseInt(lightStore.lightData.SoftSourceRadius); - this.m_Option.SourceLength = parseInt(lightStore.lightData.SourceLength); - this.m_Option.SourceRadius = parseInt(lightStore.lightData.SourceRadius); - this.m_Option.AttenuationRadius = parseInt(lightStore.lightData.AttenuationRadius); + this.m_Option.Angle = parseFloat(lightStore.lightData.Angle); + this.m_Option.InnerConeAngle = parseFloat(lightStore.lightData.InnerConeAngle); + this.m_Option.SoftSourceRadius = parseFloat(lightStore.lightData.SoftSourceRadius); + this.m_Option.SourceLength = parseFloat(lightStore.lightData.SourceLength); + this.m_Option.SourceRadius = parseFloat(lightStore.lightData.SourceRadius); + this.m_Option.AttenuationRadius = parseFloat(lightStore.lightData.AttenuationRadius); this.m_Option.ShowHelper = lightStore.lightData.ShowHelper; //新的配置 let newConfig: IConfigOption = {}; @@ -496,16 +496,16 @@ export class RectAreaLightStore implements IConfigStore { let lightStore = LightStore.GetInstance(); this.m_Option.CaseShadow = lightStore.lightData.CaseShadow; - this.m_Option.Intensity = parseInt(lightStore.lightData.Intensity); + this.m_Option.Intensity = parseFloat(lightStore.lightData.Intensity); this.m_Option.lightColor = lightStore.lightData.Color; - this.m_Option.temperature = parseInt(lightStore.lightData.Temperature); - this.m_Option.IndirectLightingIntensity = parseInt(lightStore.lightData.IndirectLightingIntensity); + this.m_Option.temperature = parseFloat(lightStore.lightData.Temperature); + this.m_Option.IndirectLightingIntensity = parseFloat(lightStore.lightData.IndirectLightingIntensity); this.m_Option.SpecularScale = parseFloat(lightStore.lightData.SpecularScale); this.m_Option.Width = parseFloat(lightStore.lightData.Width); this.m_Option.Height = parseFloat(lightStore.lightData.Height); - this.m_Option.BarnDoorAngle = parseInt(lightStore.lightData.BarnDoorAngle); - this.m_Option.BarnDoorLength = parseInt(lightStore.lightData.BarnDoorLength); - this.m_Option.AttenuationRadius = parseInt(lightStore.lightData.AttenuationRadius); + this.m_Option.BarnDoorAngle = parseFloat(lightStore.lightData.BarnDoorAngle); + this.m_Option.BarnDoorLength = parseFloat(lightStore.lightData.BarnDoorLength); + this.m_Option.AttenuationRadius = parseFloat(lightStore.lightData.AttenuationRadius); this.m_Option.ShowHelper = lightStore.lightData.ShowHelper; //新的配置 let newConfig: IConfigOption = {}; diff --git a/src/UI/Store/RightPanelStore/SpotLightModel.tsx b/src/UI/Store/RightPanelStore/SpotLightModel.tsx index 5c7f569d8..230cda587 100644 --- a/src/UI/Store/RightPanelStore/SpotLightModel.tsx +++ b/src/UI/Store/RightPanelStore/SpotLightModel.tsx @@ -468,20 +468,20 @@ export class InputAndSlider extends React.Component<{ pars: string[], store: Lig { case "InnerConeAngle": this.props.store.lightData.InnerConeAngle = value; - this.props.store.currentSelectEnt[this.props.pars[0]] = parseInt(value); - if (parseInt(value) > parseInt(this.props.store.lightData.Angle)) + this.props.store.currentSelectEnt[this.props.pars[0]] = parseFloat(value); + if (parseFloat(value) > parseFloat(this.props.store.lightData.Angle)) { this.props.store.lightData.Angle = value; - this.props.store.currentSelectEnt["Angle"] = MathUtils.degToRad(parseInt(value)); + this.props.store.currentSelectEnt["Angle"] = MathUtils.degToRad(parseFloat(value)); } break; case "Angle": this.props.store.lightData.Angle = value; - this.props.store.currentSelectEnt["Angle"] = MathUtils.degToRad(parseInt(value)); - if (parseInt(value) < parseInt(this.props.store.lightData.InnerConeAngle)) + this.props.store.currentSelectEnt["Angle"] = MathUtils.degToRad(parseFloat(value)); + if (parseFloat(value) < parseFloat(this.props.store.lightData.InnerConeAngle)) { this.props.store.lightData.InnerConeAngle = value; - this.props.store.currentSelectEnt["InnerConeAngle"] = parseInt(value); + this.props.store.currentSelectEnt["InnerConeAngle"] = parseFloat(value); } break; case "SpecularScale": @@ -490,7 +490,7 @@ export class InputAndSlider extends React.Component<{ pars: string[], store: Lig break; default: this.props.store.lightData[this.props.pars[0]] = value; - this.props.store.currentSelectEnt[this.props.pars[0]] = parseInt(value); + this.props.store.currentSelectEnt[this.props.pars[0]] = parseFloat(value); break; } if (userConfig.synchronousEnable) @@ -505,21 +505,21 @@ export class InputAndSlider extends React.Component<{ pars: string[], store: Lig { case "InnerConeAngle": this.props.store.lightData.InnerConeAngle = value; - this.props.store.currentSelectEnt[this.props.pars[0]] = parseInt(value); - if (parseInt(value) > parseInt(this.props.store.lightData.Angle)) + this.props.store.currentSelectEnt[this.props.pars[0]] = parseFloat(value); + if (parseFloat(value) > parseFloat(this.props.store.lightData.Angle)) { this.props.store.lightData.Angle = value; - this.props.store.currentSelectEnt["Angle"] = MathUtils.degToRad(parseInt(value)); + this.props.store.currentSelectEnt["Angle"] = MathUtils.degToRad(parseFloat(value)); } this.props.store.currentSelectEnt.Update(); break; case "Angle": this.props.store.lightData.Angle = value; - this.props.store.currentSelectEnt["Angle"] = MathUtils.degToRad(parseInt(value)); - if (parseInt(value) < parseInt(this.props.store.lightData.InnerConeAngle)) + this.props.store.currentSelectEnt["Angle"] = MathUtils.degToRad(parseFloat(value)); + if (parseFloat(value) < parseFloat(this.props.store.lightData.InnerConeAngle)) { this.props.store.lightData.InnerConeAngle = value; - this.props.store.currentSelectEnt["InnerConeAngle"] = parseInt(value); + this.props.store.currentSelectEnt["InnerConeAngle"] = parseFloat(value); } break; case "SpecularScale": @@ -528,7 +528,7 @@ export class InputAndSlider extends React.Component<{ pars: string[], store: Lig break; default: this.props.store.lightData[this.props.pars[0]] = value; - this.props.store.currentSelectEnt[this.props.pars[0]] = parseInt(value); + this.props.store.currentSelectEnt[this.props.pars[0]] = parseFloat(value); break; } app.Viewer.UpdateRender(); @@ -552,12 +552,12 @@ export class InputAndSlider extends React.Component<{ pars: string[], store: Lig }} onValueChange={(num, value, e) => { - if (this.props.isFloat) // 处理小数点 Data赋值不上传 - if (num >= this.props.min && num < this.props.max && value === num + ".") - { - this.props.store.lightData[this.props.pars[0]] = num + "."; - return; - } + // 处理小数点 Data赋值不上传 + if (num >= this.props.min && num < this.props.max && value === num + ".") + { + this.props.store.lightData[this.props.pars[0]] = num + "."; + return; + } if (isNaN(num) || num > (this.props.noLim ? 10e6 : this.props.max)) return; if (num < this.props.min) { @@ -569,12 +569,10 @@ export class InputAndSlider extends React.Component<{ pars: string[], store: Lig }} onBlur={(e) => { - if (this.props.isFloat) // 去掉小数点 - if (e.currentTarget.value[e.currentTarget.value.length - 1] === ".") - { - this.props.store.lightData[this.props.pars[0]] = 0; - - } + if (e.currentTarget.value[e.currentTarget.value.length - 1] === ".") + { + this.props.store.lightData[this.props.pars[0]] = this.props.store.currentSelectEnt[this.props.pars[0]]; + } if (this.props.store.lightData[this.props.pars[0]] < this.props.min) { if (this.OldData = this.props.store.currentSelectEnt[this.props.pars[0]])