Merge branch 'blender-v2.81-release'

This commit is contained in:
Campbell Barton
2019-10-29 00:46:59 +11:00
11 changed files with 108 additions and 74 deletions

View File

@@ -173,46 +173,8 @@ void ED_widgetgroup_gizmo2d_setup(const struct bContext *C, struct wmGizmoGroup
void ED_widgetgroup_gizmo2d_refresh(const struct bContext *C, struct wmGizmoGroup *gzgroup);
void ED_widgetgroup_gizmo2d_draw_prepare(const struct bContext *C, struct wmGizmoGroup *gzgroup);
/* Snapping */
#define SNAP_MIN_DISTANCE 30
#define SNAP_INCREMENTAL_ANGLE DEG2RAD(5.0)
bool peelObjectsTransform(struct TransInfo *t,
const float mval[2],
const bool use_peel_object,
/* return args */
float r_loc[3],
float r_no[3],
float *r_thickness);
bool peelObjectsSnapContext(struct SnapObjectContext *sctx,
const float mval[2],
const struct SnapObjectParams *params,
const bool use_peel_object,
/* return args */
float r_loc[3],
float r_no[3],
float *r_thickness);
short snapObjectsTransform(struct TransInfo *t,
const float mval[2],
float *dist_px,
/* return args */
float r_loc[3],
float r_no[3]);
bool snapNodesTransform(struct TransInfo *t,
const int mval[2],
/* return args */
float r_loc[2],
float *r_dist_px,
char *r_node_border);
void snapFrameTransform(struct TransInfo *t,
const short autosnap,
const bool is_frame_value,
const float delta,
/* return args */
float *r_val);
void ED_transform_calc_orientation_from_type(const struct bContext *C, float r_mat[3][3]);
void ED_transform_calc_orientation_from_type_ex(const struct bContext *C,
float r_mat[3][3],

View File

@@ -71,6 +71,7 @@ set(SRC
transform.h
transform_convert.h
transform_snap.h
)
set(LIB

View File

@@ -95,6 +95,7 @@
#include "transform.h"
#include "transform_convert.h"
#include "transform_snap.h"
/* Disabling, since when you type you know what you are doing,
* and being able to set it to zero is handy. */
@@ -8959,9 +8960,7 @@ static void headerTimeTranslate(TransInfo *t, char str[UI_MAX_DRAW_STR])
outputNumInput(&(t->num), tvec, &t->scene->unit);
}
else {
const Scene *scene = t->scene;
const short autosnap = getAnimEdit_SnapMode(t);
const double secf = FPS;
float val = t->values_final[0];
float snap_val;

View File

@@ -935,40 +935,6 @@ void postSelectConstraint(TransInfo *t);
void setNearestAxis(TransInfo *t);
/*********************** Snapping ********************************/
typedef enum {
NO_GEARS = 0,
BIG_GEARS = 1,
SMALL_GEARS = 2,
} GearsType;
bool transformModeUseSnap(const TransInfo *t);
void snapGridIncrement(TransInfo *t, float *val);
void snapGridIncrementAction(TransInfo *t, float *val, GearsType action);
void snapSequenceBounds(TransInfo *t, const int mval[2]);
bool activeSnap(const TransInfo *t);
bool validSnap(const TransInfo *t);
void initSnapping(struct TransInfo *t, struct wmOperator *op);
void freeSnapping(struct TransInfo *t);
void applyProject(TransInfo *t);
void applyGridAbsolute(TransInfo *t);
void applySnapping(TransInfo *t, float *vec);
void resetSnapping(TransInfo *t);
eRedrawFlag handleSnapping(TransInfo *t, const struct wmEvent *event);
void drawSnapping(const struct bContext *C, TransInfo *t);
bool usingSnappingNormal(const TransInfo *t);
bool validSnappingNormal(const TransInfo *t);
void getSnapPoint(const TransInfo *t, float vec[3]);
void addSnapPoint(TransInfo *t);
eRedrawFlag updateSelectedSnapPoint(TransInfo *t);
void removeSnapPoint(TransInfo *t);
/********************** Mouse Input ******************************/
typedef enum {

View File

@@ -53,6 +53,7 @@
#include "UI_resources.h"
#include "transform.h"
#include "transform_snap.h"
static void drawObjectConstraint(TransInfo *t);

View File

@@ -52,6 +52,8 @@
#include "transform.h"
#include "transform_convert.h"
#include "transform_snap.h"
#include "bmesh.h"
/* Used for both mirror epsilon and TD_MIRROR_EDGE_ */

View File

@@ -37,6 +37,7 @@
#include "transform.h"
#include "transform_convert.h"
#include "transform_snap.h"
/* -------------------------------------------------------------------- */
/** \name Node Transform Creation

View File

@@ -111,6 +111,7 @@
#include "transform.h"
#include "transform_convert.h"
#include "transform_snap.h"
/* ************************** Functions *************************** */

View File

@@ -84,6 +84,7 @@
/* local module include */
#include "transform.h"
#include "transform_convert.h"
#include "transform_snap.h"
#include "MEM_guardedalloc.h"

View File

@@ -71,6 +71,7 @@
#include "MEM_guardedalloc.h"
#include "transform.h"
#include "transform_snap.h"
/* this should be passed as an arg for use in snap functions */
#undef BASACT
@@ -1627,6 +1628,9 @@ void snapFrameTransform(TransInfo *t,
}
break;
}
case SACTSNAP_OFF: {
break;
}
}
*r_val = (float)val;
}

View File

@@ -0,0 +1,96 @@
/*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/** \file
* \ingroup editors
*/
#ifndef __TRANSFORM_SNAP_H__
#define __TRANSFORM_SNAP_H__
#define SNAP_MIN_DISTANCE 30
/* For enum. */
#include "DNA_space_types.h"
bool peelObjectsTransform(struct TransInfo *t,
const float mval[2],
const bool use_peel_object,
/* return args */
float r_loc[3],
float r_no[3],
float *r_thickness);
bool peelObjectsSnapContext(struct SnapObjectContext *sctx,
const float mval[2],
const struct SnapObjectParams *params,
const bool use_peel_object,
/* return args */
float r_loc[3],
float r_no[3],
float *r_thickness);
short snapObjectsTransform(struct TransInfo *t,
const float mval[2],
float *dist_px,
/* return args */
float r_loc[3],
float r_no[3]);
bool snapNodesTransform(struct TransInfo *t,
const int mval[2],
/* return args */
float r_loc[2],
float *r_dist_px,
char *r_node_border);
void snapFrameTransform(struct TransInfo *t,
const eAnimEdit_AutoSnap autosnap,
const bool is_frame_value,
const float delta,
/* return args */
float *r_val);
typedef enum {
NO_GEARS = 0,
BIG_GEARS = 1,
SMALL_GEARS = 2,
} GearsType;
bool transformModeUseSnap(const TransInfo *t);
void snapGridIncrement(TransInfo *t, float *val);
void snapGridIncrementAction(TransInfo *t, float *val, GearsType action);
void snapSequenceBounds(TransInfo *t, const int mval[2]);
bool activeSnap(const TransInfo *t);
bool validSnap(const TransInfo *t);
void initSnapping(struct TransInfo *t, struct wmOperator *op);
void freeSnapping(struct TransInfo *t);
void applyProject(TransInfo *t);
void applyGridAbsolute(TransInfo *t);
void applySnapping(TransInfo *t, float *vec);
void resetSnapping(TransInfo *t);
eRedrawFlag handleSnapping(TransInfo *t, const struct wmEvent *event);
void drawSnapping(const struct bContext *C, TransInfo *t);
bool usingSnappingNormal(const TransInfo *t);
bool validSnappingNormal(const TransInfo *t);
void getSnapPoint(const TransInfo *t, float vec[3]);
void addSnapPoint(TransInfo *t);
eRedrawFlag updateSelectedSnapPoint(TransInfo *t);
void removeSnapPoint(TransInfo *t);
#endif /* __TRANSFORM_SNAP_H__ */