Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_constraint_types.h17
-rw-r--r--source/blender/makesdna/DNA_tracking_types.h27
2 files changed, 41 insertions, 3 deletions
diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h
index 87c680a6ee2..f5abf00bd44 100644
--- a/source/blender/makesdna/DNA_constraint_types.h
+++ b/source/blender/makesdna/DNA_constraint_types.h
@@ -412,6 +412,8 @@ typedef struct bFollowTrackConstraint {
struct MovieClip *clip;
char track[24];
int flag, pad;
+ char object[24];
+ struct Object *camera;
} bFollowTrackConstraint;
/* Camera Solver constraints */
@@ -420,6 +422,15 @@ typedef struct bCameraSolverConstraint {
int flag, pad;
} bCameraSolverConstraint;
+/* Camera Solver constraints */
+typedef struct bObjectSolverConstraint {
+ struct MovieClip *clip;
+ int flag, pad;
+ char object[24];
+ float invmat[4][4]; /* parent-inverse matrix to use */
+ struct Object *camera;
+} bObjectSolverConstraint;
+
/* ------------------------------------------ */
/* bConstraint->type
@@ -455,6 +466,7 @@ typedef enum eBConstraint_Types {
CONSTRAINT_TYPE_PIVOT, /* Pivot Constraint */
CONSTRAINT_TYPE_FOLLOWTRACK, /* Follow Track Constraint */
CONSTRAINT_TYPE_CAMERASOLVER, /* Camera Solver Constraint */
+ CONSTRAINT_TYPE_OBJECTSOLVER, /* Object Solver Constraint */
/* NOTE: no constraints are allowed to be added after this */
NUM_CONSTRAINT_TYPES
@@ -762,6 +774,11 @@ typedef enum eCameraSolver_Flags {
CAMERASOLVER_ACTIVECLIP = (1<<0)
} eCameraSolver_Flags;
+/* ObjectSolver Constraint -> flag */
+typedef enum eObjectSolver_Flags {
+ OBJECTSOLVER_ACTIVECLIP = (1<<0)
+} eObjectSolver_Flags;
+
/* Rigid-Body Constraint */
#define CONSTRAINT_DRAW_PIVOT 0x40
#define CONSTRAINT_DISABLE_LINKED_COLLISION 0x80
diff --git a/source/blender/makesdna/DNA_tracking_types.h b/source/blender/makesdna/DNA_tracking_types.h
index 82ccbf87c0b..25ae75dcb03 100644
--- a/source/blender/makesdna/DNA_tracking_types.h
+++ b/source/blender/makesdna/DNA_tracking_types.h
@@ -142,7 +142,10 @@ typedef struct MovieTrackingSettings {
/* cleanup */
int clean_frames, clean_action;
- float clean_error, pad;
+ float clean_error;
+
+ /* set object scale */
+ float object_distance; /* distance between two bundles used for object scaling */
} MovieTrackingSettings;
typedef struct MovieTrackingStabilization {
@@ -172,6 +175,17 @@ typedef struct MovieTrackingReconstruction {
struct MovieReconstructedCamera *cameras; /* reconstructed cameras */
} MovieTrackingReconstruction;
+typedef struct MovieTrackingObject {
+ struct MovieTrackingObject *next, *prev;
+
+ char name[24]; /* Name of tracking object */
+ int flag;
+ float scale; /* scale of object solution in amera space */
+
+ ListBase tracks; /* list of tracks use to tracking this object */
+ MovieTrackingReconstruction reconstruction; /* reconstruction data for this object */
+} MovieTrackingObject;
+
typedef struct MovieTrackingStats {
char message[256];
} MovieTrackingStats;
@@ -179,11 +193,14 @@ typedef struct MovieTrackingStats {
typedef struct MovieTracking {
MovieTrackingSettings settings; /* different tracking-related settings */
MovieTrackingCamera camera; /* camera intrinsics */
- ListBase tracks; /* all tracks */
- MovieTrackingReconstruction reconstruction; /* reconstruction data */
+ ListBase tracks; /* list of tracks used for camera object */
+ MovieTrackingReconstruction reconstruction; /* reconstruction data for camera object */
MovieTrackingStabilization stabilization; /* stabilization data */
MovieTrackingTrack *act_track; /* active track */
+ ListBase objects;
+ int objectnr, tot_object; /* index of active object and total number of objects */
+
MovieTrackingStats *stats; /* statistics displaying in clip editor */
} MovieTracking;
@@ -207,6 +224,7 @@ enum {
#define TRACK_LOCKED (1<<6)
#define TRACK_CUSTOMCOLOR (1<<7)
#define TRACK_USE_2D_STAB (1<<8)
+#define TRACK_PREVIEW_GRAYSCALE (1<<9)
/* MovieTrackingTrack->tracker */
#define TRACKER_KLT 0
@@ -241,6 +259,9 @@ enum {
/* MovieTrackingReconstruction->flag */
#define TRACKING_RECONSTRUCTED (1<<0)
+/* MovieTrackingObject->flag */
+#define TRACKING_OBJECT_CAMERA (1<<0)
+
#define TRACKING_CLEAN_SELECT 0
#define TRACKING_CLEAN_DELETE_TRACK 1
#define TRACKING_CLEAN_DELETE_SEGMENT 2