diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-01-17 12:47:14 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-01-18 14:29:53 +0300 |
commit | 9db73be975ccc3fbbad17361166060cacd84692e (patch) | |
tree | b96066b90b99ade62618fdf40f3ff588fdb54d9e /source/blender/blenkernel/intern/subdiv_inline.h | |
parent | a676b2b4b4dcd0b6ea1ee352ea8f895809c99153 (diff) |
Multires: Cleanup, move utility function to a more public place
Diffstat (limited to 'source/blender/blenkernel/intern/subdiv_inline.h')
-rw-r--r-- | source/blender/blenkernel/intern/subdiv_inline.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/subdiv_inline.h b/source/blender/blenkernel/intern/subdiv_inline.h index 6e3d906f08c..1863c8602e6 100644 --- a/source/blender/blenkernel/intern/subdiv_inline.h +++ b/source/blender/blenkernel/intern/subdiv_inline.h @@ -77,4 +77,28 @@ BLI_INLINE int BKE_subdiv_rotate_quad_to_corner( return corner; } +BLI_INLINE void BKE_subdiv_rotate_corner_to_quad( + const int corner, + const float corner_u, const float corner_v, + float *r_quad_u, float *r_quad_v) +{ + if (corner == 0) { + *r_quad_u = 0.5f - corner_v * 0.5f; + *r_quad_v = 0.5f - corner_u * 0.5f; + } + else if (corner == 1) { + *r_quad_u = 0.5f + corner_u * 0.5f; + *r_quad_v = 0.5f - corner_v * 0.5f; + } + else if (corner == 2) { + *r_quad_u = 0.5f + corner_v * 0.5f; + *r_quad_v = 0.5f + corner_u * 0.5f; + } + else { + BLI_assert(corner == 3); + *r_quad_u = 0.5f - corner_u * 0.5f; + *r_quad_v = 0.5f + corner_v * 0.5f; + } +} + #endif /* __SUBDIV_INLINE_H__ */ |