svn merge -r40179:40195 https://svn.blender.org/svnroot/bf-blender/trunk/blender
authorCampbell Barton <ideasman42@gmail.com>
Wed, 14 Sep 2011 01:32:59 +0000 (01:32 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 14 Sep 2011 01:32:59 +0000 (01:32 +0000)
41 files changed:
build_files/buildbot/config/user-config-i686.py
build_files/buildbot/config/user-config-x86_64.py
build_files/cmake/Modules/FindOpenCOLLADA.cmake
build_files/cmake/Modules/FindPCRE.cmake
build_files/cmake/Modules/FindXML2.cmake
extern/recastnavigation/Detour/Include/DetourTileNavMesh.h
extern/recastnavigation/Recast/Source/RecastMeshDetail.cpp
source/blender/blenkernel/BKE_curve.h
source/blender/blenkernel/BKE_object.h
source/blender/blenkernel/BKE_paint.h
source/blender/blenkernel/CMakeLists.txt
source/blender/blenkernel/SConscript
source/blender/blenkernel/intern/DerivedMesh.c
source/blender/blenkernel/intern/cdderivedmesh.c
source/blender/blenkernel/intern/curve.c
source/blender/blenkernel/intern/displist.c
source/blender/blenkernel/intern/mesh_validate.c
source/blender/blenkernel/intern/navmesh_conversion.cpp
source/blender/blenkernel/intern/object.c
source/blender/blenkernel/intern/subsurf_ccg.c
source/blender/editors/curve/curve_ops.c
source/blender/editors/curve/editcurve.c
source/blender/editors/include/ED_curve.h
source/blender/editors/include/ED_sculpt.h
source/blender/editors/object/object_add.c
source/blender/editors/object/object_hook.c
source/blender/editors/object/object_relations.c
source/blender/editors/render/render_shading.c
source/blender/editors/sculpt_paint/sculpt.c
source/blender/editors/sculpt_paint/sculpt_intern.h
source/blender/editors/sculpt_paint/sculpt_undo.c
source/blender/editors/space_info/info_stats.c
source/blender/editors/space_view3d/drawobject.c
source/blender/editors/space_view3d/view3d_buttons.c
source/blender/editors/space_view3d/view3d_snap.c
source/blender/editors/transform/transform_conversions.c
source/blender/editors/transform/transform_generics.c
source/blender/editors/transform/transform_manipulator.c
source/blender/editors/transform/transform_orientations.c
source/blenderplayer/bad_level_call_stubs/stubs.c
source/creator/CMakeLists.txt

index 07dc4a9d83163bb852f02948d0ac8452f9b056a4..5fe3d6891fd36f367404f028170750c4880ae484 100644 (file)
@@ -87,6 +87,10 @@ WITH_BF_STATIC3DMOUSE = True
 BF_3DMOUSE = '/home/sources/staticlibs/spnav'
 BF_3DMOUSE_LIBPATH = '${BF_3DMOUSE}/lib32'
 
+# FFT
+WITH_BF_FFTW3 = True
+WITH_BF_STATICFFTW3 = True
+
 # Compilation and optimization
 BF_DEBUG = False
 REL_CFLAGS = ['-O2']
index 9c569ff44581c806d9873aeb4f97ce23315308b3..b8b2d7f7a5f52dbd026872bbfcb07bb095cb8e29 100644 (file)
@@ -87,6 +87,10 @@ WITH_BF_STATIC3DMOUSE = True
 BF_3DMOUSE = '/home/sources/staticlibs/spnav'
 BF_3DMOUSE_LIBPATH = '${BF_3DMOUSE}/lib64'
 
+# FFT
+WITH_BF_FFTW3 = True
+WITH_BF_STATICFFTW3 = True
+
 # Compilation and optimization
 BF_DEBUG = False
 REL_CFLAGS = ['-O2']
index a9a1d54450741331da0968f8a67eb80be1ba46d9..0c8d8c8d8419331670d9c7f6461bcea55568ae6b 100644 (file)
@@ -119,8 +119,8 @@ FOREACH(COMPONENT ${_opencollada_FIND_STATIC_COMPONENTS})
       # Ubuntu ppa needs this.
       lib64/opencollada lib/opencollada
     )
+  MARK_AS_ADVANCED(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY)
   IF(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY)
-    MARK_AS_ADVANCED(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY)
     LIST(APPEND _opencollada_LIBRARIES "${OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY}")
   ENDIF()
 ENDFOREACH()
index a09375287a6bd6699f9e1830b8f5e89db58dad4c..9d73e9200d9e55929cc1112fb1f2c0f0b121549c 100644 (file)
@@ -1,43 +1,69 @@
-# - Try to find the PCRE regular expression library
-# Once done this will define
+# - Find PCRE library
+# Find the native PCRE includes and library
+# This module defines
+#  PCRE_INCLUDE_DIRS, where to find pcre.h, Set when
+#                     PCRE_INCLUDE_DIR is found.
+#  PCRE_LIBRARIES, libraries to link against to use PCRE.
+#  PCRE_ROOT_DIR, The base directory to search for PCRE.
+#                 This can also be an environment variable.
+#  PCRE_FOUND, If false, do not try to use PCRE.
 #
-#  PCRE_FOUND - system has the PCRE library
-#  PCRE_INCLUDE_DIR - the PCRE include directory
-#  PCRE_LIBRARIES - The libraries needed to use PCRE
+# also defined, but not for general use are
+#  PCRE_LIBRARY, where to find the PCRE library.
 
-# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
+#=============================================================================
+# Copyright 2011 Blender Foundation.
 #
-# Redistribution and use is allowed according to the terms of the BSD license.
-
-if (PCRE_INCLUDE_DIR AND PCRE_PCREPOSIX_LIBRARY AND PCRE_PCRE_LIBRARY)
-  # Already in cache, be silent
-  set(PCRE_FIND_QUIETLY TRUE)
-endif (PCRE_INCLUDE_DIR AND PCRE_PCREPOSIX_LIBRARY AND PCRE_PCRE_LIBRARY)
-       
-if (NOT WIN32)
-  # use pkg-config to get the directories and then use these values
-  # in the FIND_PATH() and FIND_LIBRARY() calls
-  find_package(PkgConfig)
-  pkg_check_modules(PC_PCRE QUIET libpcre)
-  set(PCRE_DEFINITIONS ${PC_PCRE_CFLAGS_OTHER})
-endif (NOT WIN32)
-
-find_path(PCRE_INCLUDE_DIR pcre.h
-          HINTS ${PC_PCRE_INCLUDEDIR} ${PC_PCRE_INCLUDE_DIRS}
-          PATH_SUFFIXES pcre)
-
-find_library(PCRE_PCRE_LIBRARY NAMES pcre HINTS ${PC_PCRE_LIBDIR} ${PC_PCRE_LIBRARY_DIRS})
-
-find_library(PCRE_PCREPOSIX_LIBRARY NAMES pcreposix HINTS ${PC_PCRE_LIBDIR} ${PC_PCRE_LIBRARY_DIRS})
-
-include(FindPackageHandleStandardArgs)
-
-IF(NOT WIN32)
-        find_package_handle_standard_args(PCRE DEFAULT_MSG PCRE_INCLUDE_DIR PCRE_PCRE_LIBRARY PCRE_PCREPOSIX_LIBRARY )
-        mark_as_advanced(PCRE_INCLUDE_DIR PCRE_LIBRARIES PCRE_PCREPOSIX_LIBRARY PCRE_PCRE_LIBRARY)
-        set(PCRE_LIBRARIES ${PCRE_PCRE_LIBRARY} ${PCRE_PCREPOSIX_LIBRARY})
-ELSE()
-        find_package_handle_standard_args(PCRE DEFAULT_MSG PCRE_INCLUDE_DIR PCRE_PCRE_LIBRARY  )
-        set(PCRE_LIBRARIES ${PCRE_PCRE_LIBRARY} )
-        mark_as_advanced(PCRE_INCLUDE_DIR PCRE_LIBRARIES PCRE_PCRE_LIBRARY)
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If PCRE_ROOT_DIR was defined in the environment, use it.
+IF(NOT PCRE_ROOT_DIR AND NOT $ENV{PCRE_ROOT_DIR} STREQUAL "")
+  SET(PCRE_ROOT_DIR $ENV{PCRE_ROOT_DIR})
 ENDIF()
