Revision: 18207
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18207
Author:   joeedh
Date:     2009-01-01 03:00:15 +0100 (Thu, 01 Jan 2009)

Log Message:
-----------
stuff compiles now

Modified Paths:
--------------
    branches/bmesh/bmesh/SConscript
    branches/bmesh/bmesh/bmesh_operators.h
    branches/bmesh/bmesh/intern/bmesh_mods.c
    branches/bmesh/bmesh/intern/bmesh_operators.c
    branches/bmesh/bmesh/intern/bmesh_walkers.c
    branches/bmesh/bmesh/operators/bmesh_dupeops.c
    branches/bmesh/bmesh/operators/subdivideop.c

Modified: branches/bmesh/bmesh/SConscript
===================================================================
--- branches/bmesh/bmesh/SConscript     2009-01-01 01:47:36 UTC (rev 18206)
+++ branches/bmesh/bmesh/SConscript     2009-01-01 02:00:15 UTC (rev 18207)
@@ -21,6 +21,8 @@
 
 
 sources = env.Glob('intern/*.c')
+sources = env.Glob('operators/*.c')
+
 #sources += env.Glob('tools/*.c')
 
 incs = ['#/intern/guardedalloc'] 

Modified: branches/bmesh/bmesh/bmesh_operators.h
===================================================================
--- branches/bmesh/bmesh/bmesh_operators.h      2009-01-01 01:47:36 UTC (rev 
18206)
+++ branches/bmesh/bmesh/bmesh_operators.h      2009-01-01 02:00:15 UTC (rev 
18207)
@@ -12,7 +12,7 @@
   dynamically allocated arrays*/
 #define BMOP_OPSLOT_INT_BUF            10      
 #define BMOP_OPSLOT_FLT_BUF            11              
