Commit: 6a638e95551bdc4d0310b392b39b8a7d8eed6517
Author: Nick Wu
Date:   Sat Oct 20 13:05:21 2018 +0800
Branches: soc-2018-npr
https://developer.blender.org/rB6a638e95551bdc4d0310b392b39b8a7d8eed6517

Merge remote-tracking branch 'remotes/origin/blender2.8' into soc-2018-npr, 
also fix errors in modifier code.

# Conflicts:
#       release/scripts/startup/bl_ui/properties_data_camera.py
#       release/scripts/startup/bl_ui/properties_data_speaker.py
#       release/scripts/startup/bl_ui/properties_render.py
#       release/scripts/startup/bl_ui/properties_scene.py
#       source/blender/makesrna/intern/rna_scene.c

===================================================================



===================================================================

diff --cc release/scripts/startup/bl_ui/properties_data_camera.py
index 7c4a3770b41,0e3ee0e3044..9862013f08b
--- a/release/scripts/startup/bl_ui/properties_data_camera.py
+++ b/release/scripts/startup/bl_ui/properties_data_camera.py
@@@ -181,7 -181,8 +181,8 @@@ class DATA_PT_camera_stereoscopy(Camera
  
  class DATA_PT_camera(CameraButtonsPanel, Panel):
      bl_label = "Camera"
 +    COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
'BLENDER_LANPR'}
+     bl_options = {'DEFAULT_CLOSED'}
 -    COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
  
      def draw_header_preset(self, context):
          CAMERA_PT_presets.draw_panel_header(self.layout)
diff --cc release/scripts/startup/bl_ui/properties_scene.py
index 4962a5c7626,47f6c7662b1..3e914db5e5c
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@@ -74,7 -74,8 +74,8 @@@ class SCENE_PT_scene(SceneButtonsPanel
  
  class SCENE_PT_unit(SceneButtonsPanel, Panel):
      bl_label = "Units"
+     bl_options = {'DEFAULT_CLOSED'}
 -    COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'}
 +    COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL', 
"BLENDER_LANPR"}
  
      def draw(self, context):
          layout = self.layout
