Quite a large one this time... but now we have:
[blender.git] / source / blender / blenkernel / BKE_displist.h
index 8942a6712d672ccce285c41b40d78af80aadbc91..8b258a69862b6f9cb058cd957d350b246b277901 100644 (file)
@@ -35,7 +35,7 @@
 #ifndef BKE_DISPLIST_H
 #define BKE_DISPLIST_H
 
-
+/* dl->type */
 #define DL_POLY                 0
 #define DL_SEGM                 1
 #define DL_SURF                 2
@@ -47,7 +47,9 @@
 #define DL_NORS                 8
 #define DL_MESH                                        9
 
-/* EVIL: #define DL_SURFINDEX(cyclu, cyclv, sizeu, sizev) */
+/* dl->flag */
+#define DL_CYCL_U              1
+#define DL_CYCL_V              2
 
 /* prototypes */
 
@@ -56,17 +58,29 @@ struct Curve;
 struct ListBase;
 struct Material;
 struct Bone;
+struct Mesh;
 struct TFace;
+struct EditMesh;
 
 typedef struct DispListMesh DispListMesh;
 struct DispListMesh {
-       int totvert, totface;
+       int totvert, totedge, totface;
        struct MVert *mvert;
+       struct MEdge *medge;
        struct MCol *mcol;
-       struct MFaceInt *mface;
+       struct MFace *mface;
        struct TFace *tface;
+       int flag;
 };
 
+void displistmesh_free(DispListMesh *dlm);
+void displistmesh_calc_vert_normals(DispListMesh *dlm);
+
+void displistmesh_to_mesh(DispListMesh *dlm, struct Mesh *me);
+
+DispListMesh *displistmesh_from_editmesh(struct EditMesh *em);
+DispListMesh *displistmesh_from_mesh(struct Mesh *mesh, float *extverts);
+
 /*
  * All the different DispList.type's use the
  * data in the displist structure in fairly
@@ -89,11 +103,6 @@ typedef struct DispList {
        unsigned int *col1, *col2;
        struct DispListMesh *mesh;
        
-       /* Begin NASTY_NLA_STUFF */
-//     int *offset, *run;      /* Used to index into the bone & weight lists */
-//     struct Bone *bones;
-//     float *weights;
-       /* End NASTY_NLA_STUFF */
 } DispList;
 
 extern void copy_displist(struct ListBase *lbn, struct ListBase *lb);
@@ -115,3 +124,4 @@ void reshadeall_displist(void);
 void test_all_displists(void);
 
 #endif
+