-#define BMOP_OPSLOT_PNT_BUF            12      
+#define BMOP_OPSLOT_PNT_BUF            12
 #define BMOP_OPSLOT_TYPES              13
 
 typedef struct BMOpSlot{
@@ -47,7 +47,6 @@
 void BMO_Init_Op(struct BMOperator *op, int opcode);
 void BMO_Exec_Op(struct BMesh *bm, struct BMOperator *op);
 void BMO_Finish_Op(struct BMesh *bm, struct BMOperator *op);
-void BMO_Init_Op(struct BMOpSlot *s1, struct BMOpSlot *s2);
 BMOpSlot *BMO_GetSlot(struct BMOperator *op, int slotcode);
 void BMO_CopySlot(struct BMOperator *source_op, struct BMOperator *dest_op, 
int src, int dst);
 void BMO_Set_Float(struct BMOperator *op, int slotcode, float f);
@@ -61,46 +60,61 @@
 void BMO_Flag_To_Slot(struct BMesh *bm, struct BMOperator *op, int slotcode, 
int flag, int type);
 void BMO_Flag_Buffer(struct BMesh *bm, struct BMOperator *op, int slotcode, 
int flag);
 
-#define BMOP_OPSLOT_INT                        0
-#define BMOP_OPSLOT_FLT                        1
-#define BMOP_OPSLOT_PNT                        2
-#define BMOP_OPSLOT_VEC                        3
-#define BMOP_OPSLOT_INT_BUF            4               
-#define BMOP_OPSLOT_FLT_BUF            5               
-#define BMOP_OPSLOT_PNT_BUF            6               
-#define BMOP_OPSLOT_TYPES              7
-
 /*defines for individual operators*/
 /*split op*/
 #define BMOP_SPLIT                             0
-#define BMOP_SPLIT_MULTINPUT   0
-#define BMOP_SPLIT_MULTOUTPUT  1
-#define BMOP_SPLIT_TOTSLOT             2
+#define BMOP_SPLIT_VINPUT              1
+#define BMOP_SPLIT_EINPUT              2
+#define BMOP_SPLIT_FINPUT              3
+#define BMOP_SPLIT_VOUTPUT             4
+#define BMOP_SPLIT_EOUTPUT             5
+#define BMOP_SPLIT_FOUTPUT             6
+#define BMOP_SPLIT_TOTSLOT             7
 
 const int BMOP_SPLIT_TYPEINFO[BMOP_SPLIT_TOTSLOT] = {
        BMOP_OPSLOT_PNT_BUF,
-       BMOP_OPSLOT_PNT_BUF
+       BMOP_OPSLOT_PNT_BUF,
+       BMOP_OPSLOT_PNT_BUF,
+       BMOP_OPSLOT_PNT_BUF,
+       BMOP_OPSLOT_PNT_BUF,
+       BMOP_OPSLOT_PNT_BUF,
+       BMOP_OPSLOT_PNT_BUF,
 };
 
-/*----------begin operator defines--------*/
+/*--------------------begin operator defines------------------------*/
 /*dupe op*/
 #define BMOP_DUPE                              1
-#define BMOP_DUPE_MULTINPUT            0
-#define BMOP_DUPE_ORIGINAL             1
-#define BMOP_DUPE_NEW                  2
-#define BMOP_DUPE_TOTSLOT              3
 
+#define BMOP_DUPE_VINPUT               0
+#define BMOP_DUPE_EINPUT               1
+#define BMOP_DUPE_FINPUT               2
+#define BMOP_DUPE_VORIGINAL            3
+#define BMOP_DUPE_EORIGINAL            4
+#define BMOP_DUPE_FORIGINAL            5
+#define BMOP_DUPE_VNEW                 6
+#define BMOP_DUPE_ENEW                 7
+#define BMOP_DUPE_FNEW                 8
+#define BMOP_DUPE_TOTSLOT              9
+
 const int BMOP_DUPE_TYPEINFO[BMOP_DUPE_TOTSLOT] = {
        BMOP_OPSLOT_PNT_BUF,
        BMOP_OPSLOT_PNT_BUF,
-       BMOP_OPSLOT_PNT_BUF
+       BMOP_OPSLOT_PNT_BUF,
+       BMOP_OPSLOT_PNT_BUF,
+       BMOP_OPSLOT_PNT_BUF,
+       BMOP_OPSLOT_PNT_BUF,
+       BMOP_OPSLOT_PNT_BUF,
+       BMOP_OPSLOT_PNT_BUF,
+       BMOP_OPSLOT_PNT_BUF,
 };
 
 /*delete op*/
 #define BMOP_DEL                       2
-#define BMOP_DEL_MULTINPUT     0
-#define BMOP_DEL_CONTEXT       1
-#define BMOP_DEL_TOTSLOT       2
+#define BMOP_DEL_VINPUT                0
+#define BMOP_DEL_EINPUT                1
+#define BMOP_DEL_FINPUT                2
+#define BMOP_DEL_CONTEXT       3
+#define BMOP_DEL_TOTSLOT       4
 
 /*BMOP_DEL_CONTEXT*/
 #define BMOP_DEL_VERTS                         1
@@ -111,6 +125,8 @@
 
 const int BMOP_DEL_TYPEINFO[BMOP_DEL_TOTSLOT] = {
        BMOP_OPSLOT_PNT_BUF,
+       BMOP_OPSLOT_PNT_BUF,
+       BMOP_OPSLOT_PNT_BUF,
        BMOP_OPSLOT_INT
 };
 
@@ -128,27 +144,37 @@
 #define BMOP_TO_EDITMESH_EM            0
 #define BMOP_TO_EDITMESH_TOTSLOT 1
 
-/*keep this updated!*/
-#define BMOP_TOTAL_OPS                         5
-/*----------end operator defines--------*/
-
 const int BMOP_TO_EDITMESH_TYPEINFO[BMOP_TO_EDITMESH_TOTSLOT] = {
        BMOP_OPSLOT_PNT
 };
 
+#define BMOP_ESUBDIVIDE                        5
+#define BMOP_ESUBDIVIDE_EDGES  0
+#define BMOP_ESUBDIVIDE_TOTSLOT        1
+
+const int BMOP_ESUBDIVIDE_TYPEINFO[] = {
+       BMOP_OPSLOT_PNT_BUF
+};
+
+/*keep this updated!*/
+#define BMOP_TOTAL_OPS                         6
+/*-------------------------------end operator 
defines-------------------------------*/
+
 /*Following arrays are used by the init functions to init operator slot 
typecodes*/
 const int *BMOP_TYPEINFO[BMOP_TOTAL_OPS] = {
        BMOP_SPLIT_TYPEINFO,
        BMOP_DEL_TYPEINFO,
        BMOP_FROM_EDITMESH_TYPEINFO,
-       BMOP_TO_EDITMESH_TYPEINFO
+       BMOP_TO_EDITMESH_TYPEINFO,
+       BMOP_ESUBDIVIDE_TYPEINFO
 };
 
 const int BMOP_TYPETOTALS[BMOP_TOTAL_OPS] = {
        BMOP_SPLIT_TOTSLOT,
        BMOP_DEL_TOTSLOT,
        BMOP_FROM_EDITMESH_TOTSLOT,
-       BMOP_TO_EDITMESH_TOTSLOT
+       BMOP_TO_EDITMESH_TOTSLOT,
+       BMOP_ESUBDIVIDE_TOTSLOT
 };
 
 #endif

Modified: branches/bmesh/bmesh/intern/bmesh_mods.c
===================================================================
--- branches/bmesh/bmesh/intern/bmesh_mods.c    2009-01-01 01:47:36 UTC (rev 
18206)
+++ branches/bmesh/bmesh/intern/bmesh_mods.c    2009-01-01 02:00:15 UTC (rev 
18207)
@@ -205,7 +205,7 @@
  *  purposes.
  *
  *  Returns -
- *     Nothing
+ *     the new vert
  */
 
 BMVert *BM_Split_Edge(BMesh *bm, BMVert *v, BMEdge *e, BMEdge **ne, float 
percent, int calcnorm) {

Modified: branches/bmesh/bmesh/intern/bmesh_operators.c
===================================================================
--- branches/bmesh/bmesh/intern/bmesh_operators.c       2009-01-01 01:47:36 UTC 
(rev 18206)
+++ branches/bmesh/bmesh/intern/bmesh_operators.c       2009-01-01 02:00:15 UTC 
(rev 18207)
@@ -319,7 +319,7 @@
        if(totelement){
                alloc_slot_buffer(op, slotcode, totelement);
 
-               if (type & BM_VERT) {
+               if (type & BMESH_VERT) {
                        for (e = BMIter_New(&elements, bm, BM_VERTS, bm); e; e 
= BMIter_Step(&elements)) {
                                if(BMO_TestFlag(bm, e, flag)){
                                        ((BMHeader**)output->data.p)[i] = e;
@@ -328,7 +328,7 @@
                        }
                }
 
-               if (type & BM_EDGE) {
+               if (type & BMESH_EDGE) {
                        for (e = BMIter_New(&elements, bm, BM_EDGES, bm); e; e 
= BMIter_Step(&elements)) {
                                if(BMO_TestFlag(bm, e, flag)){
                                        ((BMHeader**)output->data.p)[i] = e;
@@ -337,7 +337,7 @@
                        }
                }
 
-               if (type & BM_FACE) {
+               if (type & BMESH_FACE) {
                        for (e = BMIter_New(&elements, bm, BM_FACES, bm); e; e 
= BMIter_Step(&elements)) {
                                if(BMO_TestFlag(bm, e, flag)){
                                        ((BMHeader**)output->data.p)[i] = e;

Modified: branches/bmesh/bmesh/intern/bmesh_walkers.c
===================================================================
--- branches/bmesh/bmesh/intern/bmesh_walkers.c 2009-01-01 01:47:36 UTC (rev 
18206)
+++ branches/bmesh/bmesh/intern/bmesh_walkers.c 2009-01-01 02:00:15 UTC (rev 
18207)
@@ -27,7 +27,7 @@
 */
 
 /*Forward declerations*/
-static int request_walkerMask(struct BMMesh *bm);
+static int request_walkerMask(struct BMesh *bm);
 static void *bmeshWalker_walk(struct BMWalker *walker);
 static void bmeshWalker_popState(struct BMWalker *walker);
 static void bmeshWalker_pushState(struct BMWalker *walker);
@@ -55,7 +55,7 @@
  *
 */
 
-static int request_walkerMask(BMMesh *bm)
+static int request_walkerMask(BMesh *bm)
 {
        int i;
        for(i=0; i < BMESH_MAXWALKERS; i++){
@@ -79,7 +79,7 @@
  *
 */
 
-void bmeshWalker_init(BMWalker *walker, BMMesh *bm, int type, int searchmask)
+void bmeshWalker_init(BMWalker *walker, BMesh *bm, int type, int searchmask)
 {
        int visitedmask = request_walkerMask(bm);
        int size = 0;

Modified: branches/bmesh/bmesh/operators/bmesh_dupeops.c
===================================================================
--- branches/bmesh/bmesh/operators/bmesh_dupeops.c      2009-01-01 01:47:36 UTC 
(rev 18206)
+++ branches/bmesh/bmesh/operators/bmesh_dupeops.c      2009-01-01 02:00:15 UTC 
(rev 18207)
@@ -1,7 +1,24 @@
+#include "MEM_guardedalloc.h"
+
+#include "BKE_utildefines.h"
+
+#include "BLI_ghash.h"
+#include "BLI_memarena.h"
+#include "BLI_blenlib.h"
+#include "BLI_arithb.h"
+
 #include "bmesh.h"
 #include "bmesh_operators_private.h"
 
+/*local flag defines*/
+#define DUPE_INPUT             1                       /*input from operator*/
+#define DUPE_NEW               2
+#define DUPE_DONE              4
 
+#ifndef SELECT
+#define SELECT         1
+#endif
+
 /*
  *  COPY VERTEX
  *
@@ -13,7 +30,7 @@
        BMVert *target_vertex = NULL;
 
        /*create a new vertex*/
-       target_vertex = BM_Make_Vert(target, source_vertex->co,  NULL);
+       target_vertex = BM_Make_Vert(target_mesh, source_vertex->co,  NULL);
 
        /*insert new vertex into the vert hash*/
        BLI_ghash_insert(vhash, source_vertex, target_vertex);  
@@ -21,9 +38,9 @@
        /*copy custom data in this function since we cannot be assured that 
byte layout is same between meshes*/
        CustomData_bmesh_copy_data(&source_mesh->vdata, &target_mesh->vdata, 
source_vertex->data, &target_vertex->data);        
 
-       /*Copy Markings*/
-       if(BM_Is_Selected((BMHeader*)source_vertex)) 
BM_Select_Vert(target_mesh, target_vertex, 1);
-       if(BM_Is_Hidden((BMHeader*)source_vertex)) 
BM_Mark_Hidden((BMHeader*)target_vertex, 1);
+       /*Copy Flags*/
+       if(source_vertex->head.flag & SELECT) BM_Select_Vert(target_mesh, 
target_vertex, 1);
+       target_vertex->head.flag |= source_vertex->head.flag;
 
        BMO_SetFlag(target_mesh, (BMHeader*)target_vertex, DUPE_NEW);
        
@@ -68,9 +85,8 @@
  *  Copy an existing face from one bmesh to another.
  *
 */
-static BMFace *copy_face(BMesh *source_mesh, BMFace *source_face, BMesh 
*target_mesh, BMEdge **edar, GHash *verthash, GHash *ehash)
+static BMFace *copy_face(BMesh *source_mesh, BMFace *source_face, BMesh 
*target_mesh, BMEdge **edar, GHash *vhash, GHash *ehash)
 {
-       BMEdge  *target_edge;
        BMVert *target_vert1, *target_vert2;
        BMLoop *source_loop, *target_loop;
        BMFace *target_face = NULL;
@@ -78,7 +94,7 @@
        
        /*lookup the first and second verts*/
        target_vert1 = BLI_ghash_lookup(vhash, source_face->loopbase->v);
-       target_vert2 = BLI_ghash_lookup(vhash, source_face->loopbase->next->v);
+       target_vert2 = BLI_ghash_lookup(vhash, 
source_face->loopbase->radial.next->data);
        
        /*lookup edges*/
        i = 0;
@@ -86,7 +102,7 @@
        do{
                edar[i] = BLI_ghash_lookup(ehash, source_loop->e);
                i++;
-               source_loop = source_loop->next;
+               source_loop = source_loop->radial.next->data;
        }while(source_loop != source_face->loopbase);
        
        /*create new face*/
@@ -97,7 +113,7 @@
 
        /*copy flags*/
        target_face->head.flags = source_face->head.flags;
-       if(BM_Is_Selected((BMHeader*)source_face)) BM_Select_face(target, 
target_face, 1);

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to