+
+SET(_pcre_SEARCH_DIRS
+  ${PCRE_ROOT_DIR}
+  /usr/local
+  /sw # Fink
+  /opt/local # DarwinPorts
+  /opt/csw # Blastwave
+)
+
+FIND_PATH(PCRE_INCLUDE_DIR pcre.h
+  HINTS
+    ${_pcre_SEARCH_DIRS}
+  PATH_SUFFIXES
+    include
+    include
+)
+
+FIND_LIBRARY(PCRE_LIBRARY
+  NAMES
+    pcre
+  HINTS
+    ${_pcre_SEARCH_DIRS}
+  PATH_SUFFIXES
+    lib64 lib
+  )
+
+# handle the QUIETLY and REQUIRED arguments and set PCRE_FOUND to TRUE if 
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE DEFAULT_MSG
+    PCRE_LIBRARY PCRE_INCLUDE_DIR)
+
+IF(PCRE_FOUND)
+  SET(PCRE_LIBRARIES ${PCRE_LIBRARY})
+  SET(PCRE_INCLUDE_DIRS ${PCRE_INCLUDE_DIR})
+ENDIF(PCRE_FOUND)
+
+MARK_AS_ADVANCED(
+  PCRE_INCLUDE_DIR
+  PCRE_LIBRARY
+)
index e9f9fb3ca7425c9bd1cc595e4ef8ddb639cd1292..40cc332fb8846391e3867982a0676e6222cbda98 100644 (file)
@@ -1,88 +1,68 @@
-# - Try to find XML2
-# Once done this will define
+# - Find XML2 library
+# Find the native XML2 includes and library
+# This module defines
+#  XML2_INCLUDE_DIRS, where to find xml2.h, Set when
+#                     XML2_INCLUDE_DIR is found.
+#  XML2_LIBRARIES, libraries to link against to use XML2.
+#  XML2_ROOT_DIR, The base directory to search for XML2.
+#                 This can also be an environment variable.
+#  XML2_FOUND, If false, do not try to use XML2.
 #
-#  XML2_FOUND - system has XML2
-#  XML2_INCLUDE_DIRS - the XML2 include directory
-#  XML2_LIBRARIES - Link these to use XML2
-#  XML2_DEFINITIONS - Compiler switches required for using XML2
-#
-#  Copyright (c) 2008 Andreas Schneider <mail@cynapses.org>
+# also defined, but not for general use are
+#  XML2_LIBRARY, where to find the XML2 library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
 #
-#  Redistribution and use is allowed according to the terms of the New
-#  BSD license.
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
 #
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
 
+# If XML2_ROOT_DIR was defined in the environment, use it.
+IF(NOT XML2_ROOT_DIR AND NOT $ENV{XML2_ROOT_DIR} STREQUAL "")
+  SET(XML2_ROOT_DIR $ENV{XML2_ROOT_DIR})
+ENDIF()
 
-if (XML2_LIBRARIES AND XML2_INCLUDE_DIRS)
-  # in cache already
-  set(XML2_FOUND TRUE)
-else (XML2_LIBRARIES AND XML2_INCLUDE_DIRS)
-  # use pkg-config to get the directories and then use these values
-  # in the FIND_PATH() and FIND_LIBRARY() calls
-  if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
-    include(UsePkgConfig)
-    pkgconfig(libxml-2.0 _XML2_INCLUDEDIR _XML2_LIBDIR _XML2_LDFLAGS _XML2_CFLAGS)
-  else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
-    find_package(PkgConfig)
-    if (PKG_CONFIG_FOUND)
-      pkg_check_modules(_XML2 libxml-2.0)
-    endif (PKG_CONFIG_FOUND)
-  endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
-  find_path(XML2_INCLUDE_DIR
-    NAMES
-      libxml/xpath.h
-    PATHS
-      ${_XML2_INCLUDEDIR}
-      /usr/include
-      /usr/local/include
-      /opt/local/include
-      /sw/include
-    PATH_SUFFIXES
-      libxml2
-  )
-
-  find_library(XML2_LIBRARY
-    NAMES
-      xml2
-    PATHS
-      ${_XML2_LIBDIR}
-      /usr/lib
-      /usr/local/lib
-      /opt/local/lib
-      /sw/lib
-  )
+SET(_xml2_SEARCH_DIRS
+  ${XML2_ROOT_DIR}
+  /usr/local
+  /sw # Fink
+  /opt/local # DarwinPorts
+  /opt/csw # Blastwave
+)
 
-  if (XML2_LIBRARY)
-    set(XML2_FOUND TRUE)
-  endif (XML2_LIBRARY)
+FIND_PATH(XML2_INCLUDE_DIR libxml2/libxml/xpath.h
+  HINTS
+    ${_xml2_SEARCH_DIRS}
+  PATH_SUFFIXES
+    include
+)
 
-  set(XML2_INCLUDE_DIRS
-    ${XML2_INCLUDE_DIR}
+FIND_LIBRARY(XML2_LIBRARY
+  NAMES
+    xml2
+  HINTS
+    ${_xml2_SEARCH_DIRS}
+  PATH_SUFFIXES
+    lib64 lib
   )
 
-  if (XML2_FOUND)
-    set(XML2_LIBRARIES
-      ${XML2_LIBRARIES}
-      ${XML2_LIBRARY}
-    )
-  endif (XML2_FOUND)
-
-  if (XML2_INCLUDE_DIRS AND XML2_LIBRARIES)
-     set(XML2_FOUND TRUE)
-  endif (XML2_INCLUDE_DIRS AND XML2_LIBRARIES)
-
-  if (XML2_FOUND)
-    if (NOT XML2_FIND_QUIETLY)
-      message(STATUS "Found XML2: ${XML2_LIBRARIES}")
-    endif (NOT XML2_FIND_QUIETLY)
-  else (XML2_FOUND)
-    if (XML2_FIND_REQUIRED)
-      message(FATAL_ERROR "Could not find XML2")
-    endif (XML2_FIND_REQUIRED)
-  endif (XML2_FOUND)
-
-  # show the XML2_INCLUDE_DIRS and XML2_LIBRARIES variables only in the advanced view
-  mark_as_advanced(XML2_INCLUDE_DIRS XML2_LIBRARIES)
+# handle the QUIETLY and REQUIRED arguments and set XML2_FOUND to TRUE if 
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(XML2 DEFAULT_MSG
+    XML2_LIBRARY XML2_INCLUDE_DIR)
 
-endif (XML2_LIBRARIES AND XML2_INCLUDE_DIRS)
+IF(XML2_FOUND)
+  SET(XML2_LIBRARIES ${XML2_LIBRARY})
+  SET(XML2_INCLUDE_DIRS ${XML2_INCLUDE_DIR})
+ENDIF(XML2_FOUND)
 
+MARK_AS_ADVANCED(
+  XML2_INCLUDE_DIR
+  XML2_LIBRARY
+)
index 305c61e5eb569e03246e08e7241bb092e8beacee..50ccdd118e83b039b26182c0503ceca71afd9a9d 100644 (file)
@@ -36,7 +36,7 @@ static const int DT_TILE_VERTS_PER_POLYGON = 6;
 static const int DT_MAX_TILES = 1 << DT_TILE_REF_TILE_BITS;
 static const int DT_MAX_POLYGONS = 1 << DT_TILE_REF_POLY_BITS;
 
-static const int DT_TILE_NAVMESH_MAGIC = (('N'<<24) | ('A'<<16) | ('V'<<8) | 'M');
+static const int DT_TILE_NAVMESH_MAGIC = (('N'<<24) | ('A'<<16) | ('V'<<8) | 'T');
 static const int DT_TILE_NAVMESH_VERSION = 2;
 
 // Structure holding the navigation polygon data.
index dab94eaa7750242f57071f6821a6002bfab87f30..f1d2113a8c727ed399e9ac291fca524f6ae90890 100644 (file)
@@ -94,7 +94,20 @@ static int circumCircle(const float xp, const float yp,
        
        return (drsqr <= rsqr) ? 1 : 0;
 }
-
+#ifdef FREE_WINDOWS
+static float *_mingw_verts;
+static int ptcmp(const void *v1, const void *v2)
+{
+       const float* p1 = &_mingw_verts[(*(const int*)v1)*3];
+       const float* p2 = &_mingw_verts[(*(const int*)v2)*3];
+       if (p1[0] < p2[0])
+               return -1;
+       else if (p1[0] > p2[0])
+               return 1;
+       else
+               return 0;
+}
+#else
 #if defined(_MSC_VER)
 static int ptcmp(void* up, const void *v1, const void *v2)
 #elif defined(__APPLE__) || defined(__FreeBSD__)
@@ -113,6 +126,7 @@ static int ptcmp(const void *v1, const void *v2, void* up)
        else
                return 0;
 }
+#endif
 
 // Based on Paul Bourke's triangulate.c
 //  http://astronomy.swin.edu.au/~pbourke/terrain/triangulate/triangulate.c
