Cleanup: use const pointers where camera data isn't modified

This commit is contained in:
Campbell Barton
2024-03-08 17:13:10 +11:00
parent 8cbb57ee0a
commit f3e0e39df5
18 changed files with 38 additions and 41 deletions
+2 -2
View File
@@ -173,8 +173,8 @@ struct CameraBGImage *BKE_camera_background_image_new(struct Camera *cam);
* \param copy_flag: The usual ID copying flags, see `LIB_ID_CREATE_`/`LIB_ID_COPY_` enums in
* `BKE_lib_id.hh`.
*/
struct CameraBGImage *BKE_camera_background_image_copy(struct CameraBGImage *bgpic_src,
const int copy_flag);
struct CameraBGImage *BKE_camera_background_image_copy(const struct CameraBGImage *bgpic_src,
int copy_flag);
void BKE_camera_background_image_remove(struct Camera *cam, struct CameraBGImage *bgpic);
void BKE_camera_background_image_clear(struct Camera *cam);
+7 -8
View File
@@ -278,7 +278,7 @@ void *BKE_camera_add(Main *bmain, const char *name)
float BKE_camera_object_dof_distance(const Object *ob)
{
Camera *cam = (Camera *)ob->data;
const Camera *cam = (const Camera *)ob->data;
if (ob->type != OB_CAMERA) {
return 0.0f;
}
@@ -355,7 +355,7 @@ void BKE_camera_params_from_object(CameraParams *params, const Object *cam_ob)
if (cam_ob->type == OB_CAMERA) {
/* camera object */
Camera *cam = static_cast<Camera *>(cam_ob->data);
const Camera *cam = static_cast<const Camera *>(cam_ob->data);
if (cam->type == CAM_ORTHO) {
params->is_ortho = true;
@@ -899,7 +899,7 @@ static void camera_stereo3d_model_matrix(const Object *camera,
const bool is_left,
float r_modelmat[4][4])
{
Camera *data = (Camera *)camera->data;
const Camera *data = (const Camera *)camera->data;
float interocular_distance, convergence_distance;
short convergence_mode, pivot;
float sizemat[4][4];
@@ -1060,7 +1060,6 @@ void BKE_camera_multiview_window_matrix(const RenderData *rd,
bool BKE_camera_multiview_spherical_stereo(const RenderData *rd, const Object *camera)
{
Camera *cam;
const bool is_multiview = (rd && rd->scemode & R_MULTIVIEW) != 0;
if (!is_multiview) {
@@ -1071,7 +1070,7 @@ bool BKE_camera_multiview_spherical_stereo(const RenderData *rd, const Object *c
return false;
}
cam = static_cast<Camera *>(camera->data);
const Camera *cam = static_cast<const Camera *>(camera->data);
if ((rd->views_format == SCE_VIEWS_FORMAT_STEREO_3D) && ELEM(cam->type, CAM_PANO, CAM_PERSP) &&
((cam->stereo.flag & CAM_S3D_SPHERICAL) != 0))
@@ -1132,7 +1131,7 @@ Object *BKE_camera_multiview_render(const Scene *scene, Object *camera, const ch
static float camera_stereo3d_shift_x(const Object *camera, const char *viewname)
{
Camera *data = static_cast<Camera *>(camera->data);
const Camera *data = static_cast<const Camera *>(camera->data);
float shift = data->shiftx;
float interocular_distance, convergence_distance;
short convergence_mode, pivot;
@@ -1174,7 +1173,7 @@ float BKE_camera_multiview_shift_x(const RenderData *rd,
const char *viewname)
{
const bool is_multiview = (rd && rd->scemode & R_MULTIVIEW) != 0;
Camera *data = static_cast<Camera *>(camera->data);
const Camera *data = static_cast<const Camera *>(camera->data);
BLI_assert(camera->type == OB_CAMERA);
@@ -1222,7 +1221,7 @@ CameraBGImage *BKE_camera_background_image_new(Camera *cam)
return bgpic;
}
CameraBGImage *BKE_camera_background_image_copy(CameraBGImage *bgpic_src, const int flag)
CameraBGImage *BKE_camera_background_image_copy(const CameraBGImage *bgpic_src, const int flag)
{
CameraBGImage *bgpic_dst = static_cast<CameraBGImage *>(MEM_dupallocN(bgpic_src));
+1 -1
View File
@@ -20,7 +20,7 @@ struct ProjCameraInfo;
* \param rotmat: can be `obedit->object_to_world().ptr()` when uv project is used.
* \param winx, winy: can be from `scene->r.xsch / ysch`.
*/
struct ProjCameraInfo *BLI_uvproject_camera_info(struct Object *ob,
struct ProjCameraInfo *BLI_uvproject_camera_info(const struct Object *ob,
const float rotmat[4][4],
float winx,
float winy);
+2 -2
View File
@@ -121,13 +121,13 @@ void BLI_uvproject_from_view(float target[2],
target[1] = (y + target[1]) / winy;
}
ProjCameraInfo *BLI_uvproject_camera_info(Object *ob,
ProjCameraInfo *BLI_uvproject_camera_info(const Object *ob,
const float rotmat[4][4],
float winx,
float winy)
{
ProjCameraInfo uci;
Camera *camera = static_cast<Camera *>(ob->data);
const Camera *camera = static_cast<Camera *>(ob->data);
uci.do_pano = (camera->type == CAM_PANO);
uci.do_persp = (camera->type == CAM_PERSP);
@@ -188,7 +188,7 @@ int EEVEE_depth_of_field_init(EEVEE_ViewLayerData * /*sldata*/, EEVEE_Data *veda
const DRWContextState *draw_ctx = DRW_context_state_get();
const Scene *scene_eval = DEG_get_evaluated_scene(draw_ctx->depsgraph);
Camera *cam = static_cast<Camera *>(
const Camera *cam = static_cast<const Camera *>(
(camera != nullptr && camera->type == OB_CAMERA) ? camera->data : nullptr);
if (cam && (cam->dof.flag & CAM_DOF_ENABLED)) {
@@ -36,7 +36,7 @@ struct ShaderParameters {
use_premul_alpha = BKE_image_has_gpu_texture_premultiplied_alpha(image, image_buffer);
if (scene->camera && scene->camera->type == OB_CAMERA) {
Camera *camera = static_cast<Camera *>(scene->camera->data);
const Camera *camera = static_cast<const Camera *>(scene->camera->data);
copy_v2_fl2(far_near, camera->clip_end, camera->clip_start);
}
space->get_shader_parameters(*this, image_buffer);
@@ -1008,7 +1008,7 @@ static float camera_offaxis_shiftx_get(Scene *scene,
const OVERLAY_CameraInstanceData *instdata,
bool right_eye)
{
Camera *cam = static_cast<Camera *>(ob->data);
const Camera *cam = static_cast<const Camera *>(ob->data);
if (cam->stereo.convergence_mode == CAM_S3D_OFFAXIS) {
const char *viewnames[2] = {STEREO_LEFT_NAME, STEREO_RIGHT_NAME};
const float shiftx = BKE_camera_multiview_shift_x(&scene->r, ob, viewnames[right_eye]);
@@ -1030,7 +1030,7 @@ static void camera_stereoscopy_extra(OVERLAY_ExtraCallBuffers *cb,
const OVERLAY_CameraInstanceData *instdata)
{
OVERLAY_CameraInstanceData stereodata = *instdata;
Camera *cam = static_cast<Camera *>(ob->data);
const Camera *cam = static_cast<const Camera *>(ob->data);
const bool is_select = DRW_state_is_select();
const char *viewnames[2] = {STEREO_LEFT_NAME, STEREO_RIGHT_NAME};
@@ -1134,8 +1134,8 @@ void OVERLAY_camera_cache_populate(OVERLAY_Data *vedata, Object *ob)
Scene *scene = draw_ctx->scene;
RegionView3D *rv3d = draw_ctx->rv3d;
Camera *cam = static_cast<Camera *>(ob->data);
Object *camera_object = DEG_get_evaluated_object(draw_ctx->depsgraph, v3d->camera);
const Camera *cam = static_cast<Camera *>(ob->data);
const Object *camera_object = DEG_get_evaluated_object(draw_ctx->depsgraph, v3d->camera);
const bool is_select = DRW_state_is_select();
const bool is_active = (ob == camera_object);
const bool look_through = (is_active && (rv3d->persp == RV3D_CAMOB));
@@ -295,7 +295,7 @@ void OVERLAY_image_camera_cache_populate(OVERLAY_Data *vedata, Object *ob)
const DRWContextState *draw_ctx = DRW_context_state_get();
const View3D *v3d = draw_ctx->v3d;
const Scene *scene = draw_ctx->scene;
Camera *cam = static_cast<Camera *>(ob->data);
const Camera *cam = static_cast<Camera *>(ob->data);
const bool show_frame = BKE_object_empty_image_frame_is_visible_in_view3d(ob, draw_ctx->rv3d);
@@ -115,7 +115,7 @@ void DofPass::init(const SceneState &scene_state)
coc_halfres_tx_.ensure_mip_views();
coc_halfres_tx_.filter_mode(true);
Camera *camera = scene_state.camera;
const Camera *camera = scene_state.camera;
/* Parameters */
float fstop = camera->dof.aperture_fstop;
@@ -1219,8 +1219,7 @@ static const char *view3d_get_name(View3D *v3d, RegionView3D *rv3d)
default:
if (rv3d->persp == RV3D_CAMOB) {
if ((v3d->camera) && (v3d->camera->type == OB_CAMERA)) {
Camera *cam;
cam = static_cast<Camera *>(v3d->camera->data);
const Camera *cam = static_cast<const Camera *>(v3d->camera->data);
if (cam->type == CAM_PERSP) {
name = IFACE_("Camera Perspective");
}
@@ -63,7 +63,7 @@ static bool WIDGETGROUP_camera_poll(const bContext *C, wmGizmoGroupType * /*gzgt
if (base && BASE_SELECTABLE(v3d, base)) {
Object *ob = base->object;
if (ob->type == OB_CAMERA) {
Camera *camera = static_cast<Camera *>(ob->data);
const Camera *camera = static_cast<Camera *>(ob->data);
/* TODO: support overrides. */
if (BKE_id_is_editable(CTX_data_main(C), &camera->id)) {
return true;
@@ -3011,7 +3011,7 @@ static int uv_from_view_invoke(bContext *C, wmOperator *op, const wmEvent * /*ev
{
View3D *v3d = CTX_wm_view3d(C);
RegionView3D *rv3d = CTX_wm_region_view3d(C);
Camera *camera = ED_view3d_camera_data_get(v3d, rv3d);
const Camera *camera = ED_view3d_camera_data_get(v3d, rv3d);
PropertyRNA *prop;
prop = RNA_struct_find_property(op->ptr, "camera_bounds");
@@ -3033,7 +3033,7 @@ static int uv_from_view_exec(bContext *C, wmOperator *op)
ARegion *region = CTX_wm_region(C);
View3D *v3d = CTX_wm_view3d(C);
RegionView3D *rv3d = CTX_wm_region_view3d(C);
Camera *camera = ED_view3d_camera_data_get(v3d, rv3d);
const Camera *camera = ED_view3d_camera_data_get(v3d, rv3d);
BMFace *efa;
BMLoop *l;
BMIter iter, liter;
@@ -3615,7 +3615,7 @@ static LineartData *lineart_create_render_buffer_v3(Scene *scene,
if (!scene || !camera || !lc) {
return nullptr;
}
Camera *c = static_cast<Camera *>(camera->data);
const Camera *c = static_cast<Camera *>(camera->data);
double clipping_offset = 0;
if (lmd->calculation_flags & MOD_LINEART_ALLOW_CLIPPING_BOUNDARIES) {
@@ -30,7 +30,7 @@ ABCCameraWriter::ABCCameraWriter(const ABCWriterConstructorArgs &args) : ABCAbst
bool ABCCameraWriter::is_supported(const HierarchyContext *context) const
{
Camera *camera = static_cast<Camera *>(context->object->data);
const Camera *camera = static_cast<const Camera *>(context->object->data);
return camera->type == CAM_PERSP;
}
@@ -69,7 +69,7 @@ Alembic::Abc::OCompoundProperty ABCCameraWriter::abc_prop_for_custom_props()
void ABCCameraWriter::do_write(HierarchyContext &context)
{
Camera *cam = static_cast<Camera *>(context.object->data);
const Camera *cam = static_cast<const Camera *>(context.object->data);
abc_stereo_distance_.set(cam->stereo.convergence_distance);
abc_eye_separation_.set(cam->stereo.interocular_distance);
+1 -1
View File
@@ -95,7 +95,7 @@ inline bAction *bc_getSceneCameraAction(Object *ob)
return NULL;
}
Camera *camera = (Camera *)ob->data;
const Camera *camera = (const Camera *)ob->data;
return (camera->adt && camera->adt->action) ? camera->adt->action : NULL;
}
@@ -21,7 +21,7 @@ USDCameraWriter::USDCameraWriter(const USDExporterContext &ctx) : USDAbstractWri
bool USDCameraWriter::is_supported(const HierarchyContext *context) const
{
Camera *camera = static_cast<Camera *>(context->object->data);
const Camera *camera = static_cast<const Camera *>(context->object->data);
return camera->type == CAM_PERSP;
}
@@ -61,7 +61,7 @@ void USDCameraWriter::do_write(HierarchyContext &context)
pxr::UsdGeomCamera usd_camera = pxr::UsdGeomCamera::Define(usd_export_context_.stage,
usd_export_context_.usd_path);
Camera *camera = static_cast<Camera *>(context.object->data);
const Camera *camera = static_cast<const Camera *>(context.object->data);
Scene *scene = DEG_get_evaluated_scene(usd_export_context_.depsgraph);
usd_camera.CreateProjectionAttr().Set(pxr::UsdGeomTokens->perspective);
+7 -7
View File
@@ -36,7 +36,7 @@
static float rna_Camera_angle_get(PointerRNA *ptr)
{
Camera *cam = (Camera *)ptr->owner_id;
const Camera *cam = (const Camera *)ptr->owner_id;
float sensor = BKE_camera_sensor_size(cam->sensor_fit, cam->sensor_x, cam->sensor_y);
return focallength_to_fov(cam->lens, sensor);
}
@@ -50,7 +50,7 @@ static void rna_Camera_angle_set(PointerRNA *ptr, float value)
static float rna_Camera_angle_x_get(PointerRNA *ptr)
{
Camera *cam = (Camera *)ptr->owner_id;
const Camera *cam = (const Camera *)ptr->owner_id;
return focallength_to_fov(cam->lens, cam->sensor_x);
}
@@ -62,7 +62,7 @@ static void rna_Camera_angle_x_set(PointerRNA *ptr, float value)
static float rna_Camera_angle_y_get(PointerRNA *ptr)
{
Camera *cam = (Camera *)ptr->owner_id;
const Camera *cam = (const Camera *)ptr->owner_id;
return focallength_to_fov(cam->lens, cam->sensor_y);
}
@@ -120,7 +120,7 @@ static void rna_Camera_background_images_clear(Camera *cam)
static std::optional<std::string> rna_Camera_background_image_path(const PointerRNA *ptr)
{
const CameraBGImage *bgpic = static_cast<const CameraBGImage *>(ptr->data);
Camera *camera = (Camera *)ptr->owner_id;
const Camera *camera = (const Camera *)ptr->owner_id;
const int bgpic_index = BLI_findindex(&camera->bg_images, bgpic);
@@ -135,7 +135,7 @@ std::optional<std::string> rna_CameraBackgroundImage_image_or_movieclip_user_pat
const PointerRNA *ptr)
{
const char *user = static_cast<const char *>(ptr->data);
Camera *camera = (Camera *)ptr->owner_id;
const Camera *camera = (const Camera *)ptr->owner_id;
int bgpic_index = BLI_findindex(&camera->bg_images, user - offsetof(CameraBGImage, iuser));
if (bgpic_index >= 0) {
@@ -162,7 +162,7 @@ static bool rna_Camera_background_images_override_apply(
"Unsupported RNA override operation on background images collection");
Camera *cam_dst = (Camera *)ptr_dst->owner_id;
Camera *cam_src = (Camera *)ptr_src->owner_id;
const Camera *cam_src = (const Camera *)ptr_src->owner_id;
/* Remember that insertion operations are defined and stored in correct order, which means that
* even if we insert several items in a row, we always insert first one, then second one, etc.
@@ -171,7 +171,7 @@ static bool rna_Camera_background_images_override_apply(
BLI_findlink(&cam_dst->bg_images, opop->subitem_reference_index));
/* If `bgpic_anchor` is nullptr, `bgpic_src` will be inserted in first position. */
CameraBGImage *bgpic_src = static_cast<CameraBGImage *>(
const CameraBGImage *bgpic_src = static_cast<const CameraBGImage *>(
BLI_findlink(&cam_src->bg_images, opop->subitem_local_index));
if (bgpic_src == nullptr) {
@@ -139,14 +139,13 @@ static Mesh *uvprojectModifier_do(UVProjectModifierData *umd,
for (int i = 0; i < projectors_num; i++) {
float tmpmat[4][4];
float offsetmat[4][4];
Camera *cam = nullptr;
/* calculate projection matrix */
invert_m4_m4(projectors[i].projmat, projectors[i].ob->object_to_world().ptr());
projectors[i].uci = nullptr;
if (projectors[i].ob->type == OB_CAMERA) {
cam = (Camera *)projectors[i].ob->data;
const Camera *cam = (const Camera *)projectors[i].ob->data;
if (cam->type == CAM_PANO) {
projectors[i].uci = BLI_uvproject_camera_info(projectors[i].ob, nullptr, aspx, aspy);
BLI_uvproject_camera_info_scale(