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:
authorAndre Susano Pinto <andresusanopinto@gmail.com>2008-04-30 21:55:26 +0400
committerAndre Susano Pinto <andresusanopinto@gmail.com>2008-04-30 21:55:26 +0400
commit29f0f74b05462e9bd0b641602b89fa1c39ed29c8 (patch)
tree74dd34d54116a01c7c96b77405fdd0127d98a656 /source/blender/blenkernel/BKE_shrinkwrap.h
parent928b676b990486d89afa57479b85d8356e07d2d5 (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.h24
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