Blender  V3.3
tracksN.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2011 Blender Foundation. All rights reserved. */
3 
4 // TODO(serrgey): For the time being we're converting simple pipeline
5 // to an autotrack pipeline we call it tracks.
6 // Once we've done with porting we remove N.
7 
8 #ifndef LIBMV_C_API_TRACKSN_H_
9 #define LIBMV_C_API_TRACKSN_H_
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 typedef struct libmv_TracksN libmv_TracksN;
16 
17 // Keep order in this enums exactly the same as in mv::Marker.
18 // Otherwise API wouldn't convert the values properly.
19 typedef enum libmv_MarkerSource {
26 
27 typedef enum libmv_MarkerStatus {
32 
33 typedef enum libmv_MarkerModelType {
39 
44 };
45 
46 typedef struct libmv_Marker {
47  int clip;
48  int frame;
49  int track;
50  float center[2];
51  float patch[4][2];
54  float weight;
60  int model_id;
63 
64 #ifdef __cplusplus
65 namespace mv {
66 struct Marker;
67 }
68 void libmv_apiMarkerToMarker(const libmv_Marker& libmv_marker,
69  mv::Marker* marker);
70 
71 void libmv_markerToApiMarker(const mv::Marker& marker,
72  libmv_Marker* libmv_marker);
73 #endif
74 
76 
77 void libmv_tracksDestroyN(libmv_TracksN* libmv_tracks);
78 
79 void libmv_tracksAddMarkerN(libmv_TracksN* libmv_tracks,
80  const libmv_Marker* libmv_marker);
81 
82 void libmv_tracksGetMarkerN(libmv_TracksN* libmv_tracks,
83  int clip,
84  int frame,
85  int track,
86  libmv_Marker* libmv_marker);
87 
88 void libmv_tracksRemoveMarkerN(libmv_TracksN* libmv_tracks,
89  int clip,
90  int frame,
91  int track);
92 
93 void libmv_tracksRemoveMarkersForTrack(libmv_TracksN* libmv_tracks, int track);
94 
95 int libmv_tracksMaxClipN(libmv_TracksN* libmv_tracks);
96 int libmv_tracksMaxFrameN(libmv_TracksN* libmv_tracks, int clip);
97 int libmv_tracksMaxTrackN(libmv_TracksN* libmv_tracks);
98 int libmv_tracksNumMarkersN(libmv_TracksN* libmv_tracks);
99 
100 #ifdef __cplusplus
101 }
102 #endif
103 
104 #endif // LIBMV_C_API_TRACKS_H_
int track
Definition: tracksN.h:49
float search_region_max[2]
Definition: tracksN.h:53
float center[2]
Definition: tracksN.h:50
float search_region_min[2]
Definition: tracksN.h:52
int frame
Definition: tracksN.h:48
int disabled_channels
Definition: tracksN.h:61
libmv_MarkerModelType model_type
Definition: tracksN.h:59
float patch[4][2]
Definition: tracksN.h:51
int reference_frame
Definition: tracksN.h:58
int reference_clip
Definition: tracksN.h:57
float weight
Definition: tracksN.h:54
libmv_MarkerSource source
Definition: tracksN.h:55
int clip
Definition: tracksN.h:47
int model_id
Definition: tracksN.h:60
libmv_MarkerStatus status
Definition: tracksN.h:56
void libmv_apiMarkerToMarker(const libmv_Marker &libmv_marker, Marker *marker)
Definition: tracksN.cc:12
void libmv_markerToApiMarker(const Marker &marker, libmv_Marker *libmv_marker)
Definition: tracksN.cc:36
void libmv_tracksAddMarkerN(libmv_TracksN *libmv_tracks, const libmv_Marker *libmv_marker)
Definition: tracksN.cc:70
int libmv_tracksNumMarkersN(libmv_TracksN *libmv_tracks)
Definition: tracksN.cc:110
int libmv_tracksMaxClipN(libmv_TracksN *libmv_tracks)
Definition: tracksN.cc:98
libmv_TracksN * libmv_tracksNewN(void)
Definition: tracksN.cc:60
libmv_MarkerChannel
Definition: tracksN.h:40
@ LIBMV_MARKER_CHANNEL_B
Definition: tracksN.h:43
@ LIBMV_MARKER_CHANNEL_G
Definition: tracksN.h:42
@ LIBMV_MARKER_CHANNEL_R
Definition: tracksN.h:41
int libmv_tracksMaxTrackN(libmv_TracksN *libmv_tracks)
Definition: tracksN.cc:106
libmv_MarkerSource
Definition: tracksN.h:19
@ LIBMV_MARKER_SOURCE_TRACKED
Definition: tracksN.h:22
@ LIBMV_MARKER_SOURCE_DETECTED
Definition: tracksN.h:21
@ LIBMV_MARKER_SOURCE_MANUAL
Definition: tracksN.h:20
@ LIBMV_MARKER_SOURCE_MATCHED
Definition: tracksN.h:23
@ LIBMV_MARKER_SOURCE_PREDICTED
Definition: tracksN.h:24
void libmv_tracksDestroyN(libmv_TracksN *libmv_tracks)
Definition: tracksN.cc:66
void libmv_tracksRemoveMarkersForTrack(libmv_TracksN *libmv_tracks, int track)
Definition: tracksN.cc:94
libmv_MarkerStatus
Definition: tracksN.h:27
@ LIBMV_MARKER_STATUS_OUTLIER
Definition: tracksN.h:30
@ LIBMV_MARKER_STATUS_UNKNOWN
Definition: tracksN.h:28
@ LIBMV_MARKER_STATUS_INLIER
Definition: tracksN.h:29
int libmv_tracksMaxFrameN(libmv_TracksN *libmv_tracks, int clip)
Definition: tracksN.cc:102
struct libmv_Marker libmv_Marker
struct libmv_TracksN libmv_TracksN
Definition: tracksN.h:15
void libmv_tracksRemoveMarkerN(libmv_TracksN *libmv_tracks, int clip, int frame, int track)
Definition: tracksN.cc:87
libmv_MarkerModelType
Definition: tracksN.h:33
@ LIBMV_MARKER_MODEL_TYPE_LINE
Definition: tracksN.h:36
@ LIBMV_MARKER_MODEL_TYPE_POINT
Definition: tracksN.h:34
@ LIBMV_MARKER_MODEL_TYPE_CUBE
Definition: tracksN.h:37
@ LIBMV_MARKER_MODEL_TYPE_PLANE
Definition: tracksN.h:35
void libmv_tracksGetMarkerN(libmv_TracksN *libmv_tracks, int clip, int frame, int track, libmv_Marker *libmv_marker)
Definition: tracksN.cc:77