36 if ((points[
i].
y <
y && points[prev].
y >=
y) || (points[prev].
y <
y && points[
i].
y >=
y)) {
37 float fac = (
y - points[
i].
y) / (points[prev].
y - points[
i].
y);
39 if (points[
i].
x + fac * (points[prev].
x - points[
i].
x) <
x) {
61 stroke = stroke->
next;
77 bool place_outside_layer)
92 xu = (
x + 0.5) / width;
93 yu = (
y + 0.5) / height;
101 tracking, tracksbase, xu, yu, framenr, width, height);
114 bool place_outside_layer,
126 if (features !=
nullptr) {
128 tracking, tracksbase, features, framenr, ibuf->
x, ibuf->
y, layer, place_outside_layer);
142 bool place_outside_layer)
148 options.min_distance = min_distance;
149 options.fast_min_trackness = min_trackness;
152 tracking, tracksbase, ibuf, framenr, layer, place_outside_layer, &
options);
163 bool place_outside_layer)
169 options.min_distance = min_distance;
170 options.harris_threshold = threshold;
173 tracking, tracksbase, ibuf, framenr, layer, place_outside_layer, &
options);
struct MovieTrackingTrack * BKE_tracking_track_add(struct MovieTracking *tracking, struct ListBase *tracksbase, float x, float y, int framenr, int width, int height)
Object is a sort of wrapper for general info.
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
CCL_NAMESPACE_BEGIN struct Options options
void libmv_getFeature(const libmv_Features *libmv_features, int number, double *x, double *y, double *score, double *size)
libmv_Features * libmv_detectFeaturesByte(const unsigned char *image_buffer, int width, int height, int channels, libmv_DetectOptions *options)
void libmv_featuresDestroy(libmv_Features *libmv_features)
libmv_Features * libmv_detectFeaturesFloat(const float *image_buffer, int width, int height, int channels, libmv_DetectOptions *options)
int libmv_countFeatures(const libmv_Features *libmv_features)
ImBufFloatBuffer float_buffer
ImBufByteBuffer byte_buffer
static bool check_point_in_stroke(bGPDstroke *stroke, float x, float y)
static void run_configured_detector(MovieTracking *tracking, ListBase *tracksbase, ImBuf *ibuf, int framenr, bGPDlayer *layer, bool place_outside_layer, libmv_DetectOptions *options)
void BKE_tracking_detect_fast(MovieTracking *tracking, ListBase *tracksbase, ImBuf *ibuf, int framenr, int margin, int min_trackness, int min_distance, bGPDlayer *layer, bool place_outside_layer)
static bool check_point_in_layer(bGPDlayer *layer, float x, float y)
void BKE_tracking_detect_harris(MovieTracking *tracking, ListBase *tracksbase, ImBuf *ibuf, int framenr, int margin, float threshold, int min_distance, bGPDlayer *layer, bool place_outside_layer)
static void detect_retrieve_libmv_features(MovieTracking *tracking, ListBase *tracksbase, libmv_Features *features, int framenr, int width, int height, bGPDlayer *layer, bool place_outside_layer)