Merged Blender point/spot radius into a single setting.

This commit is contained in:
Leonardo Zide
2025-08-31 10:41:07 -07:00
parent 228169d60d
commit bf8e4cb8fa
8 changed files with 174 additions and 223 deletions
+20 -24
View File
@@ -682,17 +682,16 @@ QVariant lcCamera::GetPropertyValue(lcObjectPropertyId PropertyId) const
case lcObjectPropertyId::LightCastShadow:
case lcObjectPropertyId::LightPOVRayFadeDistance:
case lcObjectPropertyId::LightPOVRayFadePower:
case lcObjectPropertyId::LightPointBlenderRadius:
case lcObjectPropertyId::LightSpotBlenderRadius:
case lcObjectPropertyId::LightDirectionalBlenderAngle:
case lcObjectPropertyId::LightBlenderRadius:
case lcObjectPropertyId::LightBlenderAngle:
case lcObjectPropertyId::LightAreaSizeX:
case lcObjectPropertyId::LightAreaSizeY:
case lcObjectPropertyId::LightSpotConeAngle:
case lcObjectPropertyId::LightSpotPenumbraAngle:
case lcObjectPropertyId::LightSpotPOVRayTightness:
case lcObjectPropertyId::LightPOVRaySpotTightness:
case lcObjectPropertyId::LightAreaShape:
case lcObjectPropertyId::LightAreaPOVRayGridX:
case lcObjectPropertyId::LightAreaPOVRayGridY:
case lcObjectPropertyId::LightPOVRayAreaGridX:
case lcObjectPropertyId::LightPOVRayAreaGridY:
case lcObjectPropertyId::ObjectPositionX:
case lcObjectPropertyId::ObjectPositionY:
case lcObjectPropertyId::ObjectPositionZ:
@@ -745,17 +744,16 @@ bool lcCamera::SetPropertyValue(lcObjectPropertyId PropertyId, lcStep Step, bool
case lcObjectPropertyId::LightCastShadow:
case lcObjectPropertyId::LightPOVRayFadeDistance:
case lcObjectPropertyId::LightPOVRayFadePower:
case lcObjectPropertyId::LightPointBlenderRadius:
case lcObjectPropertyId::LightSpotBlenderRadius:
case lcObjectPropertyId::LightDirectionalBlenderAngle:
case lcObjectPropertyId::LightBlenderRadius:
case lcObjectPropertyId::LightBlenderAngle:
case lcObjectPropertyId::LightAreaSizeX:
case lcObjectPropertyId::LightAreaSizeY:
case lcObjectPropertyId::LightSpotConeAngle:
case lcObjectPropertyId::LightSpotPenumbraAngle:
case lcObjectPropertyId::LightSpotPOVRayTightness:
case lcObjectPropertyId::LightPOVRaySpotTightness:
case lcObjectPropertyId::LightAreaShape:
case lcObjectPropertyId::LightAreaPOVRayGridX:
case lcObjectPropertyId::LightAreaPOVRayGridY:
case lcObjectPropertyId::LightPOVRayAreaGridX:
case lcObjectPropertyId::LightPOVRayAreaGridY:
case lcObjectPropertyId::ObjectPositionX:
case lcObjectPropertyId::ObjectPositionY:
case lcObjectPropertyId::ObjectPositionZ:
@@ -807,17 +805,16 @@ bool lcCamera::HasKeyFrame(lcObjectPropertyId PropertyId, lcStep Time) const
case lcObjectPropertyId::LightCastShadow:
case lcObjectPropertyId::LightPOVRayFadeDistance:
case lcObjectPropertyId::LightPOVRayFadePower:
case lcObjectPropertyId::LightPointBlenderRadius:
case lcObjectPropertyId::LightSpotBlenderRadius:
case lcObjectPropertyId::LightDirectionalBlenderAngle:
case lcObjectPropertyId::LightBlenderRadius:
case lcObjectPropertyId::LightBlenderAngle:
case lcObjectPropertyId::LightAreaSizeX:
case lcObjectPropertyId::LightAreaSizeY:
case lcObjectPropertyId::LightSpotConeAngle:
case lcObjectPropertyId::LightSpotPenumbraAngle:
case lcObjectPropertyId::LightSpotPOVRayTightness:
case lcObjectPropertyId::LightPOVRaySpotTightness:
case lcObjectPropertyId::LightAreaShape:
case lcObjectPropertyId::LightAreaPOVRayGridX:
case lcObjectPropertyId::LightAreaPOVRayGridY:
case lcObjectPropertyId::LightPOVRayAreaGridX:
case lcObjectPropertyId::LightPOVRayAreaGridY:
case lcObjectPropertyId::ObjectPositionX:
case lcObjectPropertyId::ObjectPositionY:
case lcObjectPropertyId::ObjectPositionZ:
@@ -869,17 +866,16 @@ bool lcCamera::SetKeyFrame(lcObjectPropertyId PropertyId, lcStep Time, bool KeyF
case lcObjectPropertyId::LightCastShadow:
case lcObjectPropertyId::LightPOVRayFadeDistance:
case lcObjectPropertyId::LightPOVRayFadePower:
case lcObjectPropertyId::LightPointBlenderRadius:
case lcObjectPropertyId::LightSpotBlenderRadius:
case lcObjectPropertyId::LightDirectionalBlenderAngle:
case lcObjectPropertyId::LightBlenderRadius:
case lcObjectPropertyId::LightBlenderAngle:
case lcObjectPropertyId::LightAreaSizeX:
case lcObjectPropertyId::LightAreaSizeY:
case lcObjectPropertyId::LightSpotConeAngle:
case lcObjectPropertyId::LightSpotPenumbraAngle:
case lcObjectPropertyId::LightSpotPOVRayTightness:
case lcObjectPropertyId::LightPOVRaySpotTightness:
case lcObjectPropertyId::LightAreaShape:
case lcObjectPropertyId::LightAreaPOVRayGridX:
case lcObjectPropertyId::LightAreaPOVRayGridY:
case lcObjectPropertyId::LightPOVRayAreaGridX:
case lcObjectPropertyId::LightPOVRayAreaGridY:
case lcObjectPropertyId::ObjectPositionX:
case lcObjectPropertyId::ObjectPositionY:
case lcObjectPropertyId::ObjectPositionZ:
+5 -6
View File
@@ -3499,17 +3499,16 @@ void lcModel::EndPropertyEdit(lcObjectPropertyId PropertyId, bool Accept)
case lcObjectPropertyId::LightCastShadow:
case lcObjectPropertyId::LightPOVRayFadeDistance:
case lcObjectPropertyId::LightPOVRayFadePower:
case lcObjectPropertyId::LightPointBlenderRadius:
case lcObjectPropertyId::LightSpotBlenderRadius:
case lcObjectPropertyId::LightDirectionalBlenderAngle:
case lcObjectPropertyId::LightBlenderRadius:
case lcObjectPropertyId::LightBlenderAngle:
case lcObjectPropertyId::LightAreaSizeX:
case lcObjectPropertyId::LightAreaSizeY:
case lcObjectPropertyId::LightSpotConeAngle:
case lcObjectPropertyId::LightSpotPenumbraAngle:
case lcObjectPropertyId::LightSpotPOVRayTightness:
case lcObjectPropertyId::LightPOVRaySpotTightness:
case lcObjectPropertyId::LightAreaShape:
case lcObjectPropertyId::LightAreaPOVRayGridX:
case lcObjectPropertyId::LightAreaPOVRayGridY:
case lcObjectPropertyId::LightPOVRayAreaGridX:
case lcObjectPropertyId::LightPOVRayAreaGridY:
break;
case lcObjectPropertyId::ObjectPositionX:
+5 -6
View File
@@ -28,17 +28,16 @@ enum class lcObjectPropertyId
LightCastShadow,
LightPOVRayFadeDistance,
LightPOVRayFadePower,
LightPointBlenderRadius,
LightSpotBlenderRadius,
LightDirectionalBlenderAngle,
LightBlenderRadius,
LightBlenderAngle,
LightAreaSizeX,
LightAreaSizeY,
LightSpotConeAngle,
LightSpotPenumbraAngle,
LightSpotPOVRayTightness,
LightPOVRaySpotTightness,
LightAreaShape,
LightAreaPOVRayGridX,
LightAreaPOVRayGridY,
LightPOVRayAreaGridX,
LightPOVRayAreaGridY,
ObjectPositionX,
ObjectPositionY,
ObjectPositionZ,
+27 -31
View File
@@ -523,20 +523,19 @@ void lcPropertiesWidget::UpdateFloat(lcObjectPropertyId PropertyId, float Value)
case lcObjectPropertyId::LightCastShadow:
case lcObjectPropertyId::LightPOVRayFadeDistance:
case lcObjectPropertyId::LightPOVRayFadePower:
case lcObjectPropertyId::LightPointBlenderRadius:
case lcObjectPropertyId::LightSpotBlenderRadius:
case lcObjectPropertyId::LightDirectionalBlenderAngle:
case lcObjectPropertyId::LightBlenderRadius:
case lcObjectPropertyId::LightBlenderAngle:
case lcObjectPropertyId::LightAreaSizeX:
case lcObjectPropertyId::LightAreaSizeY:
case lcObjectPropertyId::LightSpotConeAngle:
case lcObjectPropertyId::LightSpotPenumbraAngle:
case lcObjectPropertyId::LightSpotPOVRayTightness:
case lcObjectPropertyId::LightPOVRaySpotTightness:
Widget->SetSnap(lcFloatPropertySnap::Auto);
break;
case lcObjectPropertyId::LightAreaShape:
case lcObjectPropertyId::LightAreaPOVRayGridX:
case lcObjectPropertyId::LightAreaPOVRayGridY:
case lcObjectPropertyId::LightPOVRayAreaGridX:
case lcObjectPropertyId::LightPOVRayAreaGridY:
break;
case lcObjectPropertyId::ObjectPositionX:
@@ -1209,9 +1208,8 @@ void lcPropertiesWidget::CreateWidgets()
AddCategory(CategoryIndex::LightBlender, tr("Blender Settings"));
AddFloatProperty(lcObjectPropertyId::LightBlenderPower, tr("Power"), tr("Power of the light in Watts"), true, 0.0f, FLT_MAX);
AddFloatProperty(lcObjectPropertyId::LightPointBlenderRadius, tr("Radius"), tr("Shadow soft size"), true, 0.0f, FLT_MAX);
AddFloatProperty(lcObjectPropertyId::LightSpotBlenderRadius, tr("Radius"), tr("Shadow soft size"), true, 0.0f, FLT_MAX);
AddFloatProperty(lcObjectPropertyId::LightDirectionalBlenderAngle, tr("Angle"), tr("Angular diameter of the light"), true, 0.0f, 180.0f);
AddFloatProperty(lcObjectPropertyId::LightBlenderRadius, tr("Radius"), tr("Shadow soft size"), true, 0.0f, FLT_MAX);
AddFloatProperty(lcObjectPropertyId::LightBlenderAngle, tr("Angle"), tr("Angular diameter of the light"), true, 0.0f, 180.0f);
AddSpacing();
@@ -1220,9 +1218,9 @@ void lcPropertiesWidget::CreateWidgets()
AddFloatProperty(lcObjectPropertyId::LightPOVRayPower, tr("Power"), tr("Power of the light (multiplicative factor)"), true, 0.0f, FLT_MAX);
AddFloatProperty(lcObjectPropertyId::LightPOVRayFadeDistance, tr("Fade Distance"), tr("The distance at which the full light intensity arrives"), true, 0.0f, FLT_MAX);
AddFloatProperty(lcObjectPropertyId::LightPOVRayFadePower, tr("Fade Power"), tr("Light falloff rate"), true, 0.0f, FLT_MAX);
AddFloatProperty(lcObjectPropertyId::LightSpotPOVRayTightness, tr("Tightness"), tr("Additional exponential spot light edge softening"), true, 0.0f, FLT_MAX);
AddIntegerProperty(lcObjectPropertyId::LightAreaPOVRayGridX, tr("Grid X"), tr("Number of point sources along the X axis"), true, 1, INT_MAX);
AddIntegerProperty(lcObjectPropertyId::LightAreaPOVRayGridY, tr("Y"), tr("Number of point sources along the Y axis"), true, 1, INT_MAX);
AddFloatProperty(lcObjectPropertyId::LightPOVRaySpotTightness, tr("Tightness"), tr("Additional exponential spot light edge softening"), true, 0.0f, FLT_MAX);
AddIntegerProperty(lcObjectPropertyId::LightPOVRayAreaGridX, tr("Grid X"), tr("Number of point sources along the X axis"), true, 1, INT_MAX);
AddIntegerProperty(lcObjectPropertyId::LightPOVRayAreaGridY, tr("Y"), tr("Number of point sources along the Y axis"), true, 1, INT_MAX);
AddSpacing();
@@ -1439,7 +1437,7 @@ void lcPropertiesWidget::SetLight(const std::vector<lcObject*>& Selection, lcObj
lcLightType LightType = lcLightType::Count;
lcLightAreaShape LightAreaShape = lcLightAreaShape::Count;
float PointBlenderRadius = 0.0f, SpotBlenderRadius = 0.0f, DirectionalBlenderAngle = 0.0f;
float BlenderRadius = 0.0f, BlenderAngle = 0.0f;
float AreaSizeX = 0.0f, AreaSizeY = 0.0f;
float BlenderPower = 0.0f, POVRayPower = 0.0f;
float POVRayFadeDistance = 0.0f;
@@ -1462,9 +1460,8 @@ void lcPropertiesWidget::SetLight(const std::vector<lcObject*>& Selection, lcObj
SpotConeAngle = Light->GetSpotConeAngle();
SpotPenumbraAngle = Light->GetSpotPenumbraAngle();
SpotTightness = Light->GetSpotPOVRayTightness();
PointBlenderRadius = Light->GetPointBlenderRadius();
SpotBlenderRadius = Light->GetSpotBlenderRadius();
DirectionalBlenderAngle = Light->GetDirectionalBlenderAngle();
BlenderRadius = Light->GetBlenderRadius();
BlenderAngle = Light->GetBlenderAngle();
AreaSizeX = Light->GetAreaSizeX();
AreaSizeY = Light->GetAreaSizeY();
}
@@ -1515,30 +1512,29 @@ void lcPropertiesWidget::SetLight(const std::vector<lcObject*>& Selection, lcObj
UpdateFloat(lcObjectPropertyId::LightPOVRayFadePower, POVRayFadePower);
const bool IsPointLight = (LightType == lcLightType::Point);
SetPropertyVisible(lcObjectPropertyId::LightPointBlenderRadius, IsPointLight);
if (IsPointLight)
UpdateFloat(lcObjectPropertyId::LightPointBlenderRadius, PointBlenderRadius);
const bool IsSpotLight = (LightType == lcLightType::Spot);
SetPropertyVisible(lcObjectPropertyId::LightSpotBlenderRadius, IsSpotLight);
SetPropertyVisible(lcObjectPropertyId::LightBlenderRadius, IsPointLight || IsSpotLight);
if (IsPointLight || IsSpotLight)
UpdateFloat(lcObjectPropertyId::LightBlenderRadius, BlenderRadius);
SetPropertyVisible(lcObjectPropertyId::LightSpotConeAngle, IsSpotLight);
SetPropertyVisible(lcObjectPropertyId::LightSpotPenumbraAngle, IsSpotLight);
SetPropertyVisible(lcObjectPropertyId::LightSpotPOVRayTightness, IsSpotLight);
SetPropertyVisible(lcObjectPropertyId::LightPOVRaySpotTightness, IsSpotLight);
if (IsSpotLight)
{
UpdateFloat(lcObjectPropertyId::LightSpotBlenderRadius, SpotBlenderRadius);
UpdateFloat(lcObjectPropertyId::LightSpotConeAngle, SpotConeAngle);
UpdateFloat(lcObjectPropertyId::LightSpotPenumbraAngle, SpotPenumbraAngle);
UpdateFloat(lcObjectPropertyId::LightSpotPOVRayTightness, SpotTightness);
UpdateFloat(lcObjectPropertyId::LightPOVRaySpotTightness, SpotTightness);
}
const bool IsDirectionalLight = (LightType == lcLightType::Directional);
SetPropertyVisible(lcObjectPropertyId::LightDirectionalBlenderAngle, IsDirectionalLight);
SetPropertyVisible(lcObjectPropertyId::LightBlenderAngle, IsDirectionalLight);
if (IsDirectionalLight)
UpdateFloat(lcObjectPropertyId::LightDirectionalBlenderAngle, DirectionalBlenderAngle);
UpdateFloat(lcObjectPropertyId::LightBlenderAngle, BlenderAngle);
const bool IsAreaLight = (LightType == lcLightType::Area);
SetPropertyVisible(lcObjectPropertyId::LightAreaShape, IsAreaLight);
@@ -1547,16 +1543,16 @@ void lcPropertiesWidget::SetLight(const std::vector<lcObject*>& Selection, lcObj
SetPropertyVisible(lcObjectPropertyId::LightAreaSizeX, IsAreaLight);
SetPropertyVisible(lcObjectPropertyId::LightAreaSizeY, IsAreaLight && !IsSquare);
SetPropertyVisible(lcObjectPropertyId::LightAreaPOVRayGridX, IsAreaLight);
SetPropertyVisible(lcObjectPropertyId::LightAreaPOVRayGridY, IsAreaLight);
SetPropertyVisible(lcObjectPropertyId::LightPOVRayAreaGridX, IsAreaLight);
SetPropertyVisible(lcObjectPropertyId::LightPOVRayAreaGridY, IsAreaLight);
if (IsAreaLight)
{
UpdateStringList(lcObjectPropertyId::LightAreaShape);
UpdateFloat(lcObjectPropertyId::LightAreaSizeX, AreaSizeX);
UpdateFloat(lcObjectPropertyId::LightAreaSizeY, AreaSizeY);
UpdateInteger(lcObjectPropertyId::LightAreaPOVRayGridX);
UpdateInteger(lcObjectPropertyId::LightAreaPOVRayGridY);
UpdateInteger(lcObjectPropertyId::LightPOVRayAreaGridX);
UpdateInteger(lcObjectPropertyId::LightPOVRayAreaGridY);
}
UpdateFloat(lcObjectPropertyId::ObjectPositionX, Position[0]);
+71 -95
View File
@@ -107,9 +107,8 @@ void lcLight::SaveLDraw(QTextStream& Stream) const
mPosition.Save(Stream, "LIGHT", "POSITION", true);
mRotation.Save(Stream, "LIGHT", "ROTATION", true);
mColor.Save(Stream, "LIGHT", "COLOR", true);
mPointBlenderRadius.Save(Stream, "LIGHT", "BLENDER_POINT_RADIUS", true);
mSpotBlenderRadius.Save(Stream, "LIGHT", "BLENDER_SPOT_RADIUS", true);
mDirectionalBlenderAngle.Save(Stream, "LIGHT", "BLENDER_DIRECTIONAL_ANGLE", true);
mBlenderRadius.Save(Stream, "LIGHT", "BLENDER_RADIUS", true);
mBlenderAngle.Save(Stream, "LIGHT", "BLENDER_ANGLE", true);
mAreaSizeX.Save(Stream, "LIGHT", "AREA_SIZE_X", true);
mAreaSizeY.Save(Stream, "LIGHT", "AREA_SIZE_Y", true);
mBlenderPower.Save(Stream, "LIGHT", "BLENDER_POWER", true);
@@ -126,7 +125,7 @@ void lcLight::SaveLDraw(QTextStream& Stream) const
case lcLightType::Spot:
mSpotConeAngle.Save(Stream, "LIGHT", "SPOT_CONE_ANGLE", true);
mSpotPenumbraAngle.Save(Stream, "LIGHT", "SPOT_PENUMBRA_ANGLE", true);
mSpotPOVRayTightness.Save(Stream, "LIGHT", "POVRAY_SPOT_TIGHTNESS", true);
mPOVRaySpotTightness.Save(Stream, "LIGHT", "POVRAY_SPOT_TIGHTNESS", true);
break;
case lcLightType::Directional:
@@ -134,8 +133,8 @@ void lcLight::SaveLDraw(QTextStream& Stream) const
case lcLightType::Area:
Stream << QLatin1String("0 !LEOCAD LIGHT AREA_SHAPE ") << gLightAreaShapes[static_cast<int>(mAreaShape)] << LineEnding;
mAreaPOVRayGridX.Save(Stream, "LIGHT", "POVRAY_AREA_GRID_X", true);
mAreaPOVRayGridY.Save(Stream, "LIGHT", "POVRAY_AREA_GRID_Y", true);
mPOVRayAreaGridX.Save(Stream, "LIGHT", "POVRAY_AREA_GRID_X", true);
mPOVRayAreaGridY.Save(Stream, "LIGHT", "POVRAY_AREA_GRID_Y", true);
break;
}
@@ -217,11 +216,9 @@ bool lcLight::ParseLDrawLine(QTextStream& Stream)
continue;
else if (mColor.Load(Stream, Token, "COLOR"))
continue;
else if (mPointBlenderRadius.Load(Stream, Token, "BLENDER_POINT_RADIUS"))
else if (mBlenderRadius.Load(Stream, Token, "BLENDER_RADIUS"))
continue;
else if (mSpotBlenderRadius.Load(Stream, Token, "BLENDER_SPOT_RADIUS"))
continue;
else if (mDirectionalBlenderAngle.Load(Stream, Token, "BLENDER_DIRECTIONAL_ANGLE"))
else if (mBlenderAngle.Load(Stream, Token, "BLENDER_ANGLE"))
continue;
else if (mAreaSizeX.Load(Stream, Token, "AREA_SIZE_X"))
continue;
@@ -239,11 +236,11 @@ bool lcLight::ParseLDrawLine(QTextStream& Stream)
continue;
else if (mSpotPenumbraAngle.Load(Stream, Token, "SPOT_PENUMBRA_ANGLE"))
continue;
else if (mSpotPOVRayTightness.Load(Stream, Token, "POVRAY_SPOT_TIGHTNESS"))
else if (mPOVRaySpotTightness.Load(Stream, Token, "POVRAY_SPOT_TIGHTNESS"))
continue;
else if (mAreaPOVRayGridX.Load(Stream, Token, "POVRAY_AREA_GRID_X"))
else if (mPOVRayAreaGridX.Load(Stream, Token, "POVRAY_AREA_GRID_X"))
continue;
else if (mAreaPOVRayGridY.Load(Stream, Token, "POVRAY_AREA_GRID_Y"))
else if (mPOVRayAreaGridY.Load(Stream, Token, "POVRAY_AREA_GRID_Y"))
continue;
else if (Token == QLatin1String("AREA_SHAPE"))
{
@@ -575,7 +572,7 @@ bool lcLight::SetSpotPenumbraAngle(float Angle, lcStep Step, bool AddKey)
bool lcLight::SetSpotPOVRayTightness(float Tightness, lcStep Step, bool AddKey)
{
return mSpotPOVRayTightness.ChangeKey(Tightness, Step, AddKey);
return mPOVRaySpotTightness.ChangeKey(Tightness, Step, AddKey);
}
bool lcLight::SetAreaShape(lcLightAreaShape AreaShape)
@@ -594,31 +591,26 @@ bool lcLight::SetAreaShape(lcLightAreaShape AreaShape)
bool lcLight::SetAreaPOVRayGridX(int AreaGrid, lcStep Step, bool AddKey)
{
mAreaPOVRayGridX.ChangeKey(AreaGrid, Step, AddKey);
mPOVRayAreaGridX.ChangeKey(AreaGrid, Step, AddKey);
return true;
}
bool lcLight::SetAreaPOVRayGridY(int AreaGrid, lcStep Step, bool AddKey)
{
mAreaPOVRayGridY.ChangeKey(AreaGrid, Step, AddKey);
mPOVRayAreaGridY.ChangeKey(AreaGrid, Step, AddKey);
return true;
}
bool lcLight::SetPointBlenderRadius(float Radius, lcStep Step, bool AddKey)
bool lcLight::SetBlenderRadius(float Radius, lcStep Step, bool AddKey)
{
return mPointBlenderRadius.ChangeKey(Radius, Step, AddKey);
return mBlenderRadius.ChangeKey(Radius, Step, AddKey);
}
bool lcLight::SetSpotBlenderRadius(float Radius, lcStep Step, bool AddKey)
bool lcLight::SetBlenderAngle(float Angle, lcStep Step, bool AddKey)
{
return mSpotBlenderRadius.ChangeKey(Radius, Step, AddKey);
}
bool lcLight::SetDirectionalBlenderAngle(float Angle, lcStep Step, bool AddKey)
{
return mDirectionalBlenderAngle.ChangeKey(Angle, Step, AddKey);
return mBlenderAngle.ChangeKey(Angle, Step, AddKey);
}
bool lcLight::SetAreaSizeX(float Size, lcStep Step, bool AddKey)
@@ -659,12 +651,11 @@ void lcLight::InsertTime(lcStep Start, lcStep Time)
mColor.InsertTime(Start, Time);
mSpotConeAngle.InsertTime(Start, Time);
mSpotPenumbraAngle.InsertTime(Start, Time);
mSpotPOVRayTightness.InsertTime(Start, Time);
mAreaPOVRayGridX.InsertTime(Start, Time);
mAreaPOVRayGridY.InsertTime(Start, Time);
mPointBlenderRadius.InsertTime(Start, Time);
mSpotBlenderRadius.InsertTime(Start, Time);
mDirectionalBlenderAngle.InsertTime(Start, Time);
mPOVRaySpotTightness.InsertTime(Start, Time);
mPOVRayAreaGridX.InsertTime(Start, Time);
mPOVRayAreaGridY.InsertTime(Start, Time);
mBlenderRadius.InsertTime(Start, Time);
mBlenderAngle.InsertTime(Start, Time);
mAreaSizeX.InsertTime(Start, Time);
mAreaSizeY.InsertTime(Start, Time);
mBlenderPower.InsertTime(Start, Time);
@@ -680,12 +671,11 @@ void lcLight::RemoveTime(lcStep Start, lcStep Time)
mColor.RemoveTime(Start, Time);
mSpotConeAngle.RemoveTime(Start, Time);
mSpotPenumbraAngle.RemoveTime(Start, Time);
mSpotPOVRayTightness.RemoveTime(Start, Time);
mAreaPOVRayGridX.RemoveTime(Start, Time);
mAreaPOVRayGridY.RemoveTime(Start, Time);
mPointBlenderRadius.RemoveTime(Start, Time);
mSpotBlenderRadius.RemoveTime(Start, Time);
mDirectionalBlenderAngle.RemoveTime(Start, Time);
mPOVRaySpotTightness.RemoveTime(Start, Time);
mPOVRayAreaGridX.RemoveTime(Start, Time);
mPOVRayAreaGridY.RemoveTime(Start, Time);
mBlenderRadius.RemoveTime(Start, Time);
mBlenderAngle.RemoveTime(Start, Time);
mAreaSizeX.RemoveTime(Start, Time);
mAreaSizeY.RemoveTime(Start, Time);
mBlenderPower.RemoveTime(Start, Time);
@@ -701,12 +691,11 @@ void lcLight::UpdatePosition(lcStep Step)
mColor.Update(Step);
mSpotConeAngle.Update(Step);
mSpotPenumbraAngle.Update(Step);
mSpotPOVRayTightness.Update(Step);
mAreaPOVRayGridX.Update(Step);
mAreaPOVRayGridY.Update(Step);
mPointBlenderRadius.Update(Step);
mSpotBlenderRadius.Update(Step);
mDirectionalBlenderAngle.Update(Step);
mPOVRaySpotTightness.Update(Step);
mPOVRayAreaGridX.Update(Step);
mPOVRayAreaGridY.Update(Step);
mBlenderRadius.Update(Step);
mBlenderAngle.Update(Step);
mAreaSizeX.Update(Step);
mAreaSizeY.Update(Step);
mBlenderPower.Update(Step);
@@ -1182,14 +1171,11 @@ QVariant lcLight::GetPropertyValue(lcObjectPropertyId PropertyId) const
case lcObjectPropertyId::LightPOVRayFadePower:
return GetPOVRayFadePower();
case lcObjectPropertyId::LightPointBlenderRadius:
return GetPointBlenderRadius();
case lcObjectPropertyId::LightBlenderRadius:
return GetBlenderRadius();
case lcObjectPropertyId::LightSpotBlenderRadius:
return GetSpotBlenderRadius();
case lcObjectPropertyId::LightDirectionalBlenderAngle:
return GetDirectionalBlenderAngle();
case lcObjectPropertyId::LightBlenderAngle:
return GetBlenderAngle();
case lcObjectPropertyId::LightAreaSizeX:
return GetAreaSizeX();
@@ -1203,16 +1189,16 @@ QVariant lcLight::GetPropertyValue(lcObjectPropertyId PropertyId) const
case lcObjectPropertyId::LightSpotPenumbraAngle:
return GetSpotPenumbraAngle();
case lcObjectPropertyId::LightSpotPOVRayTightness:
case lcObjectPropertyId::LightPOVRaySpotTightness:
return GetSpotPOVRayTightness();
case lcObjectPropertyId::LightAreaShape:
return static_cast<int>(GetAreaShape());
case lcObjectPropertyId::LightAreaPOVRayGridX:
case lcObjectPropertyId::LightPOVRayAreaGridX:
return GetAreaPOVRayGridX();
case lcObjectPropertyId::LightAreaPOVRayGridY:
case lcObjectPropertyId::LightPOVRayAreaGridY:
return GetAreaPOVRayGridY();
case lcObjectPropertyId::ObjectPositionX:
@@ -1276,14 +1262,11 @@ bool lcLight::SetPropertyValue(lcObjectPropertyId PropertyId, lcStep Step, bool
case lcObjectPropertyId::LightPOVRayFadePower:
return SetPOVRayFadePower(Value.toFloat(), Step, AddKey);
case lcObjectPropertyId::LightPointBlenderRadius:
return SetPointBlenderRadius(Value.toFloat(), Step, AddKey);
case lcObjectPropertyId::LightBlenderRadius:
return SetBlenderRadius(Value.toFloat(), Step, AddKey);
case lcObjectPropertyId::LightSpotBlenderRadius:
return SetSpotBlenderRadius(Value.toFloat(), Step, AddKey);
case lcObjectPropertyId::LightDirectionalBlenderAngle:
return SetDirectionalBlenderAngle(Value.toFloat(), Step, AddKey);
case lcObjectPropertyId::LightBlenderAngle:
return SetBlenderAngle(Value.toFloat(), Step, AddKey);
case lcObjectPropertyId::LightAreaSizeX:
return SetAreaSizeX(Value.toFloat(), Step, AddKey);
@@ -1297,16 +1280,16 @@ bool lcLight::SetPropertyValue(lcObjectPropertyId PropertyId, lcStep Step, bool
case lcObjectPropertyId::LightSpotPenumbraAngle:
return SetSpotPenumbraAngle(Value.toFloat(), Step, AddKey);
case lcObjectPropertyId::LightSpotPOVRayTightness:
case lcObjectPropertyId::LightPOVRaySpotTightness:
return SetSpotPOVRayTightness(Value.toFloat(), Step, AddKey);
case lcObjectPropertyId::LightAreaShape:
return SetAreaShape(static_cast<lcLightAreaShape>(Value.toInt()));
case lcObjectPropertyId::LightAreaPOVRayGridX:
case lcObjectPropertyId::LightPOVRayAreaGridX:
return SetAreaPOVRayGridX(Value.toInt(), Step, AddKey);
case lcObjectPropertyId::LightAreaPOVRayGridY:
case lcObjectPropertyId::LightPOVRayAreaGridY:
return SetAreaPOVRayGridY(Value.toInt(), Step, AddKey);
case lcObjectPropertyId::ObjectPositionX:
@@ -1366,14 +1349,11 @@ bool lcLight::HasKeyFrame(lcObjectPropertyId PropertyId, lcStep Time) const
case lcObjectPropertyId::LightPOVRayFadePower:
return mPOVRayFadePower.HasKeyFrame(Time);
case lcObjectPropertyId::LightPointBlenderRadius:
return mPointBlenderRadius.HasKeyFrame(Time);
case lcObjectPropertyId::LightBlenderRadius:
return mBlenderRadius.HasKeyFrame(Time);
case lcObjectPropertyId::LightSpotBlenderRadius:
return mSpotBlenderRadius.HasKeyFrame(Time);
case lcObjectPropertyId::LightDirectionalBlenderAngle:
return mDirectionalBlenderAngle.HasKeyFrame(Time);
case lcObjectPropertyId::LightBlenderAngle:
return mBlenderAngle.HasKeyFrame(Time);
case lcObjectPropertyId::LightAreaSizeX:
return mAreaSizeX.HasKeyFrame(Time);
@@ -1387,17 +1367,17 @@ bool lcLight::HasKeyFrame(lcObjectPropertyId PropertyId, lcStep Time) const
case lcObjectPropertyId::LightSpotPenumbraAngle:
return mSpotPenumbraAngle.HasKeyFrame(Time);
case lcObjectPropertyId::LightSpotPOVRayTightness:
return mSpotPOVRayTightness.HasKeyFrame(Time);
case lcObjectPropertyId::LightPOVRaySpotTightness:
return mPOVRaySpotTightness.HasKeyFrame(Time);
case lcObjectPropertyId::LightAreaShape:
return false;
case lcObjectPropertyId::LightAreaPOVRayGridX:
return mAreaPOVRayGridX.HasKeyFrame(Time);
case lcObjectPropertyId::LightPOVRayAreaGridX:
return mPOVRayAreaGridX.HasKeyFrame(Time);
case lcObjectPropertyId::LightAreaPOVRayGridY:
return mAreaPOVRayGridY.HasKeyFrame(Time);
case lcObjectPropertyId::LightPOVRayAreaGridY:
return mPOVRayAreaGridY.HasKeyFrame(Time);
case lcObjectPropertyId::ObjectPositionX:
case lcObjectPropertyId::ObjectPositionY:
@@ -1460,14 +1440,11 @@ bool lcLight::SetKeyFrame(lcObjectPropertyId PropertyId, lcStep Time, bool KeyFr
case lcObjectPropertyId::LightPOVRayFadePower:
return mPOVRayFadePower.SetKeyFrame(Time, KeyFrame);
case lcObjectPropertyId::LightPointBlenderRadius:
return mPointBlenderRadius.SetKeyFrame(Time, KeyFrame);
case lcObjectPropertyId::LightBlenderRadius:
return mBlenderRadius.SetKeyFrame(Time, KeyFrame);
case lcObjectPropertyId::LightSpotBlenderRadius:
return mSpotBlenderRadius.SetKeyFrame(Time, KeyFrame);
case lcObjectPropertyId::LightDirectionalBlenderAngle:
return mDirectionalBlenderAngle.SetKeyFrame(Time, KeyFrame);
case lcObjectPropertyId::LightBlenderAngle:
return mBlenderAngle.SetKeyFrame(Time, KeyFrame);
case lcObjectPropertyId::LightAreaSizeX:
return mAreaSizeX.SetKeyFrame(Time, KeyFrame);
@@ -1481,17 +1458,17 @@ bool lcLight::SetKeyFrame(lcObjectPropertyId PropertyId, lcStep Time, bool KeyFr
case lcObjectPropertyId::LightSpotPenumbraAngle:
return mSpotPenumbraAngle.SetKeyFrame(Time, KeyFrame);
case lcObjectPropertyId::LightSpotPOVRayTightness:
return mSpotPOVRayTightness.SetKeyFrame(Time, KeyFrame);
case lcObjectPropertyId::LightPOVRaySpotTightness:
return mPOVRaySpotTightness.SetKeyFrame(Time, KeyFrame);
case lcObjectPropertyId::LightAreaShape:
return false;
case lcObjectPropertyId::LightAreaPOVRayGridX:
return mAreaPOVRayGridX.SetKeyFrame(Time, KeyFrame);
case lcObjectPropertyId::LightPOVRayAreaGridX:
return mPOVRayAreaGridX.SetKeyFrame(Time, KeyFrame);
case lcObjectPropertyId::LightAreaPOVRayGridY:
return mAreaPOVRayGridY.SetKeyFrame(Time, KeyFrame);
case lcObjectPropertyId::LightPOVRayAreaGridY:
return mPOVRayAreaGridY.SetKeyFrame(Time, KeyFrame);
case lcObjectPropertyId::ObjectPositionX:
case lcObjectPropertyId::ObjectPositionY:
@@ -1517,12 +1494,11 @@ void lcLight::RemoveKeyFrames()
mColor.RemoveAllKeys();
mSpotConeAngle.RemoveAllKeys();
mSpotPenumbraAngle.RemoveAllKeys();
mSpotPOVRayTightness.RemoveAllKeys();
mAreaPOVRayGridX.RemoveAllKeys();
mAreaPOVRayGridY.RemoveAllKeys();
mPointBlenderRadius.RemoveAllKeys();
mSpotBlenderRadius.RemoveAllKeys();
mDirectionalBlenderAngle.RemoveAllKeys();
mPOVRaySpotTightness.RemoveAllKeys();
mPOVRayAreaGridX.RemoveAllKeys();
mPOVRayAreaGridY.RemoveAllKeys();
mBlenderRadius.RemoveAllKeys();
mBlenderAngle.RemoveAllKeys();
mAreaSizeX.RemoveAllKeys();
mAreaSizeY.RemoveAllKeys();
mBlenderPower.RemoveAllKeys();
+16 -24
View File
@@ -266,7 +266,7 @@ public:
float GetSpotPOVRayTightness() const
{
return mSpotPOVRayTightness;
return mPOVRaySpotTightness;
}
bool SetAreaShape(lcLightAreaShape LightAreaShape);
@@ -280,35 +280,28 @@ public:
int GetAreaPOVRayGridX() const
{
return mAreaPOVRayGridX;
return mPOVRayAreaGridX;
}
bool SetAreaPOVRayGridY(int AreaGrid, lcStep Step, bool AddKey);
int GetAreaPOVRayGridY() const
{
return mAreaPOVRayGridY;
return mPOVRayAreaGridY;
}
bool SetPointBlenderRadius(float Radius, lcStep Step, bool AddKey);
bool SetBlenderRadius(float Radius, lcStep Step, bool AddKey);
float GetPointBlenderRadius() const
float GetBlenderRadius() const
{
return mPointBlenderRadius;
return mBlenderRadius;
}
bool SetSpotBlenderRadius(float Radius, lcStep Step, bool AddKey);
bool SetBlenderAngle(float Angle, lcStep Step, bool AddKey);
float GetSpotBlenderRadius() const
float GetBlenderAngle() const
{
return mSpotBlenderRadius;
}
bool SetDirectionalBlenderAngle(float Angle, lcStep Step, bool AddKey);
float GetDirectionalBlenderAngle() const
{
return mDirectionalBlenderAngle;
return mBlenderAngle;
}
bool SetAreaSizeX(float Size, lcStep Step, bool AddKey);
@@ -377,21 +370,20 @@ protected:
lcObjectProperty<lcVector3> mPosition = lcObjectProperty<lcVector3>(lcVector3(0.0f, 0.0f, 0.0f));
lcObjectProperty<lcMatrix33> mRotation = lcObjectProperty<lcMatrix33>(lcMatrix33Identity());
lcObjectProperty<lcVector3> mColor = lcObjectProperty<lcVector3>(lcVector3(1.0f, 1.0f, 1.0f));
lcObjectProperty<float> mPointBlenderRadius = lcObjectProperty<float>(0.0f);
lcObjectProperty<float> mSpotBlenderRadius = lcObjectProperty<float>(0.0f);
lcObjectProperty<float> mDirectionalBlenderAngle = lcObjectProperty<float>(0.526f * LC_DTOR);
lcObjectProperty<float> mAreaSizeX = lcObjectProperty<float>(250.0f);
lcObjectProperty<float> mAreaSizeY = lcObjectProperty<float>(250.0f);
lcObjectProperty<float> mBlenderPower = lcObjectProperty<float>(10.0f);
lcObjectProperty<float> mBlenderRadius = lcObjectProperty<float>(0.0f);
lcObjectProperty<float> mBlenderAngle = lcObjectProperty<float>(0.526f * LC_DTOR);
lcObjectProperty<float> mPOVRayPower = lcObjectProperty<float>(1.0f);
lcObjectProperty<float> mPOVRayFadeDistance = lcObjectProperty<float>(0.0f);
lcObjectProperty<float> mPOVRayFadePower = lcObjectProperty<float>(0.0f);
lcObjectProperty<float> mSpotConeAngle = lcObjectProperty<float>(80.0f);
lcObjectProperty<float> mSpotPenumbraAngle = lcObjectProperty<float>(0.0f);
lcObjectProperty<float> mSpotPOVRayTightness = lcObjectProperty<float>(0.0f);
lcObjectProperty<int> mAreaPOVRayGridX = lcObjectProperty<int>(2);
lcObjectProperty<int> mAreaPOVRayGridY = lcObjectProperty<int>(2);
lcObjectProperty<float> mPOVRaySpotTightness = lcObjectProperty<float>(0.0f);
lcLightAreaShape mAreaShape = lcLightAreaShape::Rectangle;
lcObjectProperty<float> mAreaSizeX = lcObjectProperty<float>(250.0f);
lcObjectProperty<float> mAreaSizeY = lcObjectProperty<float>(250.0f);
lcObjectProperty<int> mPOVRayAreaGridX = lcObjectProperty<int>(2);
lcObjectProperty<int> mPOVRayAreaGridY = lcObjectProperty<int>(2);
quint32 mState = 0;
bool mSelected = false;
+10 -13
View File
@@ -68,20 +68,17 @@ QString lcObject::GetCheckpointString(lcObjectPropertyId PropertyId)
case lcObjectPropertyId::LightPOVRayFadePower:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light POV-Ray Fade Power");
case lcObjectPropertyId::LightPointBlenderRadius:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Point Light Blender Radius");
case lcObjectPropertyId::LightBlenderRadius:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light Blender Radius");
case lcObjectPropertyId::LightSpotBlenderRadius:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light Spot Light Blender Radius");
case lcObjectPropertyId::LightDirectionalBlenderAngle:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Directional Light Blender Angle");
case lcObjectPropertyId::LightBlenderAngle:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light Blender Angle");
case lcObjectPropertyId::LightAreaSizeX:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light Area X Size");
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Area Light X Size");
case lcObjectPropertyId::LightAreaSizeY:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light Area Y Size");
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Area Light Y Size");
case lcObjectPropertyId::LightSpotConeAngle:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Spot Light Cone Angle");
@@ -89,15 +86,15 @@ QString lcObject::GetCheckpointString(lcObjectPropertyId PropertyId)
case lcObjectPropertyId::LightSpotPenumbraAngle:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Spot Light Penumbra Angle");
case lcObjectPropertyId::LightSpotPOVRayTightness:
case lcObjectPropertyId::LightPOVRaySpotTightness:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Spot Light POV-Ray Tightness");
case lcObjectPropertyId::LightAreaShape:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Area Light Shape");
case lcObjectPropertyId::LightAreaPOVRayGridX:
case lcObjectPropertyId::LightAreaPOVRayGridY:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Area Light Grid");
case lcObjectPropertyId::LightPOVRayAreaGridX:
case lcObjectPropertyId::LightPOVRayAreaGridY:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Area Light POV-Ray Grid");
case lcObjectPropertyId::ObjectPositionX:
case lcObjectPropertyId::ObjectPositionY:
+20 -24
View File
@@ -700,17 +700,16 @@ QVariant lcPiece::GetPropertyValue(lcObjectPropertyId PropertyId) const
case lcObjectPropertyId::LightCastShadow:
case lcObjectPropertyId::LightPOVRayFadeDistance:
case lcObjectPropertyId::LightPOVRayFadePower:
case lcObjectPropertyId::LightPointBlenderRadius:
case lcObjectPropertyId::LightSpotBlenderRadius:
case lcObjectPropertyId::LightDirectionalBlenderAngle:
case lcObjectPropertyId::LightBlenderRadius:
case lcObjectPropertyId::LightBlenderAngle:
case lcObjectPropertyId::LightAreaSizeX:
case lcObjectPropertyId::LightAreaSizeY:
case lcObjectPropertyId::LightSpotConeAngle:
case lcObjectPropertyId::LightSpotPenumbraAngle:
case lcObjectPropertyId::LightSpotPOVRayTightness:
case lcObjectPropertyId::LightPOVRaySpotTightness:
case lcObjectPropertyId::LightAreaShape:
case lcObjectPropertyId::LightAreaPOVRayGridX:
case lcObjectPropertyId::LightAreaPOVRayGridY:
case lcObjectPropertyId::LightPOVRayAreaGridX:
case lcObjectPropertyId::LightPOVRayAreaGridY:
case lcObjectPropertyId::ObjectPositionX:
case lcObjectPropertyId::ObjectPositionY:
case lcObjectPropertyId::ObjectPositionZ:
@@ -761,17 +760,16 @@ bool lcPiece::SetPropertyValue(lcObjectPropertyId PropertyId, lcStep Step, bool
case lcObjectPropertyId::LightCastShadow:
case lcObjectPropertyId::LightPOVRayFadeDistance:
case lcObjectPropertyId::LightPOVRayFadePower:
case lcObjectPropertyId::LightPointBlenderRadius:
case lcObjectPropertyId::LightSpotBlenderRadius:
case lcObjectPropertyId::LightDirectionalBlenderAngle:
case lcObjectPropertyId::LightBlenderRadius:
case lcObjectPropertyId::LightBlenderAngle:
case lcObjectPropertyId::LightAreaSizeX:
case lcObjectPropertyId::LightAreaSizeY:
case lcObjectPropertyId::LightSpotConeAngle:
case lcObjectPropertyId::LightSpotPenumbraAngle:
case lcObjectPropertyId::LightSpotPOVRayTightness:
case lcObjectPropertyId::LightPOVRaySpotTightness:
case lcObjectPropertyId::LightAreaShape:
case lcObjectPropertyId::LightAreaPOVRayGridX:
case lcObjectPropertyId::LightAreaPOVRayGridY:
case lcObjectPropertyId::LightPOVRayAreaGridX:
case lcObjectPropertyId::LightPOVRayAreaGridY:
case lcObjectPropertyId::ObjectPositionX:
case lcObjectPropertyId::ObjectPositionY:
case lcObjectPropertyId::ObjectPositionZ:
@@ -815,17 +813,16 @@ bool lcPiece::HasKeyFrame(lcObjectPropertyId PropertyId, lcStep Time) const
case lcObjectPropertyId::LightCastShadow:
case lcObjectPropertyId::LightPOVRayFadeDistance:
case lcObjectPropertyId::LightPOVRayFadePower:
case lcObjectPropertyId::LightPointBlenderRadius:
case lcObjectPropertyId::LightSpotBlenderRadius:
case lcObjectPropertyId::LightDirectionalBlenderAngle:
case lcObjectPropertyId::LightBlenderRadius:
case lcObjectPropertyId::LightBlenderAngle:
case lcObjectPropertyId::LightAreaSizeX:
case lcObjectPropertyId::LightAreaSizeY:
case lcObjectPropertyId::LightSpotConeAngle:
case lcObjectPropertyId::LightSpotPenumbraAngle:
case lcObjectPropertyId::LightSpotPOVRayTightness:
case lcObjectPropertyId::LightPOVRaySpotTightness:
case lcObjectPropertyId::LightAreaShape:
case lcObjectPropertyId::LightAreaPOVRayGridX:
case lcObjectPropertyId::LightAreaPOVRayGridY:
case lcObjectPropertyId::LightPOVRayAreaGridX:
case lcObjectPropertyId::LightPOVRayAreaGridY:
return false;
case lcObjectPropertyId::ObjectPositionX:
@@ -875,17 +872,16 @@ bool lcPiece::SetKeyFrame(lcObjectPropertyId PropertyId, lcStep Time, bool KeyFr
case lcObjectPropertyId::LightCastShadow:
case lcObjectPropertyId::LightPOVRayFadeDistance:
case lcObjectPropertyId::LightPOVRayFadePower:
case lcObjectPropertyId::LightPointBlenderRadius:
case lcObjectPropertyId::LightSpotBlenderRadius:
case lcObjectPropertyId::LightDirectionalBlenderAngle:
case lcObjectPropertyId::LightBlenderRadius:
case lcObjectPropertyId::LightBlenderAngle:
case lcObjectPropertyId::LightAreaSizeX:
case lcObjectPropertyId::LightAreaSizeY:
case lcObjectPropertyId::LightSpotConeAngle:
case lcObjectPropertyId::LightSpotPenumbraAngle:
case lcObjectPropertyId::LightSpotPOVRayTightness:
case lcObjectPropertyId::LightPOVRaySpotTightness:
case lcObjectPropertyId::LightAreaShape:
case lcObjectPropertyId::LightAreaPOVRayGridX:
case lcObjectPropertyId::LightAreaPOVRayGridY:
case lcObjectPropertyId::LightPOVRayAreaGridX:
case lcObjectPropertyId::LightPOVRayAreaGridY:
return false;
case lcObjectPropertyId::ObjectPositionX: