Cleanup: use const pointers where camera data isn't modified
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
@@ -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));
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user