[Bf-blender-cvs] [44d7ec7e805] master: Clip Editor: Migrate orientation file to C++

Sergey Sharybin noreply at git.blender.org
Tue Nov 22 11:54:21 CET 2022


Commit: 44d7ec7e80596e53253152e3b71c8c9603e32270
Author: Sergey Sharybin
Date:   Fri Sep 30 12:04:32 2022 +0200
Branches: master
https://developer.blender.org/rB44d7ec7e80596e53253152e3b71c8c9603e32270

Clip Editor: Migrate orientation file to C++

Should be no functional changes.

Some of the code is suboptimal from C++ syntax point of view.
It will be worked on as a further development.

===================================================================

M	source/blender/editors/space_clip/CMakeLists.txt
M	source/blender/editors/space_clip/clip_intern.h
R097	source/blender/editors/space_clip/tracking_ops_orient.c	source/blender/editors/space_clip/tracking_ops_orient.cc

===================================================================

diff --git a/source/blender/editors/space_clip/CMakeLists.txt b/source/blender/editors/space_clip/CMakeLists.txt
index 011072270db..6a2b5cbfc8d 100644
--- a/source/blender/editors/space_clip/CMakeLists.txt
+++ b/source/blender/editors/space_clip/CMakeLists.txt
@@ -36,7 +36,7 @@ set(SRC
   space_clip.c
   tracking_ops.c
   tracking_ops_detect.c
-  tracking_ops_orient.c
+  tracking_ops_orient.cc
   tracking_ops_plane.c
   tracking_ops_solve.c
   tracking_ops_stabilize.c
diff --git a/source/blender/editors/space_clip/clip_intern.h b/source/blender/editors/space_clip/clip_intern.h
index 2efd6b6b473..1e329ee1175 100644
--- a/source/blender/editors/space_clip/clip_intern.h
+++ b/source/blender/editors/space_clip/clip_intern.h
@@ -7,6 +7,10 @@
 
 #pragma once
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 struct ARegion;
 struct MovieClip;
 struct MovieTrackingMarker;
@@ -262,3 +266,7 @@ void CLIP_OT_select_box(struct wmOperatorType *ot);
 void CLIP_OT_select_lasso(struct wmOperatorType *ot);
 void CLIP_OT_select_circle(struct wmOperatorType *ot);
 void CLIP_OT_select_grouped(struct wmOperatorType *ot);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/source/blender/editors/space_clip/tracking_ops_orient.c b/source/blender/editors/space_clip/tracking_ops_orient.cc
similarity index 97%
rename from source/blender/editors/space_clip/tracking_ops_orient.c
rename to source/blender/editors/space_clip/tracking_ops_orient.cc
index c6d4a6ad104..6c6490ea357 100644
--- a/source/blender/editors/space_clip/tracking_ops_orient.c
+++ b/source/blender/editors/space_clip/tracking_ops_orient.cc
@@ -109,7 +109,7 @@ static int count_selected_bundles(bContext *C)
   MovieClip *clip = ED_space_clip_get_clip(sc);
   ListBase *tracksbase = BKE_tracking_get_active_tracks(&clip->tracking);
   int tot = 0;
-  for (MovieTrackingTrack *track = tracksbase->first; track != NULL; track = track->next) {
+  LISTBASE_FOREACH (MovieTrackingTrack *, track, tracksbase) {
     if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_HAS_BUNDLE)) {
       tot++;
     }
@@ -120,7 +120,7 @@ static int count_selected_bundles(bContext *C)
 static void object_solver_inverted_matrix(Scene *scene, Object *ob, float invmat[4][4])
 {
   bool found = false;
-  for (bConstraint *con = ob->constraints.first; con != NULL; con = con->next) {
+  LISTBASE_FOREACH (bConstraint *, con, &ob->constraints) {
     const bConstraintTypeInfo *cti = BKE_constraint_typeinfo_get(con);
     if (cti == NULL) {
       continue;
@@ -145,7 +145,7 @@ static void object_solver_inverted_matrix(Scene *scene, Object *ob, float invmat
 
 static Object *object_solver_camera(Scene *scene, Object *ob)
 {
-  for (bConstraint *con = ob->constraints.first; con != NULL; con = con->next) {
+  LISTBASE_FOREACH (bConstraint *, con, &ob->constraints) {
     const bConstraintTypeInfo *cti = BKE_constraint_typeinfo_get(con);
     if (cti == NULL) {
       continue;
@@ -187,7 +187,7 @@ static int set_origin_exec(bContext *C, wmOperator *op)
 
   float median[3] = {0.0f, 0.0f, 0.0f};
   zero_v3(median);
-  for (MovieTrackingTrack *track = tracksbase->first; track != NULL; track = track->next) {
+  LISTBASE_FOREACH (MovieTrackingTrack *, track, tracksbase) {
     if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_HAS_BUNDLE)) {
       add_v3_v3(median, track->bundle_pos);
     }
@@ -410,7 +410,7 @@ static int set_plane_exec(bContext *C, wmOperator *op)
   BKE_tracking_get_camera_object_matrix(camera, mat);
 
   /* Get 3 bundles to use as reference. */
-  track = tracksbase->first;
+  track = static_cast<MovieTrackingTrack *>(tracksbase->first);
   while (track && tot < 3) {
     if (track->flag & TRACK_HAS_BUNDLE && TRACK_VIEW_SELECTED(sc, track)) {
       mul_v3_m4v3(vec[tot], mat, track->bundle_pos);
@@ -538,7 +538,7 @@ static int set_axis_exec(bContext *C, wmOperator *op)
   }
 
   ListBase *tracksbase = BKE_tracking_object_get_tracks(tracking, tracking_object);
-  MovieTrackingTrack *track = tracksbase->first;
+  MovieTrackingTrack *track = static_cast<MovieTrackingTrack *>(tracksbase->first);
   while (track) {
     if (TRACK_VIEW_SELECTED(sc, track) && (track->flag & TRACK_HAS_BUNDLE)) {
       break;
@@ -616,7 +616,7 @@ static int do_set_scale(bContext *C, wmOperator *op, bool scale_solution, bool a
 
   BKE_tracking_get_camera_object_matrix(camera, mat);
 
-  track = tracksbase->first;
+  track = static_cast<MovieTrackingTrack *>(tracksbase->first);
   while (track) {
     if (TRACK_VIEW_SELECTED(sc, track)) {
       mul_v3_m4v3(vec[tot], mat, track->bundle_pos);
@@ -636,7 +636,8 @@ static int do_set_scale(bContext *C, wmOperator *op, bool scale_solution, bool a
       MovieReconstructedCamera *reconstructed_cameras;
       int i;
 
-      for (track = tracksbase->first; track; track = track->next) {
+      for (track = static_cast<MovieTrackingTrack *>(tracksbase->first); track;
+           track = static_cast<MovieTrackingTrack *>(track->next)) {
         mul_v3_fl(track->bundle_pos, scale);
       }



More information about the Bf-blender-cvs mailing list