/* set sample from accumulated values */ static void depthdropper_depth_set_accum(bContext *C, DepthDropper *ddr) { float depth = ddr->accum_depth; if (ddr->accum_tot) { depth /= (float)ddr->accum_tot; } depthdropper_depth_set(C, ddr, depth); }
/* single point sample & set */ static void depthdropper_depth_sample(bContext *C, DepthDropper *ddr, int mx, int my) { float depth = -1.0f; if (depth != -1.0f) { depthdropper_depth_sample_pt(C, ddr, mx, my, &depth); depthdropper_depth_set(C, ddr, depth); } }
static void depthdropper_cancel(bContext *C, wmOperator *op) { DepthDropper *ddr = op->customdata; if (ddr->is_set) { depthdropper_depth_set(C, ddr, ddr->init_depth); } depthdropper_exit(C, op); }