[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45806] trunk/blender/source/blender/ editors/mesh/editmesh_knife.c: knife tool: use the knife mouse cursor, dont store the context in the knife tool data, also rename struct camel case (follow own style guide)

Campbell Barton ideasman42 at gmail.com
Fri Apr 20 14:19:09 CEST 2012


Revision: 45806
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45806
Author:   campbellbarton
Date:     2012-04-20 12:19:09 +0000 (Fri, 20 Apr 2012)
Log Message:
-----------
knife tool: use the knife mouse cursor, dont store the context in the knife tool data, also rename struct camel case (follow own style guide)

Modified Paths:
--------------
    trunk/blender/source/blender/editors/mesh/editmesh_knife.c

Modified: trunk/blender/source/blender/editors/mesh/editmesh_knife.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_knife.c	2012-04-20 12:05:08 UTC (rev 45805)
+++ trunk/blender/source/blender/editors/mesh/editmesh_knife.c	2012-04-20 12:19:09 UTC (rev 45806)
@@ -130,11 +130,11 @@
 } KnifePosData;
 
 /* struct for properties used while drawing */
-typedef struct knifetool_opdata {
+typedef struct KnifeTool_OpData {
 	ARegion *ar;        /* region that knifetool was activated in */
 	void *draw_handle;  /* for drawing preview loop */
 	ViewContext vc;
-	bContext *C;
+	//bContext *C;
 
 	Object *ob;
 	BMEditMesh *em;
@@ -196,14 +196,14 @@
 	} angle_snapping;
 
 	float (*cagecos)[3];
-} knifetool_opdata;
+} KnifeTool_OpData;
 
-static ListBase *knife_get_face_kedges(knifetool_opdata *kcd, BMFace *f);
+static ListBase *knife_get_face_kedges(KnifeTool_OpData *kcd, BMFace *f);
 
-static void knife_input_ray_cast(knifetool_opdata *kcd, const int mval_i[2],
+static void knife_input_ray_cast(KnifeTool_OpData *kcd, const int mval_i[2],
                                  float r_origin[3], float r_ray[3]);
 
-static void knife_update_header(bContext *C, knifetool_opdata *kcd)
+static void knife_update_header(bContext *C, KnifeTool_OpData *kcd)
 {
 	#define HEADER_LENGTH 170
 	char header[HEADER_LENGTH];
@@ -219,7 +219,7 @@
 }
 
 
-static void knife_project_v3(knifetool_opdata *kcd, const float co[3], float sco[3])
+static void knife_project_v3(KnifeTool_OpData *kcd, const float co[3], float sco[3])
 {
 	ED_view3d_project_float_v3(kcd->ar, co, sco, kcd->projmat);
 }
@@ -235,7 +235,7 @@
 	kpd->mval[1] = 0;
 }
 
-static ListBase *knife_empty_list(knifetool_opdata *kcd)
+static ListBase *knife_empty_list(KnifeTool_OpData *kcd)
 {
 	ListBase *lst;
 
@@ -244,7 +244,7 @@
 	return lst;
 }
 
-static void knife_append_list(knifetool_opdata *kcd, ListBase *lst, void *elem)
+static void knife_append_list(KnifeTool_OpData *kcd, ListBase *lst, void *elem)
 {
 	Ref *ref;
 
@@ -265,19 +265,19 @@
 	return NULL;
 }
 
-static KnifeEdge *new_knife_edge(knifetool_opdata *kcd)
+static KnifeEdge *new_knife_edge(KnifeTool_OpData *kcd)
 {
 	kcd->totkedge++;
 	return BLI_mempool_calloc(kcd->kedges);
 }
 
-static void knife_add_to_vert_edges(knifetool_opdata *kcd, KnifeEdge *kfe)
+static void knife_add_to_vert_edges(KnifeTool_OpData *kcd, KnifeEdge *kfe)
 {
 	knife_append_list(kcd, &kfe->v1->edges, kfe);
 	knife_append_list(kcd, &kfe->v2->edges, kfe);
 }
 
-static KnifeVert *new_knife_vert(knifetool_opdata *kcd, float *co, float *cageco)
+static KnifeVert *new_knife_vert(KnifeTool_OpData *kcd, float *co, float *cageco)
 {
 	KnifeVert *kfv = BLI_mempool_calloc(kcd->kverts);
 
@@ -293,7 +293,7 @@
 }
 
 /* get a KnifeVert wrapper for an existing BMVert */
