diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-01-24 06:14:39 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-01-24 06:14:39 +0400 |
commit | 936b82802a6fb987876518a48c4e7602cc5d7634 (patch) | |
tree | e34884eb606d6e489ef21ce95c55281913ebc9c6 /source/blender/modifiers | |
parent | dccec5727ef8325bb16e1125236ccceab36bd878 (diff) |
add bullet define & include for scons makesrna, also move meshcache utils into own file.
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r-- | source/blender/modifiers/CMakeLists.txt | 2 | ||||
-rw-r--r-- | source/blender/modifiers/SConscript | 37 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_meshcache.c | 44 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_meshcache_util.c | 67 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_subsurf.c | 2 |
5 files changed, 94 insertions, 58 deletions
diff --git a/source/blender/modifiers/CMakeLists.txt b/source/blender/modifiers/CMakeLists.txt index 50ba6241b4d..9f1361b4909 100644 --- a/source/blender/modifiers/CMakeLists.txt +++ b/source/blender/modifiers/CMakeLists.txt @@ -28,7 +28,6 @@ set(INC . intern ../blenkernel - ../blenkernel/intern ../blenlib ../blenfont ../blenloader @@ -70,6 +69,7 @@ set(SRC intern/MOD_meshcache.c intern/MOD_meshcache_mdd.c intern/MOD_meshcache_pc2.c + intern/MOD_meshcache_util.c intern/MOD_meshdeform.c intern/MOD_mirror.c intern/MOD_multires.c diff --git a/source/blender/modifiers/SConscript b/source/blender/modifiers/SConscript index d3430c6a4d5..cbd0ad12e05 100644 --- a/source/blender/modifiers/SConscript +++ b/source/blender/modifiers/SConscript @@ -29,13 +29,26 @@ Import ('env') sources = env.Glob('intern/*.c') -incs = '. ./intern' -incs += ' #/intern/guardedalloc #/intern/bsp/extern #/intern/elbeem/extern #/extern/glew/include #/intern/opennl/extern' -incs += ' ../render/extern/include ../blenloader ../bmesh' -incs += ' ../include ../blenlib ../blenfont ../makesdna ../makesrna ../blenkernel ../blenkernel/intern' -incs += ' ../gpu' - -incs += ' ' + env['BF_ZLIB_INC'] +incs = [ + '.', + './intern', + '#/intern/guardedalloc', + '#/intern/bsp/extern', + '#/intern/elbeem/extern', + '#/extern/glew/include', + '#/intern/opennl/extern', + '../render/extern/include', + '../blenloader', + '../bmesh', + '../include', + '../blenlib', + '../blenfont', + '../makesdna', + '../makesrna', + '../blenkernel', + '../gpu', + env['BF_ZLIB_INC'], + ] defs = [] @@ -43,7 +56,7 @@ if env ['WITH_BF_BOOLEAN']: defs.append('WITH_MOD_BOOLEAN') if env['WITH_BF_REMESH']: - incs += ' #/intern/dualcon' + incs.append('#/intern/dualcon') defs.append('WITH_MOD_REMESH') if env['WITH_BF_FLUID']: @@ -53,12 +66,12 @@ if env['WITH_BF_OCEANSIM']: defs.append('WITH_OCEANSIM') if env['WITH_BF_GAMEENGINE']: - incs += ' #/extern/recastnavigation' + incs.append('#/extern/recastnavigation') defs.append('WITH_GAMEENGINE') if env['WITH_BF_INTERNATIONAL']: defs.append('WITH_INTERNATIONAL') -env.BlenderLib ( libname = 'bf_modifiers', sources = sources, - includes = Split(incs), defines=defs, - libtype=['core','player'], priority = [80, 40] ) +env.BlenderLib(libname='bf_modifiers', sources=sources, + includes=incs, defines=defs, + libtype=['core', 'player'], priority=[80, 40]) diff --git a/source/blender/modifiers/intern/MOD_meshcache.c b/source/blender/modifiers/intern/MOD_meshcache.c index 054d95e26ac..e74da2c5d2b 100644 --- a/source/blender/modifiers/intern/MOD_meshcache.c +++ b/source/blender/modifiers/intern/MOD_meshcache.c @@ -47,50 +47,6 @@ #include "MOD_util.h" -/* -------------------------------------------------------------------- */ -/* Utility function shared by formats */ -void MOD_meshcache_calc_range(const float frame, const char interp, - const int frame_tot, - int r_index_range[2], float *r_factor) -{ - if (interp == MOD_MESHCACHE_INTERP_NONE) { - r_index_range[0] = r_index_range[1] = max_ii(0, min_ii(frame_tot - 1, (int)(floorf(frame) + 0.5f))); - *r_factor = 1.0f; /* dummy */ - } - else { - const float tframe = floorf(frame); - const float range = frame - tframe; - r_index_range[0] = (int)tframe; - if (range <= FRAME_SNAP_EPS) { - /* we're close enough not to need blending */ - r_index_range[1] = r_index_range[0]; - *r_factor = 1.0f; /* dummy */ - } - else { - /* blend between 2 frames */ - r_index_range[1] = r_index_range[0] + 1; - *r_factor = range; - } - - /* clamp */ - if ((r_index_range[0] >= frame_tot) || - (r_index_range[1] >= frame_tot)) - { - r_index_range[0] = r_index_range[1] = frame_tot - 1; - *r_factor = 1.0f; /* dummy */ - } - else if ((r_index_range[0] < 0) || - (r_index_range[1] < 0)) - { - r_index_range[0] = r_index_range[1] = 0; - *r_factor = 1.0f; /* dummy */ - } - } -} - - -/* -------------------------------------------------------------------- */ - static void initData(ModifierData *md) { MeshCacheModifierData *mcmd = (MeshCacheModifierData *)md; diff --git a/source/blender/modifiers/intern/MOD_meshcache_util.c b/source/blender/modifiers/intern/MOD_meshcache_util.c new file mode 100644 index 00000000000..9068eb87581 --- /dev/null +++ b/source/blender/modifiers/intern/MOD_meshcache_util.c @@ -0,0 +1,67 @@ +/* + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Contributor(s): Campbell Barton + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#include "BLI_utildefines.h" +#include "BLI_math.h" + +#include "DNA_modifier_types.h" + +#include "MOD_meshcache_util.h" + +void MOD_meshcache_calc_range(const float frame, const char interp, + const int frame_tot, + int r_index_range[2], float *r_factor) +{ + if (interp == MOD_MESHCACHE_INTERP_NONE) { + r_index_range[0] = r_index_range[1] = max_ii(0, min_ii(frame_tot - 1, (int)(floorf(frame) + 0.5f))); + *r_factor = 1.0f; /* dummy */ + } + else { + const float tframe = floorf(frame); + const float range = frame - tframe; + r_index_range[0] = (int)tframe; + if (range <= FRAME_SNAP_EPS) { + /* we're close enough not to need blending */ + r_index_range[1] = r_index_range[0]; + *r_factor = 1.0f; /* dummy */ + } + else { + /* blend between 2 frames */ + r_index_range[1] = r_index_range[0] + 1; + *r_factor = range; + } + + /* clamp */ + if ((r_index_range[0] >= frame_tot) || + (r_index_range[1] >= frame_tot)) + { + r_index_range[0] = r_index_range[1] = frame_tot - 1; + *r_factor = 1.0f; /* dummy */ + } + else if ((r_index_range[0] < 0) || + (r_index_range[1] < 0)) + { + r_index_range[0] = r_index_range[1] = 0; + *r_factor = 1.0f; /* dummy */ + } + } +} diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c index 2af192d83f5..c0d46b14aa8 100644 --- a/source/blender/modifiers/intern/MOD_subsurf.c +++ b/source/blender/modifiers/intern/MOD_subsurf.c @@ -47,7 +47,7 @@ #include "MOD_modifiertypes.h" -#include "CCGSubSurf.h" +#include "intern/CCGSubSurf.h" static void initData(ModifierData *md) { |