doxygen: add newline after \file
[blender.git] / source / blender / blenkernel / BKE_subdiv.h
index d79ea1c..4fddb3d 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * ***** 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
  *
  * The Original Code is Copyright (C) 2018 by Blender Foundation.
  * All rights reserved.
- *
- * Contributor(s): Sergey Sharybin.
- *
- * ***** END GPL LICENSE BLOCK *****
  */
 
-/** \file BKE_subdiv.h
- *  \ingroup bke
- *  \since July 2018
- *  \author Sergey Sharybin
+/** \file
+ * \ingroup bke
  */
 
 #ifndef __BKE_SUBDIV_H__
@@ -188,10 +180,15 @@ void BKE_subdiv_stats_init(SubdivStats *stats);
 void BKE_subdiv_stats_begin(SubdivStats *stats, eSubdivStatsValue value);
 void BKE_subdiv_stats_end(SubdivStats *stats, eSubdivStatsValue value);
 
+void BKE_subdiv_stats_reset(SubdivStats *stats, eSubdivStatsValue value);
+
 void BKE_subdiv_stats_print(const SubdivStats *stats);
 
 /* ================================ SETTINGS ================================ */
 
+void BKE_subdiv_settings_validate_for_mesh(SubdivSettings *settings,
+                                           const struct Mesh *mesh);
+
 bool BKE_subdiv_settings_equal(const SubdivSettings *settings_a,
                                const SubdivSettings *settings_b);
 
@@ -244,6 +241,11 @@ BLI_INLINE void BKE_subdiv_ptex_face_uv_to_grid_uv(
         const float ptex_u, const float ptex_v,
         float *r_grid_u, float *r_grid_v);
 
+/* Onverse of above. */
+BLI_INLINE void BKE_subdiv_grid_uv_to_ptex_face_uv(
+        const float grid_u, const float grid_v,
+        float *r_ptex_u, float *r_ptex_v);
+
 /* For a given subdivision level (which is NOT refinement level) get size of
  * CCG grid (number of grid points on a side).
  */
@@ -254,8 +256,15 @@ BLI_INLINE int BKE_subdiv_grid_size_from_level(const int level);
  *
  * NOTE: Output coordinates are in ptex coordinates. */
 BLI_INLINE int BKE_subdiv_rotate_quad_to_corner(
-        const float u, const float v,
-        float *r_u, float *r_v);
+        const float quad_u, const float quad_v,
+        float *r_corner_u, float *r_corner_v);
+
+/* Converts (u, v) coordinate from within a grid to a quad coordinate in
+ * normalized ptex coordinates. */
+BLI_INLINE void BKE_subdiv_rotate_grid_to_quad(
+        const int corner,
+        const float grid_u, const float grid_v,
+        float *r_quad_u, float *r_quad_v);
 
 #include "intern/subdiv_inline.h"