Merging r58475 through r58700 from trunk into soc-2013-depsgraph_mt
[blender.git] / source / blender / editors / transform / transform.h
index 2cef3209b4e0065cbc416d9c276a9a763eaf851f..4a1c4203a4370d2c606c9e79102340a7fd0c9162 100644 (file)
@@ -201,14 +201,14 @@ typedef struct EdgeSlideData {
        TransDataEdgeSlideVert *sv;
        int totsv;
        
-       struct SmallHash vhash;
-       struct SmallHash origfaces;
+       struct GHash *origfaces;
 
        int mval_start[2], mval_end[2];
        struct BMEditMesh *em;
 
        /* flag that is set when origfaces is initialized */
-       bool origfaces_init;
+       bool use_origfaces;
+       struct BMesh *bm_origfaces;
 
        float perc;
 
@@ -394,6 +394,8 @@ typedef struct TransInfo {
 
 #define T_PROP_EDIT                    (1 << 11)
 #define T_PROP_CONNECTED       (1 << 12)
+#define T_PROP_PROJECTED       (1 << 25)
+#define T_PROP_EDIT_ALL                (T_PROP_EDIT | T_PROP_CONNECTED | T_PROP_PROJECTED)
 
 #define T_V3D_ALIGN                    (1 << 14)
        /* for 2d views like uv or ipo */
@@ -602,6 +604,7 @@ int calc_manipulator_stats(const struct bContext *C);
 void createTransData(struct bContext *C, TransInfo *t);
 void sort_trans_data_dist(TransInfo *t);
 void special_aftertrans_update(struct bContext *C, TransInfo *t);
+int  special_transform_moving(TransInfo *t);
 
 void transform_autoik_update(TransInfo *t, short mode);
 
@@ -722,7 +725,7 @@ void initTransformOrientation(struct bContext *C, TransInfo *t);
 
 /* Those two fill in mat and return non-zero on success */
 bool createSpaceNormal(float mat[3][3], const float normal[3]);
-bool createSpaceNormalTangent(float mat[3][3], float normal[3], float tangent[3]);
+bool createSpaceNormalTangent(float mat[3][3], const float normal[3], const float tangent[3]);
 
 struct TransformOrientation *addMatrixSpace(struct bContext *C, float mat[3][3], char name[], int overwrite);
 void applyTransformOrientation(const struct bContext *C, float mat[3][3], char *name);