-static KnifeVert *get_bm_knife_vert(knifetool_opdata *kcd, BMVert *v)
+static KnifeVert *get_bm_knife_vert(KnifeTool_OpData *kcd, BMVert *v)
 {
 	KnifeVert *kfv = BLI_ghash_lookup(kcd->origvertmap, v);
 
@@ -309,7 +309,7 @@
 /**
  * get a KnifeEdge wrapper for an existing BMEdge
  * \note #knife_get_face_kedges / #get_bm_knife_edge are called recusively - KEEP STACK MEM USAGE LOW */
-static KnifeEdge *get_bm_knife_edge(knifetool_opdata *kcd, BMEdge *e)
+static KnifeEdge *get_bm_knife_edge(KnifeTool_OpData *kcd, BMEdge *e)
 {
 	KnifeEdge *kfe = BLI_ghash_lookup(kcd->origedgemap, e);
 	if (!kfe) {
@@ -342,7 +342,7 @@
 
 /* User has just clicked for first time or first time after a restart (E key).
  * Copy the current position data into prev. */
-static void knife_start_cut(knifetool_opdata *kcd)
+static void knife_start_cut(KnifeTool_OpData *kcd)
 {
 	kcd->prev = kcd->cur;
 	kcd->cur.is_space = 0; /*TODO: why do we do this? */
@@ -366,7 +366,7 @@
 
 /**
  * \note #knife_get_face_kedges / #get_bm_knife_edge are called recusively - KEEP STACK MEM USAGE LOW */
-static ListBase *knife_get_face_kedges(knifetool_opdata *kcd, BMFace *f)
+static ListBase *knife_get_face_kedges(KnifeTool_OpData *kcd, BMFace *f)
 {
 	ListBase *lst = BLI_ghash_lookup(kcd->kedgefacemap, f);
 
@@ -389,7 +389,7 @@
 }
 
 /* finds the proper face to restrict face fill to */
-static void knife_find_basef(knifetool_opdata *kcd, KnifeEdge *kfe)
+static void knife_find_basef(KnifeTool_OpData *kcd, KnifeEdge *kfe)
 {
 	if (!kfe->basef) {
 		Ref *r1, *r2, *r3, *r4;
@@ -420,13 +420,13 @@
 	}
 }
 
-static void knife_edge_append_face(knifetool_opdata *kcd, KnifeEdge *kfe, BMFace *f)
+static void knife_edge_append_face(KnifeTool_OpData *kcd, KnifeEdge *kfe, BMFace *f)
 {
 	knife_append_list(kcd, knife_get_face_kedges(kcd, f), kfe);
 	knife_append_list(kcd, &kfe->faces, f);
 }
 
-static KnifeVert *knife_split_edge(knifetool_opdata *kcd, KnifeEdge *kfe, float co[3], KnifeEdge **newkfe_out)
+static KnifeVert *knife_split_edge(KnifeTool_OpData *kcd, KnifeEdge *kfe, float co[3], KnifeEdge **newkfe_out)
 {
 	KnifeEdge *newkfe = new_knife_edge(kcd);
 	Ref *ref;
@@ -467,7 +467,7 @@
 
 /* Make a single KnifeEdge for cut from kcd->prev to kcd->cur.
  * and move cur data to prev. */
-static void knife_add_single_cut(knifetool_opdata *kcd)
+static void knife_add_single_cut(KnifeTool_OpData *kcd)
 {
 	KnifeEdge *kfe = new_knife_edge(kcd), *kfe2 = NULL, *kfe3 = NULL;
 
@@ -544,7 +544,7 @@
 	else return 0;
 }
 
-static void knife_add_single_cut_through(knifetool_opdata *kcd, KnifeVert *v1, KnifeVert *v2, BMFace *f)
+static void knife_add_single_cut_through(KnifeTool_OpData *kcd, KnifeVert *v1, KnifeVert *v2, BMFace *f)
 {
 	KnifeEdge *kfenew;
 
@@ -561,7 +561,7 @@
 		knife_edge_append_face(kcd, kfenew, f);
 }
 
-static void knife_get_vert_faces(knifetool_opdata *kcd, KnifeVert *kfv, BMFace *facef, ListBase *lst)
+static void knife_get_vert_faces(KnifeTool_OpData *kcd, KnifeVert *kfv, BMFace *facef, ListBase *lst)
 {
 	BMIter bmiter;
 	BMFace *f;
@@ -576,7 +576,7 @@
 	}
 }
 
-static void knife_get_edge_faces(knifetool_opdata *kcd, KnifeEdge *kfe, ListBase *lst)
+static void knife_get_edge_faces(KnifeTool_OpData *kcd, KnifeEdge *kfe, ListBase *lst)
 {
 	BMIter bmiter;
 	BMFace *f;
@@ -591,7 +591,7 @@
 /* BMESH_TODO: add more functionality to cut-through:
  *    - cutting "in face" (e.g., holes) should cut in all faces, not just visible one
  *    - perhaps improve O(n^2) algorithm used here */
-static void knife_cut_through(knifetool_opdata *kcd)
+static void knife_cut_through(KnifeTool_OpData *kcd)
 {
 	BMEdgeHit *lh, *lh2;
 	BMFace *f;
@@ -705,7 +705,7 @@
 /* User has just left-clicked after the first time.
  * Add all knife cuts implied by line from prev to cur.
  * If that line crossed edges then kcd->linehits will be non-NULL. */
-static void knife_add_cut(knifetool_opdata *kcd)
+static void knife_add_cut(KnifeTool_OpData *kcd)
 {
 	KnifePosData savcur = kcd->cur;
 
@@ -784,12 +784,12 @@
 	}
 }
 
-static void knife_finish_cut(knifetool_opdata *UNUSED(kcd))
+static void knife_finish_cut(KnifeTool_OpData *UNUSED(kcd))
 {
 
 }
 
-static void knifetool_draw_angle_snapping(knifetool_opdata *kcd)
+static void knifetool_draw_angle_snapping(KnifeTool_OpData *kcd)
 {
 	bglMats mats;
 	double u[3], u1[2], u2[2], v1[3], v2[3], dx, dy;
@@ -905,7 +905,7 @@
 static void knifetool_draw(const bContext *C, ARegion *UNUSED(ar), void *arg)
 {
 	View3D *v3d = CTX_wm_view3d(C);
-	knifetool_opdata *kcd = arg;
+	KnifeTool_OpData *kcd = arg;
 
 	if(v3d->zbuf) glDisable(GL_DEPTH_TEST);
 
@@ -1059,7 +1059,7 @@
 	return MAX3(s1, s2, s3);
 }
 
-static BMEdgeHit *knife_edge_tri_isect(knifetool_opdata *kcd, BMBVHTree *bmtree,
+static BMEdgeHit *knife_edge_tri_isect(KnifeTool_OpData *kcd, BMBVHTree *bmtree,
                                        const float v1[3],  const float v2[3], const float v3[3],
                                        SmallHash *ehash, bglMats *mats, int *count)
 {
@@ -1201,7 +1201,7 @@
 	return edges;
 }
 
-static void knife_bgl_get_mats(knifetool_opdata *UNUSED(kcd), bglMats *mats)
+static void knife_bgl_get_mats(KnifeTool_OpData *UNUSED(kcd), bglMats *mats)
 {
 	bgl_get_mats(mats);
 	//copy_m4_m4(mats->modelview, kcd->vc.rv3d->viewmat);
@@ -1209,7 +1209,7 @@
 }
 
 /* Finds visible (or all, if cutting through) edges that intersects the current screen drag line */
-static void knife_find_line_hits(knifetool_opdata *kcd)
+static void knife_find_line_hits(KnifeTool_OpData *kcd)
 {
 	bglMats mats;
 	BMEdgeHit *e1, *e2;
@@ -1281,7 +1281,7 @@
 	BLI_smallhash_release(ehash);
 }
 
-static void knife_input_ray_cast(knifetool_opdata *kcd, const int mval_i[2],
+static void knife_input_ray_cast(KnifeTool_OpData *kcd, const int mval_i[2],
                                  float r_origin[3], float r_ray[3])
 {
 	bglMats mats;
@@ -1312,7 +1312,7 @@
 	mul_m3_v3(imat, r_ray);
 }
 
-static BMFace *knife_find_closest_face(knifetool_opdata *kcd, float co[3], float cageco[3], int *is_space)
+static BMFace *knife_find_closest_face(KnifeTool_OpData *kcd, float co[3], float cageco[3], int *is_space)
 {
 	BMFace *f;
 	int dist = KMAXDIST;
@@ -1343,7 +1343,7 @@
 
 /* find the 2d screen space density of vertices within a radius.  used to scale snapping
  * distance for picking edges/verts.*/
-static int knife_sample_screen_density(knifetool_opdata *kcd, float radius)
+static int knife_sample_screen_density(KnifeTool_OpData *kcd, float radius)
 {
 	BMFace *f;
 	int is_space;
@@ -1396,7 +1396,7 @@
 
 /* returns snapping distance for edges/verts, scaled by the density of the
  * surrounding mesh (in screen space)*/
-static float knife_snap_size(knifetool_opdata *kcd, float maxsize)
+static float knife_snap_size(KnifeTool_OpData *kcd, float maxsize)
 {
 	float density = (float)knife_sample_screen_density(kcd, maxsize * 2.0f);
 
@@ -1406,7 +1406,7 @@
 }
 
 /* p is closest point on edge to the mouse cursor */
-static KnifeEdge *knife_find_closest_edge(knifetool_opdata *kcd, float p[3], float cagep[3], BMFace **fptr, int *is_space)
+static KnifeEdge *knife_find_closest_edge(KnifeTool_OpData *kcd, float p[3], float cagep[3], BMFace **fptr, int *is_space)
 {
 	BMFace *f;
 	float co[3], cageco[3], sco[3], maxdist = knife_snap_size(kcd, kcd->ethresh);
@@ -1495,7 +1495,7 @@
 }
 
 /* find a vertex near the mouse cursor, if it exists */
-static KnifeVert *knife_find_closest_vert(knifetool_opdata *kcd, float p[3], float cagep[3], BMFace **fptr,
+static KnifeVert *knife_find_closest_vert(KnifeTool_OpData *kcd, float p[3], float cagep[3], BMFace **fptr,
                                           int *is_space)
 {
 	BMFace *f;
@@ -1575,7 +1575,7 @@
 	return NULL;

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list