diff --cc source/blender/makesrna/intern/rna_scene.c
index 661c0620b07,7679ff41ba3..77dbdec5bdc
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@@ -459,27 -457,27 +459,27 @@@ static const EnumPropertyItem rna_enum_
  #endif
  
  const EnumPropertyItem rna_enum_transform_pivot_items_full[] = {
-       {V3D_AROUND_CENTER_BOUNDS, "BOUNDING_BOX_CENTER", ICON_ROTATE, 
"Bounding Box Center",
+       {V3D_AROUND_CENTER_BOUNDS, "BOUNDING_BOX_CENTER", ICON_PIVOT_BOUNDBOX, 
"Bounding Box Center",
 -                   "Pivot around bounding box center of selected object(s)"},
 +       "Pivot around bounding box center of selected object(s)"},
-       {V3D_AROUND_CURSOR, "CURSOR", ICON_CURSOR, "3D Cursor", "Pivot around 
the 3D cursor"},
-       {V3D_AROUND_LOCAL_ORIGINS, "INDIVIDUAL_ORIGINS", ICON_ROTATECOLLECTION,
+       {V3D_AROUND_CURSOR, "CURSOR", ICON_PIVOT_CURSOR, "3D Cursor", "Pivot 
around the 3D cursor"},
+       {V3D_AROUND_LOCAL_ORIGINS, "INDIVIDUAL_ORIGINS", ICON_PIVOT_INDIVIDUAL,
 -                  "Individual Origins", "Pivot around each object's own 
origin"},
 +       "Individual Origins", "Pivot around each object's own origin"},
-       {V3D_AROUND_CENTER_MEAN, "MEDIAN_POINT", ICON_ROTATECENTER, "Median 
Point",
+       {V3D_AROUND_CENTER_MEAN, "MEDIAN_POINT", ICON_PIVOT_MEDIAN, "Median 
Point",
 -                     "Pivot around the median point of selected objects"},
 +       "Pivot around the median point of selected objects"},
-       {V3D_AROUND_ACTIVE, "ACTIVE_ELEMENT", ICON_ROTACTIVE, "Active Element", 
"Pivot around active object"},
+       {V3D_AROUND_ACTIVE, "ACTIVE_ELEMENT", ICON_PIVOT_ACTIVE, "Active 
Element", "Pivot around active object"},
        {0, NULL, 0, NULL, NULL}
  };
  
  /* Icons could be made a consistent set of images. */
  const EnumPropertyItem rna_enum_transform_orientation_items[] = {
-       {V3D_MANIP_GLOBAL, "GLOBAL", ICON_SCENE_DATA, "Global", "Align the 
transformation axes to world space"},
-       {V3D_MANIP_LOCAL, "LOCAL", ICON_MANIPUL, "Local", "Align the 
transformation axes to the selected objects' local space"},
-       {V3D_MANIP_NORMAL, "NORMAL", ICON_SNAP_NORMAL, "Normal",
+       {V3D_MANIP_GLOBAL, "GLOBAL", ICON_ORIENTATION_GLOBAL, "Global", "Align 
the transformation axes to world space"},
+       {V3D_MANIP_LOCAL, "LOCAL", ICON_ORIENTATION_LOCAL, "Local", "Align the 
transformation axes to the selected objects' local space"},
+       {V3D_MANIP_NORMAL, "NORMAL", ICON_ORIENTATION_NORMAL, "Normal",
 -                         "Align the transformation axes to average normal of 
selected elements "
 -                         "(bone Y axis for pose mode)"},
 +       "Align the transformation axes to average normal of selected elements "
 +       "(bone Y axis for pose mode)"},
-       {V3D_MANIP_GIMBAL, "GIMBAL", ICON_NDOF_DOM, "Gimbal", "Align each axis 
to the Euler rotation axis as used for input"},
-       {V3D_MANIP_VIEW, "VIEW", ICON_VISIBLE_IPO_ON, "View", "Align the 
transformation axes to the window"},
-       {V3D_MANIP_CURSOR, "CURSOR", ICON_CURSOR, "Cursor", "Align the 
transformation axes to the 3D cursor"},
+       {V3D_MANIP_GIMBAL, "GIMBAL", ICON_ORIENTATION_GIMBAL, "Gimbal", "Align 
each axis to the Euler rotation axis as used for input"},
+       {V3D_MANIP_VIEW, "VIEW", ICON_ORIENTATION_VIEW, "View", "Align the 
transformation axes to the window"},
+       {V3D_MANIP_CURSOR, "CURSOR", ICON_PIVOT_CURSOR, "Cursor", "Align the 
transformation axes to the 3D cursor"},
        // {V3D_MANIP_CUSTOM, "CUSTOM", 0, "Custom", "Use a custom transform 
orientation"},
        {0, NULL, 0, NULL, NULL}
  };
diff --cc source/blender/modifiers/intern/MOD_mybmesh.c
index 8be71336340,00000000000..c22a0bc6451
mode 100644,000000..100644
--- a/source/blender/modifiers/intern/MOD_mybmesh.c
+++ b/source/blender/modifiers/intern/MOD_mybmesh.c
@@@ -1,4515 -1,0 +1,4515 @@@
 +/*
 + * ***** 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.
 + *
 + * ***** END GPL LICENSE BLOCK *****
 + *
 + */
 +
 +/** \file blender/modifiers/intern/MOD_mybmesh.c
 + *  \ingroup modifiers
 + */
 +
 +/* This code is based of the tessellation part of the paper
 + * "Computing Smooth Surface Contours with Accurate Topology"
 + * (Pierre BĂ©nard, Aaron Hertzmann, Michael Kass).
 + * Currently available at:
 + * http://www.labri.fr/perso/pbenard/publications/contours.html
 + *
 + * The numbers in the comments refers to the chapters in the paper.
 + */
 +
 +
 +#include "DNA_mesh_types.h"
 +#include "DNA_meshdata_types.h"
 +#include "DNA_object_types.h"
 +
 +#include "MEM_guardedalloc.h"
 +
 +#include "BLI_math.h"
 +#include "BLI_string.h"
 +#include "BLI_utildefines.h"
 +#include "BLI_buffer.h"
 +#include "BLI_alloca.h"
 +#include "BLI_ghash.h"
 +#include "BLI_gsqueue.h"
 +#include "BLI_memarena.h"
 +#include "BLI_rand.h"
 +#include "BLI_listbase.h"
 +#include "BLI_threads.h"
 +
 +#include "BKE_library_query.h"
 +#include "BKE_modifier.h"
 +#include "BKE_mesh.h"
 +#include "BKE_mesh_mapping.h"
 +#include "BKE_deform.h"
 +
 +#include "bmesh.h"
 +#include "bmesh_tools.h"
 +
 +#include "MOD_util.h"
 +#include "MOD_modifiertypes.h"
 +
 +#include "DEG_depsgraph_build.h"
 +
 +//BMesh intern
 +#include "../../bmesh/intern/bmesh_private.h"
 +
 +//TODO this modifier depends on OpenSubDiv. So if it's not compiled in, 
remove this modifier
 +
 +#include "../../../../intern/opensubdiv/opensubdiv_capi.h"
 +#include "../../../../intern/opensubdiv/opensubdiv_converter_capi.h"
 +#include "../../../../intern/opensubdiv/opensubdiv_evaluator_capi.h"
 +#include "../../../../intern/opensubdiv/opensubdiv_topology_refiner_capi.h"
 +
 +#include "../../blenkernel/intern/subdiv_converter.h"
 +
 +#include "PIL_time.h"
 +#include "PIL_time_utildefines.h"
 +
 +struct OpenSubdiv_Evaluator;
 +
 +typedef struct {
 +      BMVert *vert; //Only used for shifted verts
 +      BMEdge *orig_edge;
 +      BMFace *orig_face;
 +      float u, v;
 +} Vert_buf;
 +
 +typedef struct {
 +      BMEdge *cusp_e;
 +      BMFace *orig_face;
 +      float cusp_co[3];
 +      float cusp_no[3];
 +
 +      float u, v;
 +} Cusp;
 +
 +typedef struct {
 +      bool b_arr[3];
 +    bool kr_arr[3];
 +      float co_arr[3][3];
 +      float u_arr[3];
 +      float v_arr[3];
 +} Cusp_triang;
 +
 +typedef struct {
 +      BMVert *vert;
 +      BMVert *C_vert;
 +      //Can we extend this radial vert?
 +      bool extendable;
 +      bool is_B;
 +      float radi_plane_no[3];
 +} Radi_vert;
 +
 +typedef struct {
 +      BMFace *face;
 +      //Should be front or back facing?
 +      bool back_f;
 +} IncoFace;
 +
 +typedef struct {
 +      BMesh *bm;
 +      BMesh *bm_orig;
 +
 +      float cam_loc[3];
 +
 +    GHash *vert_hash;
 +
 +      BLI_Buffer *new_vert_buffer;
 +      BLI_Buffer *shifted_verts;
 +      BLI_Buffer *cusp_edges;
 +      BLI_Buffer *C_verts;
 +      BLI_Buffer *cusp_verts;
 +      BLI_Buffer *radi_vert_buffer;
 +      //Radial edge vert start idx
 +      int new_vert_idx;
 +      int radi_start_idx;
 +
 +      struct OpenSubdiv_Evaluator *eval;
 +} MeshData;
 +
 +//TODO for Kr look in subdiv.cpp in coutours source code (II)
 +
 +//TODO dynamic arrays, use BLI_stack, BLI_buffer, BLI_mempool, BLI_memarena.
 +
 +static void verts_to_limit(BMesh *bm, struct OpenSubdiv_Evaluator *eval){
 +
 +      int i, j;
 +
 +      BMIter iter_v, iter_f;
 +      BMVert *vert;
 +      BMFace *f;
 +
 +      //TODO is it possible to only get non adjusted verts?
 +      //IE not moving a vert more than once.
 +
 +      BM_ITER_MESH_INDEX (f, &iter_f, bm, BM_FACES_OF_MESH, i) {
 +                      BM_ITER_ELEM_INDEX (vert, &iter_v, f, BM_VERTS_OF_FACE, 
j) {
 +                              float u,v, du[3], dv[3];
 +                              switch(j){
 +                                      case 1 :
 +                                              u = 1, v = 0;
 +                                              break;
 +                                      case 2 :
 +                                              u = v = 1;
 +                                              break;
 +                                      case 3 :
 +                                              u = 0, v = 1;
 +                                              break;
 +                                      default:
 +                                              u = v = 0;
 +                                              break;
 +                              }
 +                              eval->evaluateLimit(eval, i, u, v, vert->co, 
du, dv);
 +                              //Adjust vert normal to the limit normal
 +                              cross_v3_v3v3(vert->no, du, dv);
 +                              normalize_v3(vert->no);
 +                              //printf("j: %d\n",j);
 +                      }
 +                      //printf("i: %d\n",i);
 +                      //printf("face i: %d\n", BM_elem_index_get(f));
 +      }
 +
 +}
 +
 +static Vert_buf* get_shift_vert( BMVert *vert, MeshData *m_d ){
 +      int vert_i;
 +
 +      //check if vert is in the buffer
 +      for(vert_i = 0; vert_i < m_d->shifted_verts->count; vert_i++){
 +              Vert_buf *buf = &BLI_buffer_at(m_d->shifted_verts, Vert_buf, 
vert_i);
 +              if( vert == buf->vert ){
 +                      return buf;
 +              }
 +      }
 +      retu

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to