~ubuntu-branches/ubuntu/trusty/blender/trusty

« back to all changes in this revision

Viewing changes to source/blender/modifiers/intern/MOD_curve.c

  • Committer: Package Import Robot
  • Author(s): Jeremy Bicha
  • Date: 2013-03-06 12:08:47 UTC
  • mfrom: (1.5.1) (14.1.8 experimental)
  • Revision ID: package-import@ubuntu.com-20130306120847-frjfaryb2zrotwcg
Tags: 2.66a-1ubuntu1
* Resynchronize with Debian (LP: #1076930, #1089256, #1052743, #999024,
  #1122888, #1147084)
* debian/control:
  - Lower build-depends on libavcodec-dev since we're not
    doing the libav9 transition in Ubuntu yet

Show diffs side-by-side

added added

removed removed

Lines of Context:
52
52
 
53
53
static void initData(ModifierData *md)
54
54
{
55
 
        CurveModifierData *cmd = (CurveModifierData*) md;
 
55
        CurveModifierData *cmd = (CurveModifierData *) md;
56
56
 
57
57
        cmd->defaxis = MOD_CURVE_POSX;
58
58
}
59
59
 
60
60
static void copyData(ModifierData *md, ModifierData *target)
61
61
{
62
 
        CurveModifierData *cmd = (CurveModifierData*) md;
63
 
        CurveModifierData *tcmd = (CurveModifierData*) target;
 
62
        CurveModifierData *cmd = (CurveModifierData *) md;
 
63
        CurveModifierData *tcmd = (CurveModifierData *) target;
64
64
 
65
65
        tcmd->defaxis = cmd->defaxis;
66
66
        tcmd->object = cmd->object;
80
80
 
81
81
static int isDisabled(ModifierData *md, int UNUSED(userRenderParams))
82
82
{
83
 
        CurveModifierData *cmd = (CurveModifierData*) md;
 
83
        CurveModifierData *cmd = (CurveModifierData *) md;
84
84
 
85
85
        return !cmd->object;
86
86
}
87
87
 
88
88
static void foreachObjectLink(
89
 
                                                ModifierData *md, Object *ob,
90
 
         void (*walk)(void *userData, Object *ob, Object **obpoin),
91
 
                void *userData)
 
89
        ModifierData *md, Object *ob,
 
90
        void (*walk)(void *userData, Object *ob, Object **obpoin),
 
91
        void *userData)
92
92
{
93
 
        CurveModifierData *cmd = (CurveModifierData*) md;
 
93
        CurveModifierData *cmd = (CurveModifierData *) md;
94
94
 
95
95
        walk(userData, ob, &cmd->object);
96
96
}
97
97
 
98
98
static void updateDepgraph(ModifierData *md, DagForest *forest,
99
 
                                                Scene *UNUSED(scene),
100
 
                                                Object *UNUSED(ob),
101
 
                                                DagNode *obNode)
 
99
                           Scene *UNUSED(scene),
 
100
                           Object *UNUSED(ob),
 
101
                           DagNode *obNode)
102
102
{
103
 
        CurveModifierData *cmd = (CurveModifierData*) md;
 
103
        CurveModifierData *cmd = (CurveModifierData *) md;
104
104
 
105
105
        if (cmd->object) {
106
106
                DagNode *curNode = dag_get_node(forest, cmd->object);
111
111
}
112
112
 
113
113
static void deformVerts(ModifierData *md, Object *ob,
114
 
                                                DerivedMesh *derivedData,
115
 
                                                float (*vertexCos)[3],
116
 
                                                int numVerts,
117
 
                                                int UNUSED(useRenderParams),
118
 
                                                int UNUSED(isFinalCalc))
 
114
                        DerivedMesh *derivedData,
 
115
                        float (*vertexCos)[3],
 
116
                        int numVerts,
 
117
                        ModifierApplyFlag UNUSED(flag))
119
118
{
120
 
        CurveModifierData *cmd = (CurveModifierData*) md;
 
119
        CurveModifierData *cmd = (CurveModifierData *) md;
121
120
 
122
121
        /* silly that defaxis and curve_deform_verts are off by 1
123
122
         * but leave for now to save having to call do_versions */
124
123
        curve_deform_verts(md->scene, cmd->object, ob, derivedData, vertexCos, numVerts,
125
 
                           cmd->name, cmd->defaxis-1);
 
124
                           cmd->name, cmd->defaxis - 1);
126
125
}
127
126
 
128
127
static void deformVertsEM(
129
 
                                        ModifierData *md, Object *ob, struct BMEditMesh *editData,
130
 
         DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
 
128
        ModifierData *md, Object *ob, struct BMEditMesh *em,
 
129
        DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
131
130
{
132
131
        DerivedMesh *dm = derivedData;
133
132
 
134
 
        if (!derivedData) dm = CDDM_from_BMEditMesh(editData, ob->data, FALSE, FALSE);
 
133
        if (!derivedData) dm = CDDM_from_editbmesh(em, FALSE, FALSE);
135
134
 
136
 
        deformVerts(md, ob, dm, vertexCos, numVerts, 0, 0);
 
135
        deformVerts(md, ob, dm, vertexCos, numVerts, 0);
137
136
 
138
137
        if (!derivedData) dm->release(dm);
139
138
}
144
143
        /* structName */        "CurveModifierData",
145
144
        /* structSize */        sizeof(CurveModifierData),
146
145
        /* type */              eModifierTypeType_OnlyDeform,
147
 
        /* flags */             eModifierTypeFlag_AcceptsCVs
148
 
                                                        | eModifierTypeFlag_SupportsEditmode,
 
146
        /* flags */             eModifierTypeFlag_AcceptsCVs |
 
147
                                eModifierTypeFlag_SupportsEditmode,
149
148
 
150
149
        /* copyData */          copyData,
151
150
        /* deformVerts */       deformVerts,
160
159
        /* isDisabled */        isDisabled,
161
160
        /* updateDepgraph */    updateDepgraph,
162
161
        /* dependsOnTime */     NULL,
163
 
        /* dependsOnNormals */  NULL,
 
162
        /* dependsOnNormals */  NULL,
164
163
        /* foreachObjectLink */ foreachObjectLink,
165
164
        /* foreachIDLink */     NULL,
166
165
        /* foreachTexLink */    NULL,