Subdiv: Move mesh creation functionality to own header
authorSergey Sharybin <sergey.vfx@gmail.com>
Tue, 4 Sep 2018 13:32:01 +0000 (15:32 +0200)
committerSergey Sharybin <sergey.vfx@gmail.com>
Tue, 4 Sep 2018 13:34:52 +0000 (15:34 +0200)
source/blender/blenkernel/BKE_subdiv.h
source/blender/blenkernel/BKE_subdiv_mesh.h [new file with mode: 0644]
source/blender/blenkernel/CMakeLists.txt
source/blender/blenkernel/intern/multires_reshape.c
source/blender/blenkernel/intern/multires_subdiv.c
source/blender/blenkernel/intern/subdiv_foreach.c
source/blender/blenkernel/intern/subdiv_mesh.c
source/blender/modifiers/intern/MOD_multires.c
source/blender/modifiers/intern/MOD_subsurf.c

index 111f04915ad10e89684200fef21e5c6e26180648..28b2942a70f224ffc857814845ebc9111ee468e8 100644 (file)
@@ -171,22 +171,6 @@ Subdiv *BKE_subdiv_new_from_mesh(const SubdivSettings *settings,
 
 void BKE_subdiv_free(Subdiv *subdiv);
 
-/* =========================== SUBDIV TO MESH API =========================== */
-
-typedef struct SubdivToMeshSettings {
-       /* Resolution at which ptex are being evaluated.
-        * This defines how many vertices final mesh will have: every ptex has
-        * resolution^2 vertices.
-        */
-       int resolution;
-} SubdivToMeshSettings;
-
-/* Create real hi-res mesh from subdivision, all geometry is "real". */
-struct Mesh *BKE_subdiv_to_mesh(
-        Subdiv *subdiv,
-        const SubdivToMeshSettings *settings,
-        const struct Mesh *coarse_mesh);
-
 /* ============================ DISPLACEMENT API ============================ */
 
 void BKE_subdiv_displacement_attach_from_multires(
diff --git a/source/blender/blenkernel/BKE_subdiv_mesh.h b/source/blender/blenkernel/BKE_subdiv_mesh.h
new file mode 100644 (file)
index 0000000..3a902c4
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * ***** 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.
+ *
+ * The Original Code is Copyright (C) 2018 by Blender Foundation.
+ * All rights reserved.
+ *
+ * Contributor(s): Sergey Sharybin.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file BKE_subdiv_mesh.h
+ *  \ingroup bke
+ *  \since July 2018
+ *  \author Sergey Sharybin
+ */
+
+#ifndef __BKE_SUBDIV_MESH_H__
+#define __BKE_SUBDIV_MESH_H__
+
+#include "BLI_sys_types.h"
+
+struct Mesh;
+struct Subdiv;
+
+typedef struct SubdivToMeshSettings {
+       /* Resolution at which ptex are being evaluated.
+        * This defines how many vertices final mesh will have: every ptex has
+        * resolution^2 vertices.
+        */
+       int resolution;
+} SubdivToMeshSettings;
+
+/* Create real hi-res mesh from subdivision, all geometry is "real". */
+struct Mesh *BKE_subdiv_to_mesh(
+        struct Subdiv *subdiv,
+        const SubdivToMeshSettings *settings,
+        const struct Mesh *coarse_mesh);
+
+#endif  /* __BKE_SUBDIV)MESH_H__ */
index 0c5428aad5766a47eae72da00032b9b632b0b01c..deb2cb3bac510782e318d59fe83f678cf19c1b13 100644 (file)
@@ -327,6 +327,7 @@ set(SRC
        BKE_subdiv.h
        BKE_subdiv_eval.h
        BKE_subdiv_foreach.h
+       BKE_subdiv_mesh.h
        BKE_subsurf.h
        BKE_suggestions.h
        BKE_text.h
index 182e957ce4aed4e125f8768d284fde705f4731ca..e452b551751c351efb52789f48ec975c32343eec 100644 (file)
@@ -44,6 +44,7 @@
 #include "BKE_subdiv.h"
 #include "BKE_subdiv_eval.h"
 #include "BKE_subdiv_foreach.h"
+#include "BKE_subdiv_mesh.h"
 
 #include "DEG_depsgraph_query.h"
 
index 2df931328c2ef3622b0a4e4bb7ae7b78ea220d97..f745418295dc76b661ccde45ad2afd90e44468cf 100644 (file)
@@ -39,6 +39,7 @@
 #include "BKE_modifier.h"
 #include "BKE_multires.h"
 #include "BKE_subdiv.h"
+#include "BKE_subdiv_mesh.h"
 
 void BKE_multires_subdiv_settings_init(
         SubdivSettings *settings,
index 80471b19ec0a90acea16056d05aa21b6f4309485..8fa060f2931f05a1dc1fa8de8864572aec458d6d 100644 (file)
@@ -43,6 +43,7 @@
 #include "BKE_mesh.h"
 #include "BKE_key.h"
 #include "BKE_subdiv.h"
+#include "BKE_subdiv_mesh.h"
 
 #include "MEM_guardedalloc.h"
 
index 7e8dd06ce9b6bc5bdb9aeb648a21d5b017cdf17f..f4c229cb7010a8dd7163f4196da454f88407766b 100644 (file)
@@ -27,7 +27,7 @@
  *  \ingroup bke
  */
 
-#include "BKE_subdiv.h"
+#include "BKE_subdiv_mesh.h"
 
 #include "atomic_ops.h"
 
@@ -42,6 +42,7 @@
 
 #include "BKE_mesh.h"
 #include "BKE_key.h"
+#include "BKE_subdiv.h"
 #include "BKE_subdiv_eval.h"
 #include "BKE_subdiv_foreach.h"
 
index 24495efa08d63cfffd1fc33ffa5a6e2192db5547..870d91282b6a2da92a36eeeed3a9b47b7b97f142 100644 (file)
@@ -46,6 +46,7 @@
 #include "BKE_multires.h"
 #include "BKE_modifier.h"
 #include "BKE_subdiv.h"
+#include "BKE_subdiv_mesh.h"
 #include "BKE_subsurf.h"
 
 #include "DEG_depsgraph_query.h"
index a6e85bfb813683602e0ec273c29d787f500292a0..f1205e4d36bb6635a22ccbe759b4e818a8959fee 100644 (file)
@@ -44,6 +44,7 @@
 #include "BKE_cdderivedmesh.h"
 #include "BKE_scene.h"
 #include "BKE_subdiv.h"
+#include "BKE_subdiv_mesh.h"
 #include "BKE_subsurf.h"
 
 #include "DEG_depsgraph.h"