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:
authorTon Roosendaal <ton@blender.org>2004-07-09 00:38:27 +0400
committerTon Roosendaal <ton@blender.org>2004-07-09 00:38:27 +0400
commitf77bc7eb7d56239f9dfab3663b79c474f8763bbd (patch)
treed5402fb4a8a2996945b8ef7607e927886434dce5 /source/blender/makesdna
parent6757a8159b7a64a4ac1444046f967bb2b88909ad (diff)
Quite a large one this time... but now we have:
Edges in Mesh - adds automatic when you use creases. For other situations; call the void make_edges(Mesh *me) in mesh.c. Of course, once in editmode the edges are automatically recreated. - in F9 buttons you can add/remove edges too - both for Mesh and DisplistMesh, so it speeds up drawing quite some in wireframe - render for edges can't work... edges have no material nor tface nor col.. so here still the faces are rendered in wire Creases in Subsurf - based on the code by Chris McFarlen - main changes is that now edges are used, saving quite some data in file - use SHIFT+E in editmode to set edges-sharpness. values go from 0-1 - in F9 buttons you can set draw-crease mode. It draws now blended from wire color to edge-select color (as provided in Theme) Known issue: setting sharpness on 1 cube (subdiv 2) gives weird results with some values... Chris, can you check? Further; code cleanups, changing 0 in NULL when needed, no warnings, etc etc
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_curve_types.h2
-rw-r--r--source/blender/makesdna/DNA_mesh_types.h33
-rw-r--r--source/blender/makesdna/DNA_meshdata_types.h35
3 files changed, 42 insertions, 28 deletions
diff --git a/source/blender/makesdna/DNA_curve_types.h b/source/blender/makesdna/DNA_curve_types.h
index 734b0904102..2caff861bc1 100644
--- a/source/blender/makesdna/DNA_curve_types.h
+++ b/source/blender/makesdna/DNA_curve_types.h
@@ -181,7 +181,7 @@ typedef struct IpoCurve {
#define CU_FLUSH 3
/* flag (nurb) */
-#define CU_SMOOTH ME_SMOOTH
+#define CU_SMOOTH 1
/* type (nurb) */
#define CU_POLY 0
diff --git a/source/blender/makesdna/DNA_mesh_types.h b/source/blender/makesdna/DNA_mesh_types.h
index b80bdf62b2c..674c144923d 100644
--- a/source/blender/makesdna/DNA_mesh_types.h
+++ b/source/blender/makesdna/DNA_mesh_types.h
@@ -39,6 +39,7 @@ struct Ipo;
struct Key;
struct Material;
struct MVert;
+struct MEdge;
struct MCol;
struct MSticky;
struct Mesh;
@@ -69,6 +70,7 @@ typedef struct Mesh {
void *mface, *dface, *tface;
struct MVert *mvert;
+ struct MEdge *medge;
struct MDeformVert *dvert; /* __NLA */
struct MCol *mcol;
struct MSticky *msticky;
@@ -78,20 +80,21 @@ typedef struct Mesh {
struct OcInfo *oc; /* not written in file */
void *sumohandle;
- int totvert, totface;
-
+ int totvert, totedge, totface;
int texflag;
+
float loc[3];
float size[3];
float rot[3];
short smoothresh, flag;
+
short subdiv, subdivr, subdivdone;
short totcol;
short subsurftype;
short reserved1; /* Padding */
- float cubemapsize, rtf;
+ float cubemapsize;
} Mesh;
@@ -117,25 +120,6 @@ typedef struct Mesh {
#define ME_CC_SUBSURF 0
#define ME_SIMPLE_SUBSURF 1
-/* puno = vertexnormal (mface) */
-#define ME_FLIPV1 1
-#define ME_FLIPV2 2
-#define ME_FLIPV3 4
-#define ME_FLIPV4 8
-#define ME_PROJXY 16
-#define ME_PROJXZ 32
-#define ME_PROJYZ 64
-
-/* edcode (mface) */
-#define ME_V1V2 1
-#define ME_V2V3 2
-#define ME_V3V1 4
-#define ME_V3V4 4
-#define ME_V4V1 8
-
-/* flag (mface) */
-#define ME_SMOOTH 1
-
#define TF_DYNAMIC 1
/* #define TF_INVISIBLE 2 */
@@ -169,11 +153,6 @@ typedef struct Mesh {
#define TF_ALPHA 2
#define TF_SUB 3
-/* mvert->flag (1=select) */
-#define ME_SPHERETEST 2
-#define ME_SPHERETEMP 4
-#define ME_HIDE 16
-
#define MESH_MAX_VERTS 2000000000L
#endif
diff --git a/source/blender/makesdna/DNA_meshdata_types.h b/source/blender/makesdna/DNA_meshdata_types.h
index 5eaba97fc63..04de27f58b0 100644
--- a/source/blender/makesdna/DNA_meshdata_types.h
+++ b/source/blender/makesdna/DNA_meshdata_types.h
@@ -40,6 +40,12 @@ typedef struct MFace {
char edcode, flag;
} MFace;
+typedef struct MEdge {
+ unsigned int v1, v2;
+ char crease, pad;
+ short flag;
+} MEdge;
+
typedef struct MDeformWeight {
int def_nr;
float weight;
@@ -66,4 +72,33 @@ typedef struct MSticky {
float co[2];
} MSticky;
+/* mvert->flag (1=SELECT) */
+#define ME_SPHERETEST 2
+#define ME_SPHERETEMP 4
+#define ME_HIDE 16
+
+/* medge->flag (1=SELECT)*/
+#define ME_EDGEDRAW 2
+
+
+/* puno = vertexnormal (mface) */
+#define ME_FLIPV1 1
+#define ME_FLIPV2 2
+#define ME_FLIPV3 4
+#define ME_FLIPV4 8
+#define ME_PROJXY 16
+#define ME_PROJXZ 32
+#define ME_PROJYZ 64
+
+/* edcode (mface) */
+#define ME_V1V2 1
+#define ME_V2V3 2
+#define ME_V3V1 4
+#define ME_V3V4 4
+#define ME_V4V1 8
+
+/* flag (mface) */
+#define ME_SMOOTH 1
+
+
#endif