80 tracking->
stats = MEM_cnew<MovieTrackingStats>(
"solve camera stats");
116 if (scj->
wm !=
nullptr) {
129 if (error_message[0]) {
134 scj->
reports,
RPT_WARNING,
"Some data failed to reconstruct (see console for details)");
141 "Average re-projection error: %.2f px",
146 if (scene->
clip !=
nullptr) {
165 tracking->
stats =
nullptr;
182 char error_msg[256] =
"\0";
183 scj = MEM_cnew<SolveCameraJob>(
"SolveCameraJob data");
206 char error_msg[256] =
"\0";
213 scj = MEM_cnew<SolveCameraJob>(
"SolveCameraJob data");
258 switch (event->
type) {
269 ot->name =
"Solve Camera";
270 ot->description =
"Solve camera motion from tracks";
271 ot->idname =
"CLIP_OT_solve_camera";
298 reconstruction->
camnr = 0;
312 ot->name =
"Clear Solution";
313 ot->description =
"Clear all calculated data";
314 ot->idname =
"CLIP_OT_clear_solution";
ScrArea * CTX_wm_area(const bContext *C)
wmWindow * CTX_wm_window(const bContext *C)
Scene * CTX_data_scene(const bContext *C)
SpaceClip * CTX_wm_space_clip(const bContext *C)
wmWindowManager * CTX_wm_manager(const bContext *C)
void BKE_movieclip_get_size(struct MovieClip *clip, const struct MovieClipUser *user, int *r_width, int *r_height)
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
void BKE_tracking_reconstruction_context_free(struct MovieReconstructContext *context)
void BKE_tracking_reconstruction_solve(struct MovieReconstructContext *context, bool *stop, bool *do_update, float *progress, char *stats_message, int message_size)
bool BKE_tracking_reconstruction_finish(struct MovieReconstructContext *context, struct MovieTracking *tracking)
struct MovieTrackingObject * BKE_tracking_object_get_active(const struct MovieTracking *tracking)
void BKE_tracking_camera_to_blender(struct MovieTracking *tracking, struct Scene *scene, struct Camera *camera, int width, int height)
const char * BKE_tracking_reconstruction_error_message_get(const struct MovieReconstructContext *context)
bool BKE_tracking_reconstruction_check(struct MovieTracking *tracking, struct MovieTrackingObject *tracking_object, char *error_msg, int error_size)
struct MovieReconstructContext * BKE_tracking_reconstruction_context_new(struct MovieClip *clip, struct MovieTrackingObject *tracking_object, int keyframe1, int keyframe2, int width, int height)
#define LISTBASE_FOREACH(type, var, list)
#define STRNCPY(dst, src)
void DEG_id_tag_update(ID *id, unsigned int flags)
Object is a sort of wrapper for general info.
MovieClip * ED_space_clip_get_clip(const SpaceClip *sc)
bool ED_space_clip_tracking_poll(bContext *C)
Read Guarded memory(de)allocation.
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Gabor Generate Gabor noise Gradient Generate interpolated color and intensity values based on the input vector Magic Generate a psychedelic color texture Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a or normal between camera
@ WM_JOB_TYPE_CLIP_SOLVE_CAMERA
void MEM_freeN(void *vmemh)
struct MovieTracking tracking
MovieTrackingReconstruction reconstruction
struct MovieReconstructedCamera * cameras
MovieTrackingStats * stats
MovieReconstructContext * context
struct MovieClipUser user
struct ReportList * reports
static int clear_solution_exec(bContext *C, wmOperator *)
static bool solve_camera_initjob(bContext *C, SolveCameraJob *scj, wmOperator *op, char *error_msg, int max_error)
void CLIP_OT_clear_solution(wmOperatorType *ot)
static void solve_camera_startjob(void *scv, wmJobWorkerStatus *worker_status)
static int solve_camera_modal(bContext *C, wmOperator *, const wmEvent *event)
static int solve_camera_invoke(bContext *C, wmOperator *op, const wmEvent *)
void CLIP_OT_solve_camera(wmOperatorType *ot)
static void solve_camera_freejob(void *scv)
static void solve_camera_updatejob(void *scv)
static int solve_camera_exec(bContext *C, wmOperator *op)
void WM_cursor_wait(bool val)
void WM_main_add_notifier(uint type, void *reference)
wmEventHandler_Op * WM_event_add_modal_handler(bContext *C, wmOperator *op)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
void WM_set_locked_interface(wmWindowManager *wm, bool lock)
void WM_jobs_timer(wmJob *wm_job, double time_step, uint note, uint endnote)
void WM_jobs_start(wmWindowManager *wm, wmJob *wm_job)
wmJob * WM_jobs_get(wmWindowManager *wm, wmWindow *win, const void *owner, const char *name, const eWM_JobFlag flag, const eWM_JobType job_type)
void WM_jobs_callbacks(wmJob *wm_job, wm_jobs_start_callback startjob, void(*initjob)(void *), void(*update)(void *), void(*endjob)(void *))
bool WM_jobs_test(const wmWindowManager *wm, const void *owner, int job_type)
void WM_jobs_customdata_set(wmJob *wm_job, void *customdata, void(*free)(void *customdata))