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/editors/include/ED_transform.h')
-rw-r--r--source/blender/editors/include/ED_transform.h240
1 files changed, 127 insertions, 113 deletions
diff --git a/source/blender/editors/include/ED_transform.h b/source/blender/editors/include/ED_transform.h
index 18573e92926..3605a245187 100644
--- a/source/blender/editors/include/ED_transform.h
+++ b/source/blender/editors/include/ED_transform.h
@@ -47,62 +47,65 @@ void transform_operatortypes(void);
/* MODE AND NUMINPUT FLAGS */
enum TfmMode {
- TFM_INIT = -1,
- TFM_DUMMY,
- TFM_TRANSLATION,
- TFM_ROTATION,
- TFM_RESIZE,
- TFM_SKIN_RESIZE,
- TFM_TOSPHERE,
- TFM_SHEAR,
- TFM_BEND,
- TFM_SHRINKFATTEN,
- TFM_TILT,
- TFM_TRACKBALL,
- TFM_PUSHPULL,
- TFM_CREASE,
- TFM_MIRROR,
- TFM_BONESIZE,
- TFM_BONE_ENVELOPE,
- TFM_CURVE_SHRINKFATTEN,
- TFM_MASK_SHRINKFATTEN,
- TFM_GPENCIL_SHRINKFATTEN,
- TFM_BONE_ROLL,
- TFM_TIME_TRANSLATE,
- TFM_TIME_SLIDE,
- TFM_TIME_SCALE,
- TFM_TIME_EXTEND,
- TFM_TIME_DUPLICATE,
- TFM_BAKE_TIME,
- TFM_DEPRECATED, /* was BEVEL */
- TFM_BWEIGHT,
- TFM_ALIGN,
- TFM_EDGE_SLIDE,
- TFM_VERT_SLIDE,
- TFM_SEQ_SLIDE,
- TFM_BONE_ENVELOPE_DIST,
- TFM_NORMAL_ROTATION,
- TFM_GPENCIL_OPACITY,
+ TFM_INIT = -1,
+ TFM_DUMMY,
+ TFM_TRANSLATION,
+ TFM_ROTATION,
+ TFM_RESIZE,
+ TFM_SKIN_RESIZE,
+ TFM_TOSPHERE,
+ TFM_SHEAR,
+ TFM_BEND,
+ TFM_SHRINKFATTEN,
+ TFM_TILT,
+ TFM_TRACKBALL,
+ TFM_PUSHPULL,
+ TFM_CREASE,
+ TFM_MIRROR,
+ TFM_BONESIZE,
+ TFM_BONE_ENVELOPE,
+ TFM_CURVE_SHRINKFATTEN,
+ TFM_MASK_SHRINKFATTEN,
+ TFM_GPENCIL_SHRINKFATTEN,
+ TFM_BONE_ROLL,
+ TFM_TIME_TRANSLATE,
+ TFM_TIME_SLIDE,
+ TFM_TIME_SCALE,
+ TFM_TIME_EXTEND,
+ TFM_TIME_DUPLICATE,
+ TFM_BAKE_TIME,
+ TFM_DEPRECATED, /* was BEVEL */
+ TFM_BWEIGHT,
+ TFM_ALIGN,
+ TFM_EDGE_SLIDE,
+ TFM_VERT_SLIDE,
+ TFM_SEQ_SLIDE,
+ TFM_BONE_ENVELOPE_DIST,
+ TFM_NORMAL_ROTATION,
+ TFM_GPENCIL_OPACITY,
};
/* TRANSFORM CONTEXTS */
-#define CTX_NONE 0
-#define CTX_TEXTURE (1 << 0)
-#define CTX_EDGE (1 << 1)
-#define CTX_NO_PET (1 << 2)
-#define CTX_NO_MIRROR (1 << 3)
-#define CTX_AUTOCONFIRM (1 << 4)
-#define CTX_MOVIECLIP (1 << 6)
-#define CTX_MASK (1 << 7)
-#define CTX_PAINT_CURVE (1 << 8)
+#define CTX_NONE 0
+#define CTX_TEXTURE (1 << 0)
+#define CTX_EDGE (1 << 1)
+#define CTX_NO_PET (1 << 2)
+#define CTX_NO_MIRROR (1 << 3)
+#define CTX_AUTOCONFIRM (1 << 4)
+#define CTX_MOVIECLIP (1 << 6)
+#define CTX_MASK (1 << 7)
+#define CTX_PAINT_CURVE (1 << 8)
#define CTX_GPENCIL_STROKES (1 << 9)
-#define CTX_CURSOR (1 << 10)
+#define CTX_CURSOR (1 << 10)
/* Standalone call to get the transformation center corresponding to the current situation
* returns 1 if successful, 0 otherwise (usually means there's no selection)
* (if 0 is returns, *vec is unmodified)
* */
-bool calculateTransformCenter(struct bContext *C, int centerMode, float cent3d[3], float cent2d[2]);
+bool calculateTransformCenter(struct bContext *C,
+ int centerMode,
+ float cent3d[3],
+ float cent2d[2]);
struct Object;
struct Scene;
@@ -121,34 +124,39 @@ struct bContext;
void BIF_clearTransformOrientation(struct bContext *C);
void BIF_removeTransformOrientation(struct bContext *C, struct TransformOrientation *ts);
void BIF_removeTransformOrientationIndex(struct bContext *C, int index);
-void BIF_createTransformOrientation(struct bContext *C, struct ReportList *reports,
- const char *name, const bool use_view,
- const bool activate, const bool overwrite);
+void BIF_createTransformOrientation(struct bContext *C,
+ struct ReportList *reports,
+ const char *name,
+ const bool use_view,
+ const bool activate,
+ const bool overwrite);
void BIF_selectTransformOrientation(struct bContext *C, struct TransformOrientation *ts);
-void ED_getTransformOrientationMatrix(const struct bContext *C, float orientation_mat[3][3], const short around);
+void ED_getTransformOrientationMatrix(const struct bContext *C,
+ float orientation_mat[3][3],
+ const short around);
int BIF_countTransformOrientation(const struct bContext *C);
/* to be able to add operator properties to other operators */
-#define P_MIRROR (1 << 0)
-#define P_MIRROR_DUMMY (P_MIRROR | (1 << 9))
-#define P_PROPORTIONAL (1 << 1)
+#define P_MIRROR (1 << 0)
+#define P_MIRROR_DUMMY (P_MIRROR | (1 << 9))
+#define P_PROPORTIONAL (1 << 1)
#define P_ORIENT_AXIS (1 << 2)
#define P_ORIENT_AXIS_ORTHO (1 << 16)
#define P_ORIENT_MATRIX (1 << 17)
-#define P_SNAP (1 << 3)
-#define P_GEO_SNAP (P_SNAP | (1 << 4))
-#define P_ALIGN_SNAP (P_GEO_SNAP | (1 << 5))
-#define P_CONSTRAINT (1 << 6)
-#define P_OPTIONS (1 << 7)
-#define P_CORRECT_UV (1 << 8)
-#define P_NO_DEFAULTS (1 << 10)
-#define P_NO_TEXSPACE (1 << 11)
-#define P_CENTER (1 << 12)
-#define P_GPENCIL_EDIT (1 << 13)
-#define P_CURSOR_EDIT (1 << 14)
+#define P_SNAP (1 << 3)
+#define P_GEO_SNAP (P_SNAP | (1 << 4))
+#define P_ALIGN_SNAP (P_GEO_SNAP | (1 << 5))
+#define P_CONSTRAINT (1 << 6)
+#define P_OPTIONS (1 << 7)
+#define P_CORRECT_UV (1 << 8)
+#define P_NO_DEFAULTS (1 << 10)
+#define P_NO_TEXSPACE (1 << 11)
+#define P_CENTER (1 << 12)
+#define P_GPENCIL_EDIT (1 << 13)
+#define P_CURSOR_EDIT (1 << 14)
#define P_CLNOR_INVALIDATE (1 << 15)
void Transform_Properties(struct wmOperatorType *ot, int flags);
@@ -168,64 +176,70 @@ 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);
-
-bool 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 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],
- /* extra args */
- struct Scene *scene, struct RegionView3D *rv3d, struct Object *ob, struct Object *obedit,
- const short orientation_type, int orientation_index_custom,
- const int pivot_point);
+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);
+
+bool 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 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],
+ /* extra args */
+ struct Scene *scene,
+ struct RegionView3D *rv3d,
+ struct Object *ob,
+ struct Object *obedit,
+ const short orientation_type,
+ int orientation_index_custom,
+ const int pivot_point);
struct TransformBounds {
- float center[3]; /* Center for transform widget. */
- float min[3], max[3]; /* Boundbox of selection for transform widget. */
+ float center[3]; /* Center for transform widget. */
+ float min[3], max[3]; /* Boundbox of selection for transform widget. */
- /* Normalized axis */
- float axis[3][3];
- float axis_min[3], axis_max[3];
+ /* Normalized axis */
+ float axis[3][3];
+ float axis_min[3], axis_max[3];
};
struct TransformCalcParams {
- uint use_only_center : 1;
- uint use_local_axis : 1;
- /* Use 'Scene.orientation_type' when zero, otherwise subtract one and use. */
- ushort orientation_type;
- ushort orientation_index_custom;
+ uint use_only_center : 1;
+ uint use_local_axis : 1;
+ /* Use 'Scene.orientation_type' when zero, otherwise subtract one and use. */
+ ushort orientation_type;
+ ushort orientation_index_custom;
};
-int ED_transform_calc_gizmo_stats(
- const struct bContext *C,
- const struct TransformCalcParams *params,
- struct TransformBounds *tbounds);
+int ED_transform_calc_gizmo_stats(const struct bContext *C,
+ const struct TransformCalcParams *params,
+ struct TransformBounds *tbounds);
-#endif /* __ED_TRANSFORM_H__ */
+#endif /* __ED_TRANSFORM_H__ */