Blender
V3.3
|
#include "MEM_guardedalloc.h"
#include "BLI_math.h"
#include "BLT_translation.h"
#include "DNA_gpencil_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_gpencil.h"
#include "BKE_image.h"
#include "BKE_layer.h"
#include "BKE_lib_id.h"
#include "BKE_main.h"
#include "BKE_object.h"
#include "BKE_report.h"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "WM_api.h"
#include "WM_types.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "IMB_imbuf_types.h"
#include "ED_gpencil.h"
#include "ED_object.h"
#include "gpencil_intern.h"
#include "gpencil_trace.h"
Go to the source code of this file.
Classes | |
struct | TraceJob |
Typedefs | |
typedef struct TraceJob | TraceJob |
Functions | |
static bool | gpencil_trace_image (TraceJob *trace_job, ImBuf *ibuf, bGPDframe *gpf) |
static bool | gpencil_trace_image_poll (bContext *C) |
static void | trace_initialize_job_data (TraceJob *trace_job) |
static void | trace_start_job (void *customdata, short *stop, short *do_update, float *progress) |
static void | trace_end_job (void *customdata) |
static void | trace_free_job (void *customdata) |
static int | gpencil_trace_image_exec (bContext *C, wmOperator *op) |
static int | gpencil_trace_image_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event)) |
void | GPENCIL_OT_trace_image (wmOperatorType *ot) |
void GPENCIL_OT_trace_image | ( | wmOperatorType * | ot | ) |
Definition at line 372 of file gpencil_trace_ops.c.
References wmOperatorType::description, wmOperatorType::exec, wmOperatorType::flag, GP_TARGET_OB_NEW, GP_TARGET_OB_SELECTED, gpencil_trace_image_exec(), gpencil_trace_image_invoke(), gpencil_trace_image_poll(), GPENCIL_TRACE_MODE_SEQUENCE, GPENCIL_TRACE_MODE_SINGLE, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, NULL, OPTYPE_REGISTER, OPTYPE_UNDO, ot, wmOperatorType::poll, wmOperatorType::prop, PROP_SKIP_SAVE, RNA_def_boolean(), RNA_def_enum(), RNA_def_float(), RNA_def_float_factor(), RNA_def_int(), RNA_def_property_flag(), and wmOperatorType::srna.
Referenced by ED_operatortypes_gpencil().
Trace a image.
ibuf | Image buffer. |
gpf | Destination frame. |
Definition at line 87 of file gpencil_trace_ops.c.
References bm, TraceJob::bmain, ED_gpencil_trace_bitmap_free(), ED_gpencil_trace_bitmap_new(), ED_gpencil_trace_data_to_strokes(), ED_gpencil_trace_image_to_bitmap(), float(), NULL, TraceJob::ob_gpencil, offset, TraceJob::resolution, TraceJob::sample, TraceJob::scale, usdtokens::st(), TraceJob::thickness, TraceJob::threshold, TraceJob::turnpolicy, ImBuf::x, and ImBuf::y.
Referenced by trace_start_job().
|
static |
Definition at line 291 of file gpencil_trace_ops.c.
References TraceJob::base_active, BKE_object_obdata_is_libdata(), BKE_report(), BKE_view_layer_non_active_selected_object(), TraceJob::bmain, TraceJob::C, C, RenderData::cfra, CTX_data_active_base(), CTX_data_active_object(), CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_manager(), CTX_wm_view3d(), CTX_wm_window(), Object::data, ED_object_base_activate(), TraceJob::frame_num, TraceJob::frame_target, GP_TARGET_OB_SELECTED, IMA_SRC_FILE, TraceJob::image, MEM_mallocN, TraceJob::mode, NC_GEOM, ND_DATA, NULL, TraceJob::ob_active, TraceJob::ob_gpencil, OB_GPENCIL, Base::object, OPERATOR_FINISHED, TraceJob::owner, wmOperator::ptr, Scene::r, wmOperator::reports, TraceJob::resolution, RNA_boolean_get(), RNA_enum_get(), RNA_float_get(), RNA_int_get(), RPT_WARNING, TraceJob::sample, TraceJob::scale, scene, TraceJob::scene, Image::source, TraceJob::thickness, TraceJob::threshold, trace_end_job(), trace_free_job(), trace_initialize_job_data(), trace_start_job(), TraceJob::turnpolicy, Object::type, TraceJob::use_current_frame, TraceJob::v3d, TraceJob::was_ob_created, TraceJob::wm, WM_JOB_PROGRESS, WM_JOB_TYPE_TRACE_IMAGE, WM_jobs_callbacks(), WM_jobs_customdata_set(), WM_jobs_get(), WM_jobs_start(), and WM_jobs_timer().
Referenced by GPENCIL_OT_trace_image().
|
static |
Definition at line 365 of file gpencil_trace_ops.c.
References C, and WM_operator_props_dialog_popup().
Referenced by GPENCIL_OT_trace_image().
Definition at line 156 of file gpencil_trace_ops.c.
References C, CTX_data_active_object(), CTX_wm_operator_poll_msg_set(), Object::data, ELEM, if(), IMA_SRC_FILE, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE, image(), NULL, OB_EMPTY, and Object::type.
Referenced by GPENCIL_OT_trace_image().
Definition at line 263 of file gpencil_trace_ops.c.
References BKE_id_delete(), TraceJob::bmain, Object::data, DEG_id_tag_update(), DEG_relations_tag_update(), TraceJob::gpd, bGPdata::id, Object::id, Scene::id, ID_RECALC_COPY_ON_WRITE, ID_RECALC_GEOMETRY, ID_RECALC_SELECT, NA_ADDED, NC_OBJECT, NC_SCENE, ND_OB_ACTIVE, NULL, TraceJob::ob_gpencil, TraceJob::scene, TraceJob::success, TraceJob::was_canceled, TraceJob::was_ob_created, and WM_main_add_notifier().
Referenced by gpencil_trace_image_exec().
Definition at line 285 of file gpencil_trace_ops.c.
References MEM_freeN.
Referenced by gpencil_trace_image_exec().
Definition at line 173 of file gpencil_trace_ops.c.
References BKE_gpencil_layer_active_get(), BKE_gpencil_layer_addnew(), TraceJob::C, copy_v3_v3(), Object::data, DATA_, DEG2RADF, ED_gpencil_add_object(), Object::empty_drawsize, TraceJob::gpd, TraceJob::gpl, Object::loc, View3D::local_view_uuid, View3D::localvd, mul_v3_fl(), NULL, TraceJob::ob_active, TraceJob::ob_gpencil, Object::rot, Object::scale, TraceJob::v3d, and TraceJob::was_ob_created.
Referenced by gpencil_trace_image_exec().
|
static |
Definition at line 201 of file gpencil_trace_ops.c.
References BKE_gpencil_layer_frame_get(), BKE_image_acquire_ibuf(), BKE_image_release_ibuf(), TraceJob::do_update, float(), TraceJob::frame_num, TraceJob::frame_target, ImageUser::framenr, ImageUser::frames, G, GP_GETFRAME_ADD_NEW, gpencil_trace_image(), GPENCIL_TRACE_MODE_SINGLE, TraceJob::gpl, IMA_SRC_FILE, IMA_TYPE_IMAGE, TraceJob::image, Object::iuser, lock, max_ii(), TraceJob::mode, TraceJob::ob_active, TraceJob::progress, Image::source, TraceJob::stop, TraceJob::success, Image::type, TraceJob::use_current_frame, and TraceJob::was_canceled.
Referenced by gpencil_trace_image_exec().