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:
authorCampbell Barton <ideasman42@gmail.com>2008-04-04 19:06:50 +0400
committerCampbell Barton <ideasman42@gmail.com>2008-04-04 19:06:50 +0400
commit6b6e5eb4c979e050478baa39d7402c03bcc73c80 (patch)
tree136c7a02b67516aaad9cd06caa77b301563b5ab7 /source/blender/include
parenteb667866dfde9a227259b0f9bfeaab7fdeaef7ce (diff)
Restore bezier handles to their original flag if the transform is canceled, for IPO's and curve edit mode.
Also retopo was running of curve transform was canceled.
Diffstat (limited to 'source/blender/include')
-rw-r--r--source/blender/include/transform.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/source/blender/include/transform.h b/source/blender/include/transform.h
index cfe85916eb4..dc8521990f6 100644
--- a/source/blender/include/transform.h
+++ b/source/blender/include/transform.h
@@ -137,6 +137,13 @@ typedef struct TransData2D {
float *loc2d; /* Pointer to real 2d location of data */
} TransData2D;
+/* we need to store 2 handles for each transdata incase the other handle wasnt selected */
+typedef struct TransDataCurveHandleFlags {
+ short ih1, ih2;
+ short *h1, *h2;
+} TransDataCurveHandleFlags;
+
+
typedef struct TransData {
float dist; /* Distance needed to affect element (for Proportionnal Editing) */
float rdist; /* Distance to the nearest element (for Proportionnal Editing) */
@@ -153,7 +160,11 @@ typedef struct TransData {
struct bConstraint *con; /* for objects/bones, the first constraint in its constraint stack */
TransDataExtension *ext; /* for objects, poses. 1 single malloc per TransInfo! */
TransDataIpokey *tdi; /* for objects, ipo keys. per transdata a malloc */
- void *tdmir; /* mirrored element pointer, in editmode mesh to EditVert */
+ union {
+ void *tdmir; /* mirrored element pointer, in editmode mesh to EditVert */
+ TransDataCurveHandleFlags *hdata;
+ } misc;
+
short flag; /* Various flags */
short protectflag; /* If set, copy of Object or PoseChannel protection */
/*#ifdef WITH_VERSE*/
@@ -289,6 +300,7 @@ typedef struct TransInfo {
#define TD_NOCENTER (1 << 9)
#define TD_NO_EXT (1 << 10) /* ext abused for particle key timing */
#define TD_SKIP (1 << 11) /* don't transform this data */
+#define TD_BEZTRIPLE (1 << 12) /* if this is a bez triple, we need to restore the handles, if this is set transdata->misc.hdata needs freeing */
/* transsnap->status */
#define SNAP_ON 1