@@ -126,6 +140,9 @@ static void delaunay(const int nv, float *verts, rcIntArray& idx, rcIntArray& tr
        qsort_s(&idx[0], idx.size(), sizeof(int), ptcmp, verts);
 #elif defined(__APPLE__) || defined(__FreeBSD__)
        qsort_r(&idx[0], idx.size(), sizeof(int), verts, ptcmp);
+#elif defined(FREE_WINDOWS)
+       _mingw_verts = verts;
+       qsort(&idx[0], idx.size(), sizeof(int), ptcmp);
 #else
        qsort_r(&idx[0], idx.size(), sizeof(int), ptcmp, verts);
 #endif
index 557ce417b1424fa86860476c579c60d59a7350c2..02fc70e41e88cc4b8119577465f39d8482564c58 100644 (file)
  *  \since March 2001
  *  \author nzc
  */
+
+struct BevList;
+struct BezTriple;
 struct Curve;
+struct EditNurb;
 struct ListBase;
+struct ListBase;
+struct Nurb;
 struct Object;
 struct Scene;
-struct Nurb;
-struct ListBase;
-struct BezTriple;
-struct BevList;
 
 #define KNOTSU(nu)         ( (nu)->orderu+ (nu)->pntsu+ (((nu)->flagu & CU_NURB_CYCLIC) ? ((nu)->orderu-1) : 0) )
 #define KNOTSV(nu)         ( (nu)->orderv+ (nu)->pntsv+ (((nu)->flagv & CU_NURB_CYCLIC) ? ((nu)->orderv-1) : 0) )
@@ -55,11 +57,14 @@ struct BevList;
 
 
 void unlink_curve( struct Curve *cu);
+void free_curve_editNurb_keyIndex(struct EditNurb *editnurb);
+void free_curve_editNurb(struct Curve *cu);
 void free_curve( struct Curve *cu);
 void BKE_free_editfont(struct Curve *cu);
 struct Curve *add_curve(const char *name, int type);
 struct Curve *copy_curve( struct Curve *cu);
 void make_local_curve( struct Curve *cu);
+struct ListBase *curve_editnurbs(struct Curve *cu);
 short curve_type( struct Curve *cu);
 void test_curve_type( struct Object *ob);
 void tex_space_curve( struct Curve *cu);
index a6b5c04b5c3038a3e2051cb11d0adc8ae3fb6172..7f2a133d27aa98ad137fb78a21452808bcf2f371 100644 (file)
@@ -128,6 +128,7 @@ void *object_tfm_backup(struct Object *ob);
 void object_tfm_restore(struct Object *ob, void *obtfm_pt);
 
 void object_handle_update(struct Scene *scene, struct Object *ob);
+void object_sculpt_modifiers_changed(struct Object *ob);
 
 float give_timeoffset(struct Object *ob);
 int give_obdata_texspace(struct Object *ob, short **texflag, float **loc, float **size, float **rot);
index cee97e7631f2a690f8ee87e17435449f5e58429d..99f9944bc08dec989ad9a06c87fc3d4e535fe78a 100644 (file)
@@ -98,5 +98,6 @@ typedef struct SculptSession {
 } SculptSession;
 
 void free_sculptsession(struct Object *ob);
+void free_sculptsession_deformMats(struct SculptSession *ss);
 
 #endif
index 52709b75ca07b81d89228fa35a324a02583217be..9cf0a92742fc376caf6fffa9fe665213aefde476 100644 (file)
@@ -35,7 +35,6 @@ set(INC
        ../blenfont
        ../blenlib
        ../blenloader
-       ../editors/include
        ../gpu
        ../ikplugin
        ../imbuf
index 632188b2d8607aa4759cf1e29e3d0a2013e7da88..56de8afc0da5ff0a2be12062627b7391050d6d6d 100644 (file)
@@ -4,7 +4,7 @@ import os
 
 sources = env.Glob('intern/*.c') + env.Glob('intern/*.cpp')
 
-incs = '. #/intern/guardedalloc #/intern/memutil ../editors/include'
+incs = '. #/intern/guardedalloc #/intern/memutil'
 incs += ' ../blenlib ../blenfont ../makesdna ../windowmanager'
 incs += ' ../render/extern/include #/intern/decimation/extern ../makesrna'
 incs += ' ../imbuf ../ikplugin ../avi #/intern/elbeem/extern ../nodes ../modifiers'
index bf77f8bc9c0f601a457225be8d99d498efacd6cf..63ce62503ad12b0652f1531010facad3518002d2 100644 (file)
 #include "BKE_texture.h"
 #include "BKE_multires.h"
 
-
 #include "BLO_sys_types.h" // for intptr_t support
 
-#include "BIF_gl.h"
-#include "BIF_glutil.h"
+#include "GL/glew.h"
 
 #include "GPU_buffers.h"
 #include "GPU_draw.h"
 #include "GPU_extensions.h"
 #include "GPU_material.h"
 
-#include "ED_sculpt.h" /* for ED_sculpt_modifiers_changed */
+extern GLubyte stipple_quarttone[128]; /* glutil.c, bad level data */
 // Jason was here, this is for multi-paint
 #include "ED_armature.h"
 
@@ -2401,7 +2399,7 @@ static void clear_mesh_caches(Object *ob)
        }
 
        if(ob->sculpt) {
-               ED_sculpt_modifiers_changed(ob);
+               object_sculpt_modifiers_changed(ob);
        }
 }
 
index 0cff6d75b6a380146f982b9104f2d8614951ef03..d810de9d1829fc33c9b1bdff3769029619f2108f 100644 (file)
  *  \ingroup bke
  */
  
-
-/* TODO maybe BIF_gl.h should include string.h? */
-#include <string.h>
-#include "BIF_gl.h"
+#include "GL/glew.h"
 
 #include "BLI_blenlib.h"
 #include "BLI_edgehash.h"
index 254629befd5ccc33331372ea13328268179d1459..bd70e365f512dc5a35df5a9486a1eb70b0bc9dd0 100644 (file)
 
 #include "MEM_guardedalloc.h"
 
-#include "BLI_blenlib.h"  
-#include "BLI_math.h"  
+#include "BLI_blenlib.h"
+#include "BLI_math.h"
 #include "BLI_utildefines.h"
+#include "BLI_ghash.h"
 
 #include "DNA_curve_types.h"  
 #include "DNA_material_types.h"  
@@ -66,9 +67,6 @@
 #include "BKE_object.h"
 #include "BKE_material.h"
 
-
-#include "ED_curve.h"
-
 /* globals */
 
 /* local */
@@ -118,6 +116,25 @@ void BKE_free_editfont(Curve *cu)
        }
 }
 
+void free_curve_editNurb_keyIndex(EditNurb *editnurb)
+{
+       if (!editnurb->keyindex) {
+               return;
+       }
+       BLI_ghash_free(editnurb->keyindex, NULL, (GHashValFreeFP)MEM_freeN);
+       editnurb->keyindex= NULL;
+}
+
+void free_curve_editNurb (Curve *cu)
+{
+       if(cu->editnurb) {
+               freeNurblist(&cu->editnurb->nurbs);
+               free_curve_editNurb_keyIndex(cu->editnurb);
+               MEM_freeN(cu->editnurb);
+               cu->editnurb= NULL;
+       }
+}
+
 /* don't free curve itself */
 void free_curve(Curve *cu)
 {
@@ -281,6 +298,16 @@ void make_local_curve(Curve *cu)
        }
 }
 
+/* Get list of nurbs from editnurbs structure */
+ListBase *curve_editnurbs(Curve *cu)
+{
+       if (cu->editnurb) {
+               return &cu->editnurb->nurbs;
+       }
+
+       return NULL;
+}
+
 short curve_type(Curve *cu)
 {
        Nurb *nu;
@@ -358,7 +385,6 @@ void tex_space_curve(Curve *cu)
        }
 }
 
