Removed special case camera property functions.

This commit is contained in:
Leonardo Zide
2026-02-22 11:38:43 -08:00
parent 28ffe3be35
commit c42d34ff98
6 changed files with 71 additions and 78 deletions
+36
View File
@@ -179,6 +179,36 @@ bool lcCamera::SetProjection(lcCameraProjection CameraProjection)
return true;
}
bool lcCamera::SetFOV(float Fovy)
{
if (m_fovy == Fovy)
return false;
m_fovy = Fovy;
return true;
}
bool lcCamera::SetNearPlane(float NearPlane)
{
if (m_zNear == NearPlane)
return false;
m_zNear = NearPlane;
return true;
}
bool lcCamera::SetFarPlane(float FarPlane)
{
if (m_zFar == FarPlane)
return false;
m_zFar = FarPlane;
return true;
}
void lcCamera::SaveLDraw(QTextStream& Stream) const
{
const QLatin1String LineEnding("\r\n");
@@ -727,8 +757,14 @@ bool lcCamera::SetPropertyValue(lcObjectPropertyId PropertyId, lcStep Step, bool
return SetProjection(static_cast<lcCameraProjection>(Value.toInt()));
case lcObjectPropertyId::CameraFOV:
return SetFOV(Value.toFloat());
case lcObjectPropertyId::CameraNear:
return SetNearPlane(Value.toFloat());
case lcObjectPropertyId::CameraFar:
return SetFarPlane(Value.toFloat());
case lcObjectPropertyId::CameraPositionX:
case lcObjectPropertyId::CameraPositionY:
case lcObjectPropertyId::CameraPositionZ:
+3
View File
@@ -90,6 +90,9 @@ public:
}
bool SetProjection(lcCameraProjection CameraProjection);
bool SetFOV(float Fovy);
bool SetNearPlane(float NearPlane);
bool SetFarPlane(float FarPlane);
quint32 GetAllowedTransforms() const override
{
-42
View File
@@ -3834,48 +3834,6 @@ void lcModel::SetCameraProjection(lcCamera* Camera, lcCameraProjection CameraPro
gMainWindow->UpdateSelectedObjects(false);
}
void lcModel::SetCameraFOV(lcCamera* Camera, float FOV, bool Checkpoint)
{
if (Camera->m_fovy == FOV)
return;
Camera->m_fovy = FOV;
Camera->UpdatePosition(mCurrentStep);
if (Checkpoint)
SaveCheckpoint(tr("Changing FOV"));
UpdateAllViews();
}
void lcModel::SetCameraZNear(lcCamera* Camera, float ZNear, bool Checkpoint)
{
if (Camera->m_zNear == ZNear)
return;
Camera->m_zNear = ZNear;
Camera->UpdatePosition(mCurrentStep);
if (Checkpoint)
SaveCheckpoint(tr("Editing Camera"));
UpdateAllViews();
}
void lcModel::SetCameraZFar(lcCamera* Camera, float ZFar, bool Checkpoint)
{
if (Camera->m_zFar == ZFar)
return;
Camera->m_zFar = ZFar;
Camera->UpdatePosition(mCurrentStep);
if (Checkpoint)
SaveCheckpoint(tr("Editing Camera"));
UpdateAllViews();
}
void lcModel::SetObjectsProperty(const std::vector<lcObject*>& Objects, lcObjectPropertyId PropertyId, QVariant Value, bool AddUndo)
{
bool Modified = false;
-3
View File
@@ -392,9 +392,6 @@ public:
void EndPropertyEdit(lcObjectPropertyId PropertyId, bool Accept);
void SetCameraProjection(lcCamera* Camera, lcCameraProjection CameraProjection);
void SetCameraFOV(lcCamera* Camera, float FOV, bool Checkpoint);
void SetCameraZNear(lcCamera* Camera, float ZNear, bool Checkpoint);
void SetCameraZFar(lcCamera* Camera, float ZFar, bool Checkpoint);
void ShowPropertiesDialog();
void ShowSelectByNameDialog();
+5 -12
View File
@@ -287,6 +287,7 @@ void lcPropertiesWidget::FloatChanged(const QString& TextValue)
float Value = lcParseValueLocalized(TextValue);
ChangeFloatValue(PropertyId, Value, true);
qDebug() << Value;
}
void lcPropertiesWidget::ChangeFloatValue(lcObjectPropertyId PropertyId, float Value, bool Dragging)
@@ -461,17 +462,9 @@ void lcPropertiesWidget::ChangeFloatValue(lcObjectPropertyId PropertyId, float V
}
else if (Camera)
{
if (PropertyId == lcObjectPropertyId::CameraFOV)
if (PropertyId == lcObjectPropertyId::CameraFOV || PropertyId == lcObjectPropertyId::CameraNear || PropertyId == lcObjectPropertyId::CameraFar)
{
Model->SetCameraFOV(Camera, Value, !Dragging);
}
else if (PropertyId == lcObjectPropertyId::CameraNear)
{
Model->SetCameraZNear(Camera, Value, !Dragging);
}
else if (PropertyId == lcObjectPropertyId::CameraFar)
{
Model->SetCameraZFar(Camera, Value, !Dragging);
Model->SetObjectsProperty(mFocusObject ? std::vector<lcObject*>{ mFocusObject } : mSelection, PropertyId, Value, !Dragging);
}
}
@@ -1164,8 +1157,8 @@ void lcPropertiesWidget::CreateWidgets()
AddSpacing();
AddFloatProperty(lcObjectPropertyId::CameraFOV, tr("FOV"), tr("Field of view in degrees"), false, 0.1f, 179.9f);
AddFloatProperty(lcObjectPropertyId::CameraNear, tr("Near"), tr("Near clipping distance"), false, 0.001f, FLT_MAX);
AddFloatProperty(lcObjectPropertyId::CameraFar, tr("Far"), tr("Far clipping distance"), false, 0.001f, FLT_MAX);
AddFloatProperty(lcObjectPropertyId::CameraNear, tr("Near"), tr("Near clipping distance"), false, 0.1f, FLT_MAX);
AddFloatProperty(lcObjectPropertyId::CameraFar, tr("Far"), tr("Far clipping distance"), false, 0.1f, FLT_MAX);
AddSpacing();
+27 -21
View File
@@ -18,24 +18,30 @@ QString lcObject::GetCheckpointString(lcObjectPropertyId PropertyId)
switch (PropertyId)
{
case lcObjectPropertyId::PieceId:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Piece Id");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Piece");
case lcObjectPropertyId::PieceColor:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Piece Color");
return QT_TRANSLATE_NOOP("Checkpoint", "Chang Piece Color");
case lcObjectPropertyId::PieceStepShow:
case lcObjectPropertyId::PieceStepHide:
break;
case lcObjectPropertyId::CameraName:
return QT_TRANSLATE_NOOP("Checkpoint", "Renaming Camera");
return QT_TRANSLATE_NOOP("Checkpoint", "Rename Camera");
case lcObjectPropertyId::CameraProjection:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Camera Projection");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Camera Projection");
case lcObjectPropertyId::CameraFOV:
return QT_TRANSLATE_NOOP("Checkpoint", "Change Camera FOV");
case lcObjectPropertyId::CameraNear:
return QT_TRANSLATE_NOOP("Checkpoint", "Change Camera Near Plane");
case lcObjectPropertyId::CameraFar:
return QT_TRANSLATE_NOOP("Checkpoint", "Change Camera Far Plane");
case lcObjectPropertyId::CameraPositionX:
case lcObjectPropertyId::CameraPositionY:
case lcObjectPropertyId::CameraPositionZ:
@@ -48,56 +54,56 @@ QString lcObject::GetCheckpointString(lcObjectPropertyId PropertyId)
break;
case lcObjectPropertyId::LightName:
return QT_TRANSLATE_NOOP("Checkpoint", "Renaming Light");
return QT_TRANSLATE_NOOP("Checkpoint", "Rename Light");
case lcObjectPropertyId::LightType:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light Type");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Light Type");
case lcObjectPropertyId::LightColor:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light Color");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Light Color");
case lcObjectPropertyId::LightBlenderPower:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light Blender Power");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Light Blender Power");
case lcObjectPropertyId::LightPOVRayPower:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light POV-Ray Power");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Light POV-Ray Power");
case lcObjectPropertyId::LightCastShadow:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light Shadow");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Light Shadow");
case lcObjectPropertyId::LightPOVRayFadeDistance:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light POV-Ray Fade Distance");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Light POV-Ray Fade Distance");
case lcObjectPropertyId::LightPOVRayFadePower:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light POV-Ray Fade Power");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Light POV-Ray Fade Power");
case lcObjectPropertyId::LightBlenderRadius:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light Blender Radius");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Light Blender Radius");
case lcObjectPropertyId::LightBlenderAngle:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Light Blender Angle");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Light Blender Angle");
case lcObjectPropertyId::LightAreaSizeX:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Area Light X Size");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Area Light X Size");
case lcObjectPropertyId::LightAreaSizeY:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Area Light Y Size");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Area Light Y Size");
case lcObjectPropertyId::LightSpotConeAngle:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Spot Light Cone Angle");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Spot Light Cone Angle");
case lcObjectPropertyId::LightSpotPenumbraAngle:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Spot Light Penumbra Angle");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Spot Light Penumbra Angle");
case lcObjectPropertyId::LightPOVRaySpotTightness:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Spot Light POV-Ray Tightness");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Spot Light POV-Ray Tightness");
case lcObjectPropertyId::LightAreaShape:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Area Light Shape");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Area Light Shape");
case lcObjectPropertyId::LightPOVRayAreaGridX:
case lcObjectPropertyId::LightPOVRayAreaGridY:
return QT_TRANSLATE_NOOP("Checkpoint", "Changing Area Light POV-Ray Grid");
return QT_TRANSLATE_NOOP("Checkpoint", "Change Area Light POV-Ray Grid");
case lcObjectPropertyId::ObjectPositionX:
case lcObjectPropertyId::ObjectPositionY: