diff options
author | Geoffrey Bantle <hairbat@yahoo.com> | 2008-02-24 01:11:16 +0300 |
---|---|---|
committer | Geoffrey Bantle <hairbat@yahoo.com> | 2008-02-24 01:11:16 +0300 |
commit | e03ab146ae673ec296e97f3c146c048417833521 (patch) | |
tree | 24e5d7445c6ce151fb95f4252f23319165dacd23 /source/blender/makesdna | |
parent | 40934ef6df34a70f2275f1208d9433830e9ccf8f (diff) |
-> Bevel tools and Bmesh kernel
The following is a commit of Levi Schooley's bevel code and
the bmesh library it depends on. The current editmode bevel has
been replaced with a new per edge bevel function. Vertex beveling is
also availible.
To set weights for the modifier to use, use the ctrl-shift-e shortcut on either edges
or vertices.
Recursive beveling is turned of for the time being.
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_meshdata_types.h | 4 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_modifier_types.h | 24 |
2 files changed, 25 insertions, 3 deletions
diff --git a/source/blender/makesdna/DNA_meshdata_types.h b/source/blender/makesdna/DNA_meshdata_types.h index afb1dfb108c..7970ccd073c 100644 --- a/source/blender/makesdna/DNA_meshdata_types.h +++ b/source/blender/makesdna/DNA_meshdata_types.h @@ -45,7 +45,7 @@ typedef struct MFace { typedef struct MEdge { unsigned int v1, v2; - char crease, pad; + char crease, bweight; short flag; } MEdge; @@ -63,7 +63,7 @@ typedef struct MDeformVert { typedef struct MVert { float co[3]; short no[3]; - char flag, mat_nr; + char flag, mat_nr, bweight, pad[3]; } MVert; /* at the moment alpha is abused for vertex painting diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index 1c70508509b..dd1d8eb01b3 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -33,7 +33,8 @@ typedef enum ModifierType { eModifierType_ParticleInstance, eModifierType_Explode, eModifierType_Cloth, - eModifierType_Collision, + eModifierType_Collision, + eModifierType_Bevel, NUM_MODIFIER_TYPES } ModifierType; @@ -187,6 +188,27 @@ typedef struct EdgeSplitModifierData { #define MOD_EDGESPLIT_FROMANGLE 1<<1 #define MOD_EDGESPLIT_FROMFLAG 1<<2 +typedef struct BevelModifierData { + ModifierData modifier; + + float value; /* the "raw" bevel value (distance/amount to bevel) */ + int res; /* the resolution (as originally coded, it is the number of recursive bevels) */ + int pad; + short flags; /* general option flags */ + short val_flags; /* flags used to interpret the bevel value */ + short lim_flags; /* flags to tell the tool how to limit the bevel */ + short e_flags; /* flags to direct how edge weights are applied to verts */ + float bevel_angle; /* if the BME_BEVEL_ANGLE is set, this will be how "sharp" an edge must be before it gets beveled */ + char defgrp_name[32]; /* if the BME_BEVEL_VWEIGHT option is set, this will be the name of the vert group */ +} BevelModifierData; + +typedef struct BMeshModifierData { + ModifierData modifier; + + float pad; + int type; +} BMeshModifierData; + typedef struct DisplaceModifierData { ModifierData modifier; |