diff options
author | Andre Susano Pinto <andresusanopinto@gmail.com> | 2008-04-30 21:55:26 +0400 |
---|---|---|
committer | Andre Susano Pinto <andresusanopinto@gmail.com> | 2008-04-30 21:55:26 +0400 |
commit | 29f0f74b05462e9bd0b641602b89fa1c39ed29c8 (patch) | |
tree | 74dd34d54116a01c7c96b77405fdd0127d98a656 /source/blender/blenkernel/BKE_shrinkwrap.h | |
parent | 928b676b990486d89afa57479b85d8356e07d2d5 (diff) |
Changed a bit of code structure to make method optimization easier
Diffstat (limited to 'source/blender/blenkernel/BKE_shrinkwrap.h')
-rw-r--r-- | source/blender/blenkernel/BKE_shrinkwrap.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_shrinkwrap.h b/source/blender/blenkernel/BKE_shrinkwrap.h index 4fd1ae354cd..0a302b21141 100644 --- a/source/blender/blenkernel/BKE_shrinkwrap.h +++ b/source/blender/blenkernel/BKE_shrinkwrap.h @@ -33,6 +33,30 @@ struct Object; struct DerivedMesh; struct ShrinkwrapModifierData; + +typedef struct ShrinkwrapCalcData +{ + ShrinkwrapModifierData *smd; //shrinkwrap modifier data + + struct Object *ob; //object we are applying shrinkwrap to + struct DerivedMesh *original; //mesh before shrinkwrap + struct DerivedMesh *final; //initially a copy of original mesh.. mesh thats going to be shrinkwrapped + + struct DerivedMesh *target; //mesh we are shrinking to + + //matrixs for local<->target space transform + float local2target[4][4]; + float target2local[4][4]; + + //float *weights; //weights of vertexs + unsigned char *moved; //boolean indicating if vertex has moved (TODO use bitmaps) + +} ShrinkwrapCalcData; + +void shrinkwrap_calc_nearest_vertex(ShrinkwrapCalcData *data); +void shrinkwrap_calc_normal_projection(ShrinkwrapCalcData *data); +void shrinkwrap_calc_nearest_surface_point(ShrinkwrapCalcData *data); + struct DerivedMesh *shrinkwrapModifier_do(struct ShrinkwrapModifierData *smd, struct Object *ob, struct DerivedMesh *dm, int useRenderParams, int isFinalCalc); #endif |