-
 int count_curveverts(ListBase *nurb)
 {
        Nurb *nu;
@@ -2049,7 +2075,7 @@ void makeBevelList(Object *ob)
 
        BLI_freelistN(&(cu->bev));
        if(cu->editnurb && ob->type!=OB_FONT) {
-               ListBase *nurbs= ED_curve_editnurbs(cu);
+               ListBase *nurbs= curve_editnurbs(cu);
                nu= nurbs->first;
        } else nu= cu->nurb.first;
        
@@ -3157,7 +3183,7 @@ int clamp_nurb_order_v( struct Nurb *nu)
 ListBase *BKE_curve_nurbs(Curve *cu)
 {
        if (cu->editnurb) {
-               return ED_curve_editnurbs(cu);
+               return curve_editnurbs(cu);
        }
 
        return &cu->nurb;
index c2ed64686434630805db7458968d047c192fa7eb..b19ea93a1b8d8e2049e4b0be21137b8217787311 100644 (file)
@@ -67,8 +67,6 @@
 
 #include "BLO_sys_types.h" // for intptr_t support
 
-#include "ED_curve.h" /* for BKE_curve_nurbs */
-
 extern Material defmaterial;   /* material.c */
 
 static void boundbox_displist(Object *ob);
@@ -1102,7 +1100,7 @@ void makeDispListSurf(Scene *scene, Object *ob, ListBase *dispbase,
        float (*deformedVerts)[3];
 
        if(!forRender && cu->editnurb)
-               nubase= ED_curve_editnurbs(cu);
+               nubase= curve_editnurbs(cu);
        else
                nubase= &cu->nurb;
 
index 70398594872d122647fa8a30fca17eeb9adb3044..4d735f1d54b2b2c7ba7af58eb9c4c4134930d73e 100644 (file)
@@ -143,7 +143,7 @@ int BKE_mesh_validate_arrays(Mesh *me, MVert *UNUSED(mverts), unsigned int totve
 
        BLI_assert(!(do_fixes && me == NULL));
 
-       PRINT("ED_mesh_validate: verts(%u), edges(%u), faces(%u)\n", totvert, totedge, totface);
+       PRINT("%s: verts(%u), edges(%u), faces(%u)\n", __func__, totvert, totedge, totface);
 
        if(totedge == 0 && totface != 0) {
                PRINT("    locical error, %u faces and 0 edges\n", totface);
index cc3b926db7554a2c593f56091d82bc1f5f08bb1c..9b373db59ff6c0a50dbc5c90e2c2f63da30a45f4 100644 (file)
@@ -289,6 +289,15 @@ struct SortContext
        const int* recastData;
        const int* trisToFacesMap;
 };
+
+#ifdef FREE_WINDOWS
+static SortContext *_mingw_context;
+static int compareByData(const void * a, const void * b)
+{
+       return ( _mingw_context->recastData[_mingw_context->trisToFacesMap[*(int*)a]] -
+                       _mingw_context->recastData[_mingw_context->trisToFacesMap[*(int*)b]] );
+}
+#else
 #if defined(_MSC_VER)
 static int compareByData(void* data, const void * a, const void * b)
 #elif defined(__APPLE__) || defined(__FreeBSD__)
@@ -301,6 +310,7 @@ static int compareByData(const void * a, const void * b, void* data)
        return ( context->recastData[context->trisToFacesMap[*(int*)a]] - 
                context->recastData[context->trisToFacesMap[*(int*)b]] );
 }
+#endif
 
 bool buildNavMeshData(const int nverts, const float* verts, 
                                                         const int ntris, const unsigned short *tris, 
@@ -327,6 +337,9 @@ bool buildNavMeshData(const int nverts, const float* verts,
        qsort_s(trisMapping, ntris, sizeof(int), compareByData, &context);
 #elif defined(__APPLE__) || defined(__FreeBSD__)
        qsort_r(trisMapping, ntris, sizeof(int), &context, compareByData);
+#elif defined(FREE_WINDOWS)
+       _mingw_context = &context;
+       qsort(trisMapping, ntris, sizeof(int), compareByData);
 #else
        qsort_r(trisMapping, ntris, sizeof(int), compareByData, &context);
 #endif
index 898cec7fa550f038dc7dfa3d174f8b2587377cbe..1c326efe3ec4a9886018556c1e0b6875e8d56fbf 100644 (file)
@@ -235,6 +235,17 @@ void object_free_display(Object *ob)
        freedisplist(&ob->disp);
 }
 
+void free_sculptsession_deformMats(SculptSession *ss)
+{
+       if(ss->orig_cos) MEM_freeN(ss->orig_cos);
+       if(ss->deform_cos) MEM_freeN(ss->deform_cos);
+       if(ss->deform_imats) MEM_freeN(ss->deform_imats);
+
+       ss->orig_cos = NULL;
+       ss->deform_cos = NULL;
+       ss->deform_imats = NULL;
+}
+
 void free_sculptsession(Object *ob)
 {
        if(ob && ob->sculpt) {
@@ -265,6 +276,7 @@ void free_sculptsession(Object *ob)
        }
 }
 
+
 /* do not free object itself */
 void free_object(Object *ob)
 {
@@ -2759,6 +2771,33 @@ void object_handle_update(Scene *scene, Object *ob)
        }
 }
 
+void object_sculpt_modifiers_changed(Object *ob)
+{
+       SculptSession *ss= ob->sculpt;
+
+       if(!ss->cache) {
+               /* we free pbvh on changes, except during sculpt since it can't deal with
+                  changing PVBH node organization, we hope topology does not change in
+                  the meantime .. weak */
+               if(ss->pbvh) {
+                               BLI_pbvh_free(ss->pbvh);
+                               ss->pbvh= NULL;
+               }
+
+               free_sculptsession_deformMats(ob->sculpt);
+       } else {
+               PBVHNode **nodes;
+               int n, totnode;
+
+               BLI_pbvh_search_gather(ss->pbvh, NULL, NULL, &nodes, &totnode);
+
+               for(n = 0; n < totnode; n++)
+                       BLI_pbvh_node_mark_update(nodes[n]);
+
+               MEM_freeN(nodes);
+       }
+}
+
 float give_timeoffset(Object *ob) {
        if ((ob->ipoflag & OB_OFFS_PARENTADD) && ob->parent) {
                return ob->sf + give_timeoffset(ob->parent);
index 186a5ea1852926ed30427b60e44b88806a04f7d1..2ff555b5b22bc009cb064de5b872bda80d8e6017 100644 (file)
@@ -61,9 +61,7 @@
 #include "BKE_scene.h"
 #include "BKE_subsurf.h"
 
-
-#include "BIF_gl.h"
-#include "BIF_glutil.h"
+#include "GL/glew.h"
 
 #include "GPU_draw.h"
 #include "GPU_extensions.h"
@@ -71,6 +69,8 @@
 
 #include "CCGSubSurf.h"
 
+extern GLubyte stipple_quarttone[128]; /* glutil.c, bad level data */
+
 static int ccgDM_getVertMapIndex(CCGSubSurf *ss, CCGVert *v);
 static int ccgDM_getEdgeMapIndex(CCGSubSurf *ss, CCGEdge *e);
 static int ccgDM_getFaceMapIndex(CCGSubSurf *ss, CCGFace *f);
index 1c9ad8fe247b459fddea3f2d26dda4c672f09254..adf4f0fac2ed1bbad547a8b45aa8d3c1d24c7b73 100644 (file)
 #include "WM_api.h"
 #include "WM_types.h"
 
-#include "ED_curve.h"
 #include "ED_object.h"
 #include "ED_screen.h"
 #include "ED_transform.h"
 
 #include "curve_intern.h"
 
-
 /************************* registration ****************************/
 
 void ED_operatortypes_curve(void)
index 210f36ca074c45630273904af82592a329b11af4..b35085ff64dcd05d71eac01779d9decc9606c333 100644 (file)
@@ -117,7 +117,7 @@ static float nurbcircle[8][2]= {
        {0.0,  1.0}, { 1.0,  1.0}, { 1.0, 0.0}, { 1.0, -1.0}
 };
 
-ListBase *curve_get_editcurve(Object *ob)
+ListBase *object_editcurve_get(Object *ob)
 {
        if(ob && ELEM(ob->type, OB_CURVE, OB_SURF)) {
                Curve *cu= ob->data;
@@ -134,7 +134,7 @@ static void set_actNurb(Object *obedit, Nurb *nu)
        if(nu==NULL)
                cu->actnu = -1;
        else {
-               ListBase *nurbs= ED_curve_editnurbs(cu);
+               ListBase *nurbs= curve_editnurbs(cu);
                cu->actnu = BLI_findindex(nurbs, nu);
        }
 }
@@ -142,7 +142,7 @@ static void set_actNurb(Object *obedit, Nurb *nu)
 static Nurb *get_actNurb(Object *obedit)
 {
        Curve *cu= obedit->data;
-       ListBase *nurbs= ED_curve_editnurbs(cu);
+       ListBase *nurbs= curve_editnurbs(cu);
 
        return BLI_findlink(nurbs, cu->actnu);
 }
@@ -268,7 +268,7 @@ static int isNurbsel_count(Curve *cu, Nurb *nu)
 
 void printknots(Object *obedit)
 {
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        int a, num;
 
@@ -302,11 +302,6 @@ static CVKeyIndex *init_cvKeyIndex(void *cv, int key_index, int nu_index, int pt
        return cvIndex;
 }
 
-static void free_cvKeyIndex(CVKeyIndex *pointIndex)
-{
-       MEM_freeN(pointIndex);
-}
-
 static void init_editNurb_keyIndex(EditNurb *editnurb, ListBase *origBase)
 {
        Nurb *nu= editnurb->nurbs.first;
@@ -358,15 +353,6 @@ static void init_editNurb_keyIndex(EditNurb *editnurb, ListBase *origBase)
        editnurb->keyindex= gh;
 }
 
-static void free_editNurb_keyIndex(EditNurb *editnurb)
-{
-       if (!editnurb->keyindex) {
-               return;
-       }
-       BLI_ghash_free(editnurb->keyindex, NULL, (GHashValFreeFP)free_cvKeyIndex);
-       editnurb->keyindex= NULL;
-}
-
 static CVKeyIndex *getCVKeyIndex(EditNurb *editnurb, void *cv)
 {
        return BLI_ghash_lookup(editnurb->keyindex, cv);
@@ -411,7 +397,7 @@ static void keyIndex_delCV(EditNurb *editnurb, void *cv)
                return;
        }
 
-       BLI_ghash_remove(editnurb->keyindex, cv, NULL, (GHashValFreeFP)free_cvKeyIndex);
+       BLI_ghash_remove(editnurb->keyindex, cv, NULL, (GHashValFreeFP)MEM_freeN);
 }
 
 static void keyIndex_delBezt(EditNurb *editnurb, BezTriple *bezt)
@@ -437,7 +423,7 @@ static void keyIndex_delNurb(EditNurb *editnurb, Nurb *nu)
                a= nu->pntsu;
 
                while (a--) {
-                       BLI_ghash_remove(editnurb->keyindex, bezt, NULL, (GHashValFreeFP)free_cvKeyIndex);
+                       BLI_ghash_remove(editnurb->keyindex, bezt, NULL, (GHashValFreeFP)MEM_freeN);
                        ++bezt;
                }
        } else {
@@ -445,7 +431,7 @@ static void keyIndex_delNurb(EditNurb *editnurb, Nurb *nu)
                a= nu->pntsu * nu->pntsv;
 
                while (a--) {
-                       BLI_ghash_remove(editnurb->keyindex, bp, NULL, (GHashValFreeFP)free_cvKeyIndex);
+                       BLI_ghash_remove(editnurb->keyindex, bp, NULL, (GHashValFreeFP)MEM_freeN);
                        ++bp;
                }
        }
@@ -1198,7 +1184,7 @@ int ED_curve_updateAnimPaths(Object *obedit)
 /* load editNurb in object */
 void load_editNurb(Object *obedit)
 {
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
 
        if(obedit==NULL) return;
 
@@ -1251,7 +1237,7 @@ void make_editNurb(Object *obedit)
 
                if(editnurb) {
                        freeNurblist(&editnurb->nurbs);
-                       free_editNurb_keyIndex(editnurb);
+                       free_curve_editNurb_keyIndex(editnurb);
                        editnurb->keyindex= NULL;
                } else {
                        editnurb= MEM_callocN(sizeof(EditNurb), "editnurb");
@@ -1283,16 +1269,6 @@ void make_editNurb(Object *obedit)
        }
 }
 
-void free_curve_editNurb (Curve *cu)
-{
-       if(cu->editnurb) {
-               freeNurblist(&cu->editnurb->nurbs);
-               free_editNurb_keyIndex(cu->editnurb);
-               MEM_freeN(cu->editnurb);
-               cu->editnurb= NULL;
-       }
-}
-
 void free_editNurb(Object *obedit)
 {
        Curve *cu= obedit->data;
@@ -1302,7 +1278,7 @@ void free_editNurb(Object *obedit)
 
 void CU_deselect_all(Object *obedit)
 {
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
 
        if (editnurb) {
                selectend_nurb(obedit, FIRST, 0, DESELECT); /* set first control points as unselected */
@@ -1312,7 +1288,7 @@ void CU_deselect_all(Object *obedit)
 
 void CU_select_all(Object *obedit)
 {
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
 
        if (editnurb) {
                selectend_nurb(obedit, FIRST, 0, SELECT); /* set first control points as unselected */
@@ -1322,7 +1298,7 @@ void CU_select_all(Object *obedit)
 
 void CU_select_swap(Object *obedit)
 {
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
 
        if (editnurb) {
                Curve *cu= obedit->data;
@@ -1397,7 +1373,7 @@ static int separate_exec(bContext *C, wmOperator *op)
        make_editNurb(newob);
        newedit= newcu->editnurb;
        freeNurblist(&newedit->nurbs);
-       free_editNurb_keyIndex(newedit);
+       free_curve_editNurb_keyIndex(newedit);
 
        /* 3. move over parts from old object */
        for(nu= oldedit->nurbs.first; nu; nu=nu1) {
@@ -1588,7 +1564,7 @@ static int deleteflagNurb(bContext *C, wmOperator *UNUSED(op), int flag)
 {
        Object *obedit= CTX_data_edit_object(C);
        Curve *cu= obedit->data;
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu, *next;
        BPoint *bp, *bpn, *newbp;
        int a, b, newu, newv, sel;
@@ -1835,7 +1811,7 @@ static short extrudeflagNurb(EditNurb *editnurb, int flag)
 
 static void adduplicateflagNurb(Object *obedit, short flag)
 {
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu, *newnu;
        BezTriple *bezt, *bezt1;
        BPoint *bp, *bp1;
@@ -2051,7 +2027,7 @@ void CURVE_OT_switch_direction(wmOperatorType *ot)
 static int set_goal_weight_exec(bContext *C, wmOperator *op)
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        BezTriple *bezt;
        BPoint *bp;
@@ -2103,7 +2079,7 @@ void CURVE_OT_spline_weight_set(wmOperatorType *ot)
 static int set_radius_exec(bContext *C, wmOperator *op)
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        BezTriple *bezt;
        BPoint *bp;
@@ -2155,7 +2131,7 @@ void CURVE_OT_radius_set(wmOperatorType *ot)
 static int smooth_exec(bContext *C, wmOperator *UNUSED(op))
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        BezTriple *bezt, *beztOrig;
        BPoint *bp, *bpOrig;
@@ -2228,7 +2204,7 @@ void CURVE_OT_smooth(wmOperatorType *ot)
 static int smooth_radius_exec(bContext *C, wmOperator *UNUSED(op))
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        BezTriple *bezt;
        BPoint *bp;
@@ -2461,7 +2437,7 @@ static void select_adjacent_cp(ListBase *editnurb, short next, short cont, short
 /* selstatus: selection status in case doswap is false                             */
 void selectend_nurb(Object *obedit, short selfirst, short doswap, short selstatus)
 {
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        BPoint *bp;
        BezTriple *bezt;
@@ -2603,7 +2579,7 @@ static short nurb_has_selected_cps(ListBase *editnurb)
 static int de_select_all_exec(bContext *C, wmOperator *op)
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        int action = RNA_enum_get(op->ptr, "action");
 
        if (action == SEL_TOGGLE) {
@@ -2652,7 +2628,7 @@ static int hide_exec(bContext *C, wmOperator *op)
 {
        Object *obedit= CTX_data_edit_object(C);
        Curve *cu= obedit->data;
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        BPoint *bp;
        BezTriple *bezt;
@@ -2725,7 +2701,7 @@ void CURVE_OT_hide(wmOperatorType *ot)
 static int reveal_exec(bContext *C, wmOperator *UNUSED(op))
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        BPoint *bp;
        BezTriple *bezt;
@@ -2783,7 +2759,7 @@ static int select_inverse_exec(bContext *C, wmOperator *UNUSED(op))
 {
        Object *obedit= CTX_data_edit_object(C);
        Curve *cu= obedit->data;
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        BPoint *bp;
        BezTriple *bezt;
@@ -3542,7 +3518,7 @@ void ED_nurb_set_spline_type(Nurb *nu, int type)
 static int set_spline_type_exec(bContext *C, wmOperator *op)
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        int changed=0, type= RNA_enum_get(op->ptr, "type");
 
@@ -3606,7 +3582,7 @@ void CURVE_OT_spline_type_set(wmOperatorType *ot)
 static int set_handle_type_exec(bContext *C, wmOperator *op)
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
 
        sethandlesNurb(editnurb, RNA_enum_get(op->ptr, "type"));
 
@@ -3928,7 +3904,7 @@ static void merge_2_nurb(wmOperator *op, ListBase *editnurb, Nurb *nu1, Nurb *nu
 static int merge_nurb(bContext *C, wmOperator *op)
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        NurbSort *nus1, *nus2;
        int ok= 1;
        
@@ -3984,7 +3960,7 @@ static int make_segment_exec(bContext *C, wmOperator *op)
        /* joins 2 curves */
        Object *obedit= CTX_data_edit_object(C);
        Curve *cu= obedit->data;
-       ListBase *nubase= curve_get_editcurve(obedit);
+       ListBase *nubase= object_editcurve_get(obedit);
        Nurb *nu, *nu1=NULL, *nu2=NULL;
        BPoint *bp;
        float *fp, offset;
@@ -4180,7 +4156,7 @@ int mouse_nurb(bContext *C, const int mval[2], int extend)
 {
        Object *obedit= CTX_data_edit_object(C); 
        Curve *cu= obedit->data;
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        ViewContext vc;
        Nurb *nu;
        BezTriple *bezt=NULL;
@@ -4264,7 +4240,7 @@ int mouse_nurb(bContext *C, const int mval[2], int extend)
 static int spin_nurb(float viewmat[][4], Object *obedit, float *axis, float *cent)
 {
        Curve *cu= (Curve*)obedit->data;
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        float si,phi,n[3],q[4],cmat[3][3],tmat[3][3],imat[3][3];
        float bmat[3][3], rotmat[3][3], scalemat1[3][3], scalemat2[3][3];
@@ -4786,7 +4762,7 @@ static int toggle_cyclic_exec(bContext *C, wmOperator *op)
 {
        Object *obedit= CTX_data_edit_object(C);
        Curve *cu= obedit->data;
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        BezTriple *bezt;
        BPoint *bp;
@@ -4863,7 +4839,7 @@ static int toggle_cyclic_exec(bContext *C, wmOperator *op)
 static int toggle_cyclic_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        uiPopupMenu *pup;
        uiLayout *layout;
        Nurb *nu;
@@ -5050,7 +5026,7 @@ static int select_row_exec(bContext *C, wmOperator *UNUSED(op))
 {
        Object *obedit= CTX_data_edit_object(C);
        Curve *cu= obedit->data;
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        static BPoint *last= NULL;
        static int direction=0;
        Nurb *nu;
@@ -5124,7 +5100,7 @@ void CURVE_OT_select_row(wmOperatorType *ot)
 static int select_next_exec(bContext *C, wmOperator *UNUSED(op))
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        
        select_adjacent_cp(editnurb, 1, 0, SELECT);
        WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data);
@@ -5151,7 +5127,7 @@ void CURVE_OT_select_next(wmOperatorType *ot)
 static int select_previous_exec(bContext *C, wmOperator *UNUSED(op))
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        
        select_adjacent_cp(editnurb, -1, 0, SELECT);
        WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data);
@@ -5178,7 +5154,7 @@ void CURVE_OT_select_previous(wmOperatorType *ot)
 static int select_more_exec(bContext *C, wmOperator *UNUSED(op))
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        BPoint *bp, *tempbp;
        int a;
@@ -5266,7 +5242,7 @@ void CURVE_OT_select_more(wmOperatorType *ot)
 static int select_less_exec(bContext *C, wmOperator *UNUSED(op))
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        BPoint *bp;
        BezTriple *bezt;
@@ -5458,7 +5434,7 @@ static void selectrandom_curve(ListBase *editnurb, float randfac)
 static int select_random_exec(bContext *C, wmOperator *op)
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
 
        if(!RNA_boolean_get(op->ptr, "extend"))
                CU_deselect_all(obedit);
@@ -5550,7 +5526,7 @@ static void select_nth_bp(Nurb *nu, BPoint *bp, int nth)
 int CU_select_nth(Object *obedit, int nth)
 {
        Curve *cu= (Curve*)obedit->data;
-       ListBase *nubase= ED_curve_editnurbs(cu);
+       ListBase *nubase= curve_editnurbs(cu);
        Nurb *nu;
        int ok=0;
 
@@ -6024,7 +6000,7 @@ void CURVE_OT_delete(wmOperatorType *ot)
 static int shade_smooth_exec(bContext *C, wmOperator *op)
 {
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        int clear= (strcmp(op->idname, "CURVE_OT_shade_flat") == 0);
        
@@ -6196,7 +6172,7 @@ Nurb *add_nurbs_primitive(bContext *C, float mat[4][4], int type, int newob)
 {
        static int xzproj= 0;   /* this function calls itself... */
        Object *obedit= CTX_data_edit_object(C);
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        View3D *v3d= CTX_wm_view3d(C);
        RegionView3D *rv3d= ED_view3d_context_rv3d(C);
        Nurb *nu = NULL;
@@ -6612,7 +6588,7 @@ static int curvesurf_prim_add(bContext *C, wmOperator *op, int type, int isSurf)
        ED_object_new_primitive_matrix(C, obedit, loc, rot, mat);
 
        nu= add_nurbs_primitive(C, mat, type, newob);
-       editnurb= curve_get_editcurve(obedit);
+       editnurb= object_editcurve_get(obedit);
        BLI_addtail(editnurb, nu);
 
        /* userdef */
@@ -6895,7 +6871,7 @@ static int clear_tilt_exec(bContext *C, wmOperator *UNUSED(op))
 {
        Object *obedit= CTX_data_edit_object(C);
        Curve *cu= obedit->data;
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        BezTriple *bezt;
        BPoint *bp;
@@ -6965,7 +6941,7 @@ static void undoCurve_to_editCurve(void *ucu, void *obe)
        Curve *cu= (Curve*)obedit->data;
        UndoCurve *undoCurve= ucu;
        ListBase *undobase= &undoCurve->nubase;
-       ListBase *editbase= ED_curve_editnurbs(cu);
+       ListBase *editbase= curve_editnurbs(cu);
        Nurb *nu, *newnu;
        EditNurb *editnurb= cu->editnurb;
        void *lastsel= NULL;
@@ -6974,7 +6950,7 @@ static void undoCurve_to_editCurve(void *ucu, void *obe)
        freeNurblist(editbase);
 
        if (undoCurve->undoIndex) {
-               BLI_ghash_free(editnurb->keyindex, NULL, (GHashValFreeFP)free_cvKeyIndex);
+               BLI_ghash_free(editnurb->keyindex, NULL, (GHashValFreeFP)MEM_freeN);
                editnurb->keyindex= dupli_keyIndexHash(undoCurve->undoIndex);
        }
 
@@ -7013,7 +6989,7 @@ static void *editCurve_to_undoCurve(void *obe)
 {
        Object *obedit= obe;
        Curve *cu= (Curve*)obedit->data;
-       ListBase *nubase= ED_curve_editnurbs(cu);
+       ListBase *nubase= curve_editnurbs(cu);
        UndoCurve *undoCurve;
        EditNurb *editnurb= cu->editnurb, tmpEditnurb;
        Nurb *nu, *newnu;
@@ -7062,7 +7038,7 @@ static void free_undoCurve(void *ucv)
        freeNurblist(&undoCurve->nubase);
 
        if(undoCurve->undoIndex)
-               BLI_ghash_free(undoCurve->undoIndex, NULL, (GHashValFreeFP)free_cvKeyIndex);
+               BLI_ghash_free(undoCurve->undoIndex, NULL, (GHashValFreeFP)MEM_freeN);
 
        free_fcurves(&undoCurve->fcurves);
        free_fcurves(&undoCurve->drivers);
@@ -7082,15 +7058,6 @@ void undo_push_curve(bContext *C, const char *name)
        undo_editmode_push(C, name, get_data, free_undoCurve, undoCurve_to_editCurve, editCurve_to_undoCurve, NULL);
 }
 
-/* Get list of nurbs from editnurbs structure */
-ListBase *ED_curve_editnurbs(Curve *cu)
-{
-       if (cu->editnurb) {
-               return &cu->editnurb->nurbs;
-       }
-
-       return NULL;
-}
 void ED_curve_beztcpy(EditNurb *editnurb, BezTriple *dst, BezTriple *src, int count)
 {
        memcpy(dst, src, count*sizeof(BezTriple));
index d78d284657202144f6dbc949a431e76998ae6b7f..b4782a5919bd16049e9c1901e57de187fa39e70c 100644 (file)
@@ -58,7 +58,7 @@ void CU_select_swap(struct Object *obedit);
 
 
 void   undo_push_curve (struct bContext *C, const char *name);
-ListBase *curve_get_editcurve(struct Object *ob);
+ListBase *object_editcurve_get(struct Object *ob);
 
 void   load_editNurb   (struct Object *obedit);
 void   make_editNurb   (struct Object *obedit);
index 33d2dfcf4c5d20b0749bd1c4c92cb2dfbbdc8b50..85a8d8945bbe4f8de36c315378e21b77c1f5a8fc 100644 (file)
@@ -44,7 +44,6 @@ void ED_operatortypes_sculpt(void);
 void sculpt_get_redraw_planes(float planes[4][4], struct ARegion *ar,
                                   struct RegionView3D *rv3d, struct Object *ob);
 void ED_sculpt_force_update(struct bContext *C);
-void ED_sculpt_modifiers_changed(struct Object *ob);
 
 /* paint_ops.c */
 void ED_operatortypes_paint(void);
index fa529374bf783990ad929ec7b52d6d0a7146a823..0292977f816cc593d4400ef03752b2603a286e59 100644 (file)
@@ -400,7 +400,7 @@ static Object *effector_add_type(bContext *C, wmOperator *op, int type)
                ((Curve*)ob->data)->flag |= CU_PATH|CU_3D;
                ED_object_enter_editmode(C, 0);
                ED_object_new_primitive_matrix(C, ob, loc, rot, mat);
-               BLI_addtail(curve_get_editcurve(ob), add_nurbs_primitive(C, mat, CU_NURBS|CU_PRIM_PATH, 1));
+               BLI_addtail(object_editcurve_get(ob), add_nurbs_primitive(C, mat, CU_NURBS|CU_PRIM_PATH, 1));
 
                if(!enter_editmode)
                        ED_object_exit_editmode(C, EM_FREEDATA);
index bb32869469ac74b21bd22e6f5e1f20b048bd51b6..fd4581af19436fd4fc23742fe39e88219a6f0caf 100644 (file)
@@ -217,7 +217,7 @@ static void select_editlattice_hook(Object *obedit, HookModifierData *hmd)
 
 static int return_editcurve_indexar(Object *obedit, int *tot, int **indexar, float *cent)
 {
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        BPoint *bp;
        BezTriple *bezt;
@@ -329,7 +329,7 @@ static int object_hook_index_array(Object *obedit, int *tot, int **indexar, char
 
 static void select_editcurve_hook(Object *obedit, HookModifierData *hmd)
 {
-       ListBase *editnurb= curve_get_editcurve(obedit);
+       ListBase *editnurb= object_editcurve_get(obedit);
        Nurb *nu;
        BPoint *bp;
        BezTriple *bezt;
index e9418ca9f9f995d2c922b44026b5c7719369a648..4d7f6fa9e7a24ecbd1e9aa1f31b89a64af56d481 100644 (file)
@@ -140,7 +140,7 @@ static int vertex_parent_set_exec(bContext *C, wmOperator *op)
                BKE_mesh_end_editmesh(me, em);
        }
        else if(ELEM(obedit->type, OB_SURF, OB_CURVE)) {
-               ListBase *editnurb= curve_get_editcurve(obedit);
+               ListBase *editnurb= object_editcurve_get(obedit);
                
                cu= obedit->data;
 
index 75c2054091cbc5a2486889d0ea90bc3ac8979315..6a1eea925634f8525e37990b31cd65dc569e2502 100644 (file)
@@ -52,6 +52,7 @@
 
 #include "BKE_animsys.h"
 #include "BKE_context.h"
+#include "BKE_curve.h"
 #include "BKE_depsgraph.h"
 #include "BKE_font.h"
 #include "BKE_global.h"
@@ -176,7 +177,7 @@ static int material_slot_assign_exec(bContext *C, wmOperator *UNUSED(op))
                }
                else if(ELEM(ob->type, OB_CURVE, OB_SURF)) {
                        Nurb *nu;
-                       ListBase *nurbs= ED_curve_editnurbs((Curve*)ob->data);
+                       ListBase *nurbs= curve_editnurbs((Curve*)ob->data);
 
                        if(nurbs) {
                                for(nu= nurbs->first; nu; nu= nu->next)
@@ -234,7 +235,7 @@ static int material_slot_de_select(bContext *C, int select)
                }
        }
        else if ELEM(ob->type, OB_CURVE, OB_SURF) {
-               ListBase *nurbs= ED_curve_editnurbs((Curve*)ob->data);
+               ListBase *nurbs= curve_editnurbs((Curve*)ob->data);
                Nurb *nu;
                BPoint *bp;
                BezTriple *bezt;
index 669a9c6fdcb008bee2116706373750c0148b717d..92bc60e8b77c4c70a582e64cf6e21af5fe5ad8fa 100644 (file)
@@ -102,33 +102,6 @@ void ED_sculpt_force_update(bContext *C)
                multires_force_update(ob);
 }
 
-void ED_sculpt_modifiers_changed(Object *ob)
-{
-       SculptSession *ss= ob->sculpt;
-
-       if(!ss->cache) {
-               /* we free pbvh on changes, except during sculpt since it can't deal with
-                  changing PVBH node organization, we hope topology does not change in
-                  the meantime .. weak */
-               if(ss->pbvh) {
-                               BLI_pbvh_free(ss->pbvh);
-                               ss->pbvh= NULL;
-               }
-
-               sculpt_free_deformMats(ob->sculpt);
-       } else {
-               PBVHNode **nodes;
-               int n, totnode;
-
-               BLI_pbvh_search_gather(ss->pbvh, NULL, NULL, &nodes, &totnode);
-
-               for(n = 0; n < totnode; n++)
-                       BLI_pbvh_node_mark_update(nodes[n]);
-
-               MEM_freeN(nodes);
-       }
-}
-
 /* Sculpt mode handles multires differently from regular meshes, but only if
    it's the last modifier on the stack and it is not on the first level */
 struct MultiresModifierData *sculpt_multires_active(Scene *scene, Object *ob)
@@ -2694,17 +2667,6 @@ static void sculpt_update_tex(Sculpt *sd, SculptSession *ss)
        }
 }
 
-void sculpt_free_deformMats(SculptSession *ss)
-{
-       if(ss->orig_cos) MEM_freeN(ss->orig_cos);
-       if(ss->deform_cos) MEM_freeN(ss->deform_cos);
-       if(ss->deform_imats) MEM_freeN(ss->deform_imats);
-
-       ss->orig_cos = NULL;
-       ss->deform_cos = NULL;
-       ss->deform_imats = NULL;
-}
-
 void sculpt_update_mesh_elements(Scene *scene, Sculpt *sd, Object *ob, int need_fmap)
 {
        DerivedMesh *dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH);
@@ -2741,7 +2703,7 @@ void sculpt_update_mesh_elements(Scene *scene, Sculpt *sd, Object *ob, int need_
                if(!ss->orig_cos) {
                        int a;
 
-                       sculpt_free_deformMats(ss);
+                       free_sculptsession_deformMats(ss);
 
                        if(ss->kb) ss->orig_cos = key_to_vertcos(ob, ss->kb);
                        else ss->orig_cos = mesh_getVertexCos(ob->data, NULL);
@@ -2752,7 +2714,7 @@ void sculpt_update_mesh_elements(Scene *scene, Sculpt *sd, Object *ob, int need_
                        for(a = 0; a < ((Mesh*)ob->data)->totvert; ++a)
                                invert_m3(ss->deform_imats[a]);
                }
-       } else sculpt_free_deformMats(ss);
+       } else free_sculptsession_deformMats(ss);
 
        /* if pbvh is deformed, key block is already applied to it */
        if (ss->kb && !BLI_pbvh_isDeformed(ss->pbvh)) {
index 33970ea0179f86986e94d923eb149e2e45ce8b23..c1da29aeb273ed7b731502f53ee64c8d82f85e2c 100644 (file)
@@ -67,7 +67,7 @@ int sculpt_poll(struct bContext *C);
 void sculpt_update_mesh_elements(struct Scene *scene, struct Sculpt *sd, struct Object *ob, int need_fmap);
 
 /* Deformed mesh sculpt */
-void sculpt_free_deformMats(struct SculptSession *ss);
+void free_sculptsession_deformMats(struct SculptSession *ss);
 
 /* Stroke */
 struct SculptStroke *sculpt_stroke_new(const int max);
index a13b874e50423641d3f76915feafc9474afff361..13b6fef30047f0c5dbcb2ae4c23b5426140dfa08 100644 (file)
@@ -199,7 +199,7 @@ static void sculpt_undo_restore(bContext *C, ListBase *lb)
                        Mesh *me= ob->data;
                        mesh_calc_normals(me->mvert, me->totvert, me->mface, me->totface, NULL);
 
-                       sculpt_free_deformMats(ss);
+                       free_sculptsession_deformMats(ss);
                        tag_update|= 1;
                }
 
index 0abfd4b71a145b6c0225dbd079685ff9925010b1..182e5242a1d91cd142af77da320dc2d981653493 100644 (file)
@@ -42,6 +42,7 @@
 #include "BLI_utildefines.h"
 
 #include "BKE_anim.h"
+#include "BKE_curve.h"
 #include "BKE_displist.h"
 #include "BKE_DerivedMesh.h"
 #include "BKE_key.h"
@@ -51,7 +52,6 @@
 #include "ED_info.h"
 #include "ED_armature.h"
 #include "ED_mesh.h"
-#include "ED_curve.h" /* for ED_curve_editnurbs */
 
 #include "BLI_editVert.h"
 
@@ -193,7 +193,7 @@ static void stats_object_edit(Object *obedit, SceneStats *stats)
                BezTriple *bezt;
                BPoint *bp;
                int a;
-               ListBase *nurbs= ED_curve_editnurbs(cu);
+               ListBase *nurbs= curve_editnurbs(cu);
 
                for(nu=nurbs->first; nu; nu=nu->next) {
                        if(nu->type == CU_BEZIER) {
index 81848b2f0d9cfec845489809acfae675592cebd6..9d6b315742765e38d2fdf8cf28c957abbcfe37e8 100644 (file)
@@ -58,6 +58,7 @@
 
 #include "BKE_anim.h"                  //for the where_on_path function
 #include "BKE_constraint.h" // for the get_constraint_target function
+#include "BKE_curve.h"
 #include "BKE_DerivedMesh.h"
 #include "BKE_deform.h"
 #include "BKE_displist.h"
@@ -92,7 +93,7 @@
 #include "ED_screen.h"
 #include "ED_sculpt.h"
 #include "ED_types.h"
-#include "ED_curve.h" /* for ED_curve_editnurbs */
+#include "ED_curve.h" /* for curve_editnurbs */
 
 #include "UI_resources.h"
 
@@ -1834,7 +1835,7 @@ void nurbs_foreachScreenVert(ViewContext *vc, void (*func)(void *userData, Nurb
        short s[2] = {IS_CLIPPED, 0};
        Nurb *nu;
        int i;
-       ListBase *nurbs= ED_curve_editnurbs(cu);
+       ListBase *nurbs= curve_editnurbs(cu);
 
        ED_view3d_local_clipping(vc->rv3d, vc->obedit->obmat); /* for local clipping lookups */
 
@@ -6109,7 +6110,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
                        cu= ob->data;
 
                        if(cu->editnurb) {
-                               ListBase *nurbs= ED_curve_editnurbs(cu);
+                               ListBase *nurbs= curve_editnurbs(cu);
                                drawnurb(scene, v3d, rv3d, base, nurbs->first, dt);
                        }
                        else if(dt==OB_BOUNDBOX) {
index 6e03866153f93d78c7f846877c64a39dd1eec533..50c587194b7d6d6a7bc83fbcaac957a974308194 100644 (file)
@@ -210,7 +210,7 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
                BPoint *bp;
                BezTriple *bezt;
                int a;
-               ListBase *nurbs= ED_curve_editnurbs(cu);
+               ListBase *nurbs= curve_editnurbs(cu);
 
                nu= nurbs->first;
                while(nu) {
@@ -457,7 +457,7 @@ static void v3d_editvertex_buts(uiLayout *layout, View3D *v3d, Object *ob, float
                        BPoint *bp;
                        BezTriple *bezt;
                        int a;
-                       ListBase *nurbs= ED_curve_editnurbs(cu);
+                       ListBase *nurbs= curve_editnurbs(cu);
 
                        nu= nurbs->first;
                        while(nu) {
index b4d2fc221439ec70fe24503475eca23e19b81989..1ed65f7875f96eb5bbb1ae48dec03e3664bf0f35 100644 (file)
@@ -66,7 +66,7 @@
 #include "ED_armature.h"
 #include "ED_mesh.h"
 #include "ED_screen.h"
-#include "ED_curve.h" /* for ED_curve_editnurbs */
+#include "ED_curve.h" /* for curve_editnurbs */
 
 #include "view3d_intern.h"
 
@@ -102,7 +102,7 @@ static void special_transvert_update(Object *obedit)
                }
                else if (ELEM(obedit->type, OB_CURVE, OB_SURF)) {
                        Curve *cu= obedit->data;
-                       ListBase *nurbs= ED_curve_editnurbs(cu);
+                       ListBase *nurbs= curve_editnurbs(cu);
                        Nurb *nu= nurbs->first;
 
                        while(nu) {
@@ -312,7 +312,7 @@ static void make_trans_verts(Object *obedit, float *min, float *max, int mode)
        else if (ELEM(obedit->type, OB_CURVE, OB_SURF)) {
                Curve *cu= obedit->data;
                int totmalloc= 0;
-               ListBase *nurbs= ED_curve_editnurbs(cu);
+               ListBase *nurbs= curve_editnurbs(cu);
 
                for(nu= nurbs->first; nu; nu= nu->next) {
                        if(nu->type == CU_BEZIER)
index b98cd277f80a2900cf276b04f0c26aca00ba353c..fc5c80d22c9db177d8f393aedc26efcb71a855eb 100644 (file)
@@ -90,7 +90,6 @@
 #include "ED_node.h"
 #include "ED_types.h"
 #include "ED_uvedit.h"
-#include "ED_curve.h" /* for ED_curve_editnurbs */
 #include "ED_util.h"  /* for crazyspace correction */
 
 #include "UI_view2d.h"
@@ -1395,7 +1394,7 @@ static void createTransCurveVerts(bContext *C, TransInfo *t)
        if(cu->editnurb==NULL) return;
 
        /* count total of vertices, check identical as in 2nd loop for making transdata! */
-       nurbs= ED_curve_editnurbs(cu);
+       nurbs= curve_editnurbs(cu);
        for(nu= nurbs->first; nu; nu= nu->next) {
                if(nu->type == CU_BEZIER) {
                        for(a=0, bezt= nu->bezt; a<nu->pntsu; a++, bezt++) {
index 76c81662ce801553944c01cd9f80648210d090aa..b187ca0650ccb2693eb3112a34052fca08180028 100644 (file)
@@ -84,7 +84,7 @@
 #include "ED_space_api.h"
 #include "ED_uvedit.h"
 #include "ED_view3d.h"
-#include "ED_curve.h" /* for ED_curve_editnurbs */
+#include "ED_curve.h" /* for curve_editnurbs */
 
 //#include "BDR_unwrapper.h"
 
@@ -626,7 +626,7 @@ static void recalcData_view3d(TransInfo *t)
        if (t->obedit) {
                if ELEM(t->obedit->type, OB_CURVE, OB_SURF) {
                        Curve *cu= t->obedit->data;
-                       ListBase *nurbs= ED_curve_editnurbs(cu);
+                       ListBase *nurbs= curve_editnurbs(cu);
                        Nurb *nu= nurbs->first;
                        
                        if(t->state != TRANS_CANCEL) {
index 491666c4ac956e5ab00489b9a999b46b93bb627c..3b895f5fbd0226ee2fd771b92cc229fe4fd0979a 100644 (file)
@@ -57,6 +57,7 @@
 
 #include "BKE_action.h"
 #include "BKE_context.h"
+#include "BKE_curve.h"
 #include "BKE_global.h"
 #include "BKE_mesh.h"
 #include "BKE_particle.h"
@@ -75,7 +76,6 @@
 #include "ED_mesh.h"
 #include "ED_particle.h"
 #include "ED_view3d.h"
-#include "ED_curve.h" /* for ED_curve_editnurbs */
 
 #include "UI_resources.h"
 
@@ -395,7 +395,7 @@ int calc_manipulator_stats(const bContext *C)
                        Nurb *nu;
                        BezTriple *bezt;
                        BPoint *bp;
-                       ListBase *nurbs= ED_curve_editnurbs(cu);
+                       ListBase *nurbs= curve_editnurbs(cu);
 
                        nu= nurbs->first;
                        while(nu) {
index 847fd951bccced5a2b52a0b708b133f7d3b1141a..7556c5ae110283c9e64cf2b1bdea7e0424a1ad6b 100644 (file)
@@ -41,6 +41,7 @@
 
 
 #include "BKE_armature.h"
+#include "BKE_curve.h"
 #include "BKE_context.h"
 #include "BKE_report.h"
 
@@ -56,8 +57,6 @@
 
 #include "ED_armature.h"
 #include "ED_mesh.h"
-#include "ED_curve.h" /* for ED_curve_editnurbs */
-
 
 #include "RNA_define.h"
 
@@ -721,7 +720,7 @@ int getTransformOrientation(const bContext *C, float normal[3], float plane[3],
                        Nurb *nu;
                        BezTriple *bezt;
                        int a;
-                       ListBase *nurbs= ED_curve_editnurbs(cu);
+                       ListBase *nurbs= curve_editnurbs(cu);
 
                        for (nu = nurbs->first; nu; nu = nu->next)
                        {
index 56ebb71a7ac13a452322786c30ae754ee5659fbb..5609f05fb9332a62c523e3be27bcbe407ef5ae26 100644 (file)
@@ -81,6 +81,7 @@ struct SculptSession;
 struct ShadeInput;
 struct ShadeResult;
 struct SpaceImage;
+struct SpaceNode;
 struct Tex;
 struct TexResult;
 struct Text;
@@ -105,7 +106,6 @@ struct bConstraintOb;
 struct Context;
 struct ChannelDriver;
 
-
 /*new render funcs */
 float *RE_RenderLayerGetPass(struct RenderLayer *rl, int passtype) {return (float *) NULL;}
 float RE_filter_value(int type, float x) {return 0.0f;}
@@ -298,8 +298,6 @@ void ED_sequencer_update_view(struct bContext *C, int view){}
 float ED_rollBoneToVector(struct EditBone *bone, float new_up_axis[3]){return 0.0f;}
 void ED_space_image_size(struct SpaceImage *sima, int *width, int *height){}
 
-struct ListBase *ED_curve_editnurbs(struct Curve *cu){return NULL;}
-void free_curve_editNurb (struct Curve *cu){}
 void ED_nurb_set_spline_type(struct Nurb *nu, int type){}
 
 void EM_selectmode_set(struct EditMesh *em){}
index 93236f93ceb37e6a07941128033e852bcee80037..b48915ce7088547cc3ac14aef53a0aaf2fe3fcb5 100644 (file)
@@ -712,7 +712,11 @@ add_dependencies(blender makesdna)
 
 get_property(BLENDER_LINK_LIBS GLOBAL PROPERTY BLENDER_LINK_LIBS)
 
-set(BLENDER_LINK_LIBS bf_nodes ${BLENDER_LINK_LIBS} bf_windowmanager bf_render)
+set(BLENDER_LINK_LIBS
+       ${BLENDER_LINK_LIBS}
+       bf_windowmanager
+       bf_render
+)
 
 if(WITH_MOD_FLUID)
        list(APPEND BLENDER_LINK_LIBS bf_intern_elbeem)
@@ -797,8 +801,8 @@ endif()
                bf_intern_smoke
                extern_minilzo
                extern_lzma
-               extern_recastnavigation
                ge_logic_ketsji
+               extern_recastnavigation
                ge_phys_common
                ge_logic
                ge_rasterizer
@@ -806,7 +810,6 @@ endif()
                ge_logic_expressions
                ge_scenegraph
                ge_logic_network
-               bf_python # duplicate for BPY_driver_exec
                ge_logic_ngnetwork
                extern_bullet
                ge_logic_loopbacknetwork
@@ -819,8 +822,6 @@ endif()
                bf_blenfont
                bf_intern_audaspace
                bf_intern_mikktspace
-               extern_recastnavigation
-               bf_editor_util          # --- BAD LEVEL CALL HERE --- XXX, this should be removed before release!
        )
 
        if(WITH_MOD_CLOTH_ELTOPO)