Style changes as requested

This commit is contained in:
Alexander Brock 2023-02-22 10:52:42 +01:00
parent 2a92257438
commit 2e66dc11a2
5 changed files with 44 additions and 12 deletions

View File

@ -33,6 +33,8 @@ using namespace std;
namespace namespace
{ {
constexpr double focal_length_in_px_factor = 0.0462;
float pow3 (float x) float pow3 (float x)
{ {
return x * x * x; return x * x * x;
@ -522,13 +524,13 @@ bool ImProcFunctions::transCoord (int W, int H, const std::vector<Coord2D> &src,
x_d /= params->perspective.camera_scale; x_d /= params->perspective.camera_scale;
y_d /= params->perspective.camera_scale; y_d /= params->perspective.camera_scale;
if (params->perspective.camera_defish) { if (params->perspective.camera_defish) {
double const focal_source = params->perspective.camera_focal_length * maxRadius * 0.0462; const double focal_source = params->perspective.camera_focal_length * maxRadius * focal_length_in_px_factor;
double focal_dst = focal_source; double focal_dst = focal_source;
x_d /= focal_dst; x_d /= focal_dst;
y_d /= focal_dst; y_d /= focal_dst;
double const r = std::sqrt(x_d*x_d + y_d*y_d); const double r = std::sqrt(x_d * x_d + y_d * y_d);
double const factor = focal_source * std::atan(r)/r; const double factor = focal_source * std::atan(r) / r;
x_d *= factor; x_d *= factor;
y_d *= factor; y_d *= factor;
@ -1262,13 +1264,13 @@ void ImProcFunctions::transformGeneral(bool highQuality, Imagefloat *original, I
x_d /= params->perspective.camera_scale; x_d /= params->perspective.camera_scale;
y_d /= params->perspective.camera_scale; y_d /= params->perspective.camera_scale;
if (params->perspective.camera_defish) { if (params->perspective.camera_defish) {
double const focal_source = params->perspective.camera_focal_length * maxRadius * 0.0462; const double focal_source = params->perspective.camera_focal_length * maxRadius * focal_length_in_px_factor;
double focal_dst = focal_source; double focal_dst = focal_source;
x_d /= focal_dst; x_d /= focal_dst;
y_d /= focal_dst; y_d /= focal_dst;
double const r = std::sqrt(x_d*x_d + y_d*y_d); const double r = std::sqrt(x_d * x_d + y_d * y_d);
double const factor = focal_source * std::atan(r)/r; const double factor = focal_source * std::atan(r)/r;
x_d *= factor; x_d *= factor;
y_d *= factor; y_d *= factor;

View File

@ -197,7 +197,16 @@ void BatchToolPanelCoordinator::initSession ()
rotate->setAdjusterBehavior (options.baBehav[ADDSET_ROTATE_DEGREE]); rotate->setAdjusterBehavior (options.baBehav[ADDSET_ROTATE_DEGREE]);
resize->setAdjusterBehavior (options.baBehav[ADDSET_RESIZE_SCALE]); resize->setAdjusterBehavior (options.baBehav[ADDSET_RESIZE_SCALE]);
distortion->setAdjusterBehavior (options.baBehav[ADDSET_DIST_AMOUNT]); distortion->setAdjusterBehavior (options.baBehav[ADDSET_DIST_AMOUNT]);
perspective->setAdjusterBehavior (options.baBehav[ADDSET_PERSPECTIVE], options.baBehav[ADDSET_PERSP_CAM_FOCAL_LENGTH], options.baBehav[ADDSET_PERSP_CAM_SHIFT], options.baBehav[ADDSET_PERSP_CAM_ANGLE], options.baBehav[ADDSET_PERSP_PROJ_ANGLE], options.baBehav[ADDSET_PERSP_PROJ_SHIFT], options.baBehav[ADDSET_PERSP_PROJ_ROTATE], options.baBehav[ADDSET_PERSP_CAM_SCALE]); perspective->setAdjusterBehavior (
options.baBehav[ADDSET_PERSPECTIVE],
options.baBehav[ADDSET_PERSP_CAM_FOCAL_LENGTH],
options.baBehav[ADDSET_PERSP_CAM_SHIFT],
options.baBehav[ADDSET_PERSP_CAM_ANGLE],
options.baBehav[ADDSET_PERSP_PROJ_ANGLE],
options.baBehav[ADDSET_PERSP_PROJ_SHIFT],
options.baBehav[ADDSET_PERSP_PROJ_ROTATE],
options.baBehav[ADDSET_PERSP_CAM_SCALE]
);
gradient->setAdjusterBehavior (options.baBehav[ADDSET_GRADIENT_DEGREE], options.baBehav[ADDSET_GRADIENT_FEATHER], options.baBehav[ADDSET_GRADIENT_STRENGTH], options.baBehav[ADDSET_GRADIENT_CENTER]); gradient->setAdjusterBehavior (options.baBehav[ADDSET_GRADIENT_DEGREE], options.baBehav[ADDSET_GRADIENT_FEATHER], options.baBehav[ADDSET_GRADIENT_STRENGTH], options.baBehav[ADDSET_GRADIENT_CENTER]);
pcvignette->setAdjusterBehavior (options.baBehav[ADDSET_PCVIGNETTE_STRENGTH], options.baBehav[ADDSET_PCVIGNETTE_FEATHER], options.baBehav[ADDSET_PCVIGNETTE_ROUNDNESS]); pcvignette->setAdjusterBehavior (options.baBehav[ADDSET_PCVIGNETTE_STRENGTH], options.baBehav[ADDSET_PCVIGNETTE_FEATHER], options.baBehav[ADDSET_PCVIGNETTE_ROUNDNESS]);
cacorrection->setAdjusterBehavior (options.baBehav[ADDSET_CA]); cacorrection->setAdjusterBehavior (options.baBehav[ADDSET_CA]);

View File

@ -3312,7 +3312,10 @@ void ParamsEdited::combine(rtengine::procparams::ProcParams& toEdit, const rteng
} }
if (perspective.camera_scale) { if (perspective.camera_scale) {
toEdit.perspective.camera_scale = dontforceSet && options.baBehav[ADDSET_PERSP_CAM_FOCAL_LENGTH] ? toEdit.perspective.camera_scale + mods.perspective.camera_scale : mods.perspective.camera_scale; toEdit.perspective.camera_scale =
dontforceSet && options.baBehav[ADDSET_PERSP_CAM_FOCAL_LENGTH]
? toEdit.perspective.camera_scale + mods.perspective.camera_scale
: mods.perspective.camera_scale;
} }
if (perspective.camera_focal_length) { if (perspective.camera_focal_length) {

View File

@ -474,7 +474,7 @@ void PerspCorrection::setDefaults (const ProcParams* defParams, const ParamsEdit
camera_crop_factor->setDefaultEditedState (pedited->perspective.camera_crop_factor ? Edited : UnEdited); camera_crop_factor->setDefaultEditedState (pedited->perspective.camera_crop_factor ? Edited : UnEdited);
camera_focal_length->setDefaultEditedState (pedited->perspective.camera_focal_length ? Edited : UnEdited); camera_focal_length->setDefaultEditedState (pedited->perspective.camera_focal_length ? Edited : UnEdited);
camera_pitch->setDefaultEditedState (pedited->perspective.camera_pitch ? Edited : UnEdited); camera_pitch->setDefaultEditedState (pedited->perspective.camera_pitch ? Edited : UnEdited);
camera_scale->setDefaultEditedState (std::abs(pedited->perspective.camera_scale-1) > 1e-6 ? Edited : UnEdited); camera_scale->setDefaultEditedState (std::abs(pedited->perspective.camera_scale - 1.0) > 1e-6 ? Edited : UnEdited);
camera_roll->setDefaultEditedState (pedited->perspective.camera_roll ? Edited : UnEdited); camera_roll->setDefaultEditedState (pedited->perspective.camera_roll ? Edited : UnEdited);
camera_shift_horiz->setDefaultEditedState (pedited->perspective.camera_shift_horiz ? Edited : UnEdited); camera_shift_horiz->setDefaultEditedState (pedited->perspective.camera_shift_horiz ? Edited : UnEdited);
camera_shift_vert->setDefaultEditedState (pedited->perspective.camera_shift_vert ? Edited : UnEdited); camera_shift_vert->setDefaultEditedState (pedited->perspective.camera_shift_vert ? Edited : UnEdited);
@ -651,7 +651,16 @@ void PerspCorrection::defishChanged()
} }
} }
void PerspCorrection::setAdjusterBehavior (bool badd, bool camera_focal_length_add, bool camera_shift_add, bool camera_angle_add, bool projection_angle_add, bool projection_shift_add, bool projection_rotate_add, bool projection_scale_add) void PerspCorrection::setAdjusterBehavior (
bool badd,
bool camera_focal_length_add,
bool camera_shift_add,
bool camera_angle_add,
bool projection_angle_add,
bool projection_shift_add,
bool projection_rotate_add,
bool projection_scale_add
)
{ {
horiz->setAddMode(badd); horiz->setAddMode(badd);

View File

@ -129,7 +129,16 @@ public:
void methodChanged (void); void methodChanged (void);
void defishChanged (void); void defishChanged (void);
void requestApplyControlLines(void); void requestApplyControlLines(void);
void setAdjusterBehavior (bool badd, bool camera_focal_length_add, bool camera_shift_add, bool camera_angle_add, bool projection_angle_add, bool projection_shift_add, bool projection_rotate_add, bool projection_scale_add); void setAdjusterBehavior (
bool badd,
bool camera_focal_length_add,
bool camera_shift_add,
bool camera_angle_add,
bool projection_angle_add,
bool projection_shift_add,
bool projection_rotate_add,
bool projection_scale_add
);
void setControlLineEditMode(bool active); void setControlLineEditMode(bool active);
void setEditProvider (EditDataProvider* provider) override; void setEditProvider (EditDataProvider* provider) override;
void setLensGeomListener (LensGeomListener* listener) void setLensGeomListener (LensGeomListener* listener)