[Bf-blender-cvs] [8405f95] alembic_basic_io: Cleanup: indent.

2016-07-03 Thread Kévin Dietrich
Commit: 8405f9534af0d5f11e4499f34f8650e6050129c1
Author: Kévin Dietrich
Date:   Mon Jul 4 07:14:14 2016 +0200
Branches: alembic_basic_io
https://developer.blender.org/rB8405f9534af0d5f11e4499f34f8650e6050129c1

Cleanup: indent.

===

M   source/blender/alembic/intern/abc_exporter.cc
M   source/blender/alembic/intern/abc_mesh.cc
M   source/blender/alembic/intern/abc_mesh.h

===

diff --git a/source/blender/alembic/intern/abc_exporter.cc 
b/source/blender/alembic/intern/abc_exporter.cc
index 1c49062..d748c33 100644
--- a/source/blender/alembic/intern/abc_exporter.cc
+++ b/source/blender/alembic/intern/abc_exporter.cc
@@ -71,27 +71,27 @@ using Alembic::Abc::OBox3dProperty;
 ExportSettings::ExportSettings()
 : scene(NULL)
 , selected_only(false)
-   , visible_layers_only(false)
-   , renderable_only(false)
-   , startframe(1)
+, visible_layers_only(false)
+, renderable_only(false)
+, startframe(1)
 , endframe(1)
-   , xform_frame_step(1)
-   , shape_frame_step(1)
-   , shutter_open(0.0)
-   , shutter_close(1.0)
-   , global_scale(1.0f)
-   , flatten_hierarchy(false)
-   , export_normals(false)
-   , export_uvs(false)
-   , export_vcols(false)
-   , export_face_sets(false)
-   , export_vweigths(false)
-   , apply_subdiv(false)
-   , use_subdiv_schema(false)
-   , export_child_hairs(true)
-   , export_ogawa(true)
-   , pack_uv(false)
-   , do_convert_axis(false)
+, xform_frame_step(1)
+, shape_frame_step(1)
+, shutter_open(0.0)
+, shutter_close(1.0)
+, global_scale(1.0f)
+, flatten_hierarchy(false)
+, export_normals(false)
+, export_uvs(false)
+, export_vcols(false)
+, export_face_sets(false)
+, export_vweigths(false)
+, apply_subdiv(false)
+, use_subdiv_schema(false)
+, export_child_hairs(true)
+, export_ogawa(true)
+, pack_uv(false)
+, do_convert_axis(false)
 {}
 
 static bool object_is_smoke_sim(Object *ob)
diff --git a/source/blender/alembic/intern/abc_mesh.cc 
b/source/blender/alembic/intern/abc_mesh.cc
index 65b2eec..3d97fa4 100644
--- a/source/blender/alembic/intern/abc_mesh.cc
+++ b/source/blender/alembic/intern/abc_mesh.cc
@@ -805,12 +805,12 @@ static bool has_animations(Schema , ImportSettings 
*settings)
 
/* Check for animated UVs. */
if (IV2fGeomParam::matches(propHeader) && 
Alembic::AbcGeom::isUV(propHeader)) {
-IV2fGeomParam uv_geom_param(arb_geom_params, propHeader.getName());
+   IV2fGeomParam uv_geom_param(arb_geom_params, 
propHeader.getName());
 
if (!uv_geom_param.isConstant()) {
return true;
}
-}
+   }
}
 
return false;
diff --git a/source/blender/alembic/intern/abc_mesh.h 
b/source/blender/alembic/intern/abc_mesh.h
index d03eecd..d550f5d 100644
--- a/source/blender/alembic/intern/abc_mesh.h
+++ b/source/blender/alembic/intern/abc_mesh.h
@@ -53,16 +53,16 @@ class AbcMeshWriter : public AbcObjectWriter {
 public:
AbcMeshWriter(Scene *scene,
  Object *ob,
-  AbcTransformWriter *parent,
-  uint32_t time_sampling,
-  ExportSettings );
+ AbcTransformWriter *parent,
+ uint32_t time_sampling,
+ ExportSettings );
 
~AbcMeshWriter();
 
 private:
virtual void do_write();
 
-bool isAnimated() const;
+   bool isAnimated() const;
 
void writeMesh(DerivedMesh *dm);
void writeSubD(DerivedMesh *dm);
@@ -77,7 +77,7 @@ private:
DerivedMesh *getFinalMesh();
void freeMesh(DerivedMesh *dm);
 
-void getMaterialIndices(DerivedMesh *dm, std::vector );
+   void getMaterialIndices(DerivedMesh *dm, std::vector );
 
void writeArbGeoParams(DerivedMesh *dm);
void getGeoGroups(DerivedMesh *dm, std::map );
@@ -108,7 +108,7 @@ private:
 
void readPolyDataSample(Mesh *mesh,
const Alembic::AbcGeom::Int32ArraySamplePtr 
_indices,
-const Alembic::AbcGeom::Int32ArraySamplePtr 
_counts,
+   const Alembic::AbcGeom::Int32ArraySamplePtr 
_counts,
const Alembic::AbcGeom::N3fArraySamplePtr 
);
 
void readVertexDataSample(Mesh *mesh,

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


[Bf-blender-cvs] [9269574] master: Quiet warnings w/ USE_VERIFY define

2016-07-03 Thread Campbell Barton
Commit: 9269574089a742130f02c0a1184a19d94f0e665d
Author: Campbell Barton
Date:   Mon Jul 4 14:55:29 2016 +1000
Branches: master
https://developer.blender.org/rB9269574089a742130f02c0a1184a19d94f0e665d

Quiet warnings w/ USE_VERIFY define

===

M   source/blender/blenkernel/intern/pbvh_bmesh.c

===

diff --git a/source/blender/blenkernel/intern/pbvh_bmesh.c 
b/source/blender/blenkernel/intern/pbvh_bmesh.c
index 88dc63d..87d22d0 100644
--- a/source/blender/blenkernel/intern/pbvh_bmesh.c
+++ b/source/blender/blenkernel/intern/pbvh_bmesh.c
@@ -1909,17 +1909,22 @@ static void pbvh_bmesh_verify(PBVH *bvh)
 {
/* build list of faces & verts to lookup */
GSet *faces_all = BLI_gset_ptr_new_ex(__func__, bvh->bm->totface);
-   BMFace *f;
BMIter iter;
-   BM_ITER_MESH(f, , bvh->bm, BM_FACES_OF_MESH) {
-   BLI_gset_insert(faces_all, f);
+
+   {
+   BMFace *f;
+   BM_ITER_MESH(f, , bvh->bm, BM_FACES_OF_MESH) {
+   BLI_gset_insert(faces_all, f);
+   }
}
 
GSet *verts_all = BLI_gset_ptr_new_ex(__func__, bvh->bm->totvert);
-   BMVert *v;
-   BM_ITER_MESH(v, , bvh->bm, BM_VERTS_OF_MESH) {
-   if (BM_ELEM_CD_GET_INT(v, bvh->cd_vert_node_offset) != 
DYNTOPO_NODE_NONE) {
-   BLI_gset_insert(verts_all, v);
+   {
+   BMVert *v;
+   BM_ITER_MESH(v, , bvh->bm, BM_VERTS_OF_MESH) {
+   if (BM_ELEM_CD_GET_INT(v, bvh->cd_vert_node_offset) != 
DYNTOPO_NODE_NONE) {
+   BLI_gset_insert(verts_all, v);
+   }
}
}
 
@@ -1936,76 +1941,83 @@ static void pbvh_bmesh_verify(PBVH *bvh)
BLI_assert(totvert == BLI_gset_size(verts_all));
}
 
-   BM_ITER_MESH(f, , bvh->bm, BM_FACES_OF_MESH) {
-   BMIter bm_iter;
-   BMVert *v;
-   PBVHNode *n = pbvh_bmesh_node_lookup(bvh, f);
+   {
+   BMFace *f;
+   BM_ITER_MESH(f, , bvh->bm, BM_FACES_OF_MESH) {
+   BMIter bm_iter;
+   BMVert *v;
+   PBVHNode *n = pbvh_bmesh_node_lookup(bvh, f);
 
-   /* Check that the face's node is a leaf */
-   BLI_assert(n->flag & PBVH_Leaf);
+   /* Check that the face's node is a leaf */
+   BLI_assert(n->flag & PBVH_Leaf);
 
-   /* Check that the face's node knows it owns the face */
-   BLI_assert(BLI_gset_haskey(n->bm_faces, f));
+   /* Check that the face's node knows it owns the face */
+   BLI_assert(BLI_gset_haskey(n->bm_faces, f));
 
-   /* Check the face's vertices... */
-   BM_ITER_ELEM (v, _iter, f, BM_VERTS_OF_FACE) {
-   PBVHNode *nv;
+   /* Check the face's vertices... */
+   BM_ITER_ELEM (v, _iter, f, BM_VERTS_OF_FACE) {
+   PBVHNode *nv;
 
-   /* Check that the vertex is in the node */
-   BLI_assert(BLI_gset_haskey(n->bm_unique_verts, v) ^
-  BLI_gset_haskey(n->bm_other_verts, v));
+   /* Check that the vertex is in the node */
+   BLI_assert(BLI_gset_haskey(n->bm_unique_verts, 
v) ^
+  BLI_gset_haskey(n->bm_other_verts, 
v));
 
-   /* Check that the vertex has a node owner */
-   nv = pbvh_bmesh_node_lookup(bvh, v);
+   /* Check that the vertex has a node owner */
+   nv = pbvh_bmesh_node_lookup(bvh, v);
 
-   /* Check that the vertex's node knows it owns the vert 
*/
-   BLI_assert(BLI_gset_haskey(nv->bm_unique_verts, v));
+   /* Check that the vertex's node knows it owns 
the vert */
+   BLI_assert(BLI_gset_haskey(nv->bm_unique_verts, 
v));
 
-   /* Check that the vertex isn't duplicated as an 'other' 
vert */
-   BLI_assert(!BLI_gset_haskey(nv->bm_other_verts, v));
+   /* Check that the vertex isn't duplicated as an 
'other' vert */
+   BLI_assert(!BLI_gset_haskey(nv->bm_other_verts, 
v));
+   }
}
}
 
/* Check verts */
-   BM_ITER_MESH(v, , bvh->bm, BM_VERTS_OF_MESH) {
-   /* vertex isn't tracked */
-   if (BM_ELEM_CD_GET_INT(v, bvh->cd_vert_node_offset) == 
DYNTOPO_NODE_NONE) {
-   continue;
-   }
+   {
+ 

[Bf-blender-cvs] [cf3c189] fluid-mantaflow: liquid mesh scaling improvements

2016-07-03 Thread Sebastián Barschkis
Commit: cf3c18948bce02f2a6a28def4528ae3d405f5abf
Author: Sebastián Barschkis
Date:   Mon Jul 4 00:09:30 2016 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rBcf3c18948bce02f2a6a28def4528ae3d405f5abf

liquid mesh scaling improvements

===

M   source/blender/blenkernel/intern/smoke.c

===

diff --git a/source/blender/blenkernel/intern/smoke.c 
b/source/blender/blenkernel/intern/smoke.c
index a8b90d0..e68e6e0 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -2828,7 +2828,7 @@ static void step(Scene *scene, Object *ob, 
SmokeModifierData *smd, DerivedMesh *
}
 }
 
-static DerivedMesh *createLiquidMesh(SmokeDomainSettings *sds, DerivedMesh 
*orgdm)
+static DerivedMesh *createLiquidMesh(SmokeDomainSettings *sds, DerivedMesh 
*orgdm, Object* ob)
 {
DerivedMesh *dm;
MVert *mverts;
@@ -2872,6 +2872,8 @@ static DerivedMesh *createLiquidMesh(SmokeDomainSettings 
*sds, DerivedMesh *orgd

printf("num_verts: %d, num_normals: %d, num_triangles: %d\n", 
num_verts, num_normals, num_faces);

+   float max_size = MAX3(sds->global_size[0], sds->global_size[1], 
sds->global_size[2]);
+   
// Vertices
for (i = 0; i < num_verts; i++, mverts++)
{
@@ -2879,9 +2881,9 @@ static DerivedMesh *createLiquidMesh(SmokeDomainSettings 
*sds, DerivedMesh *orgd
mverts->co[1] = liquid_get_vertex_y_at(sds->fluid, i);
mverts->co[2] = liquid_get_vertex_z_at(sds->fluid, i);

-   mverts->co[0] *= sds->scale;
-   mverts->co[1] *= sds->scale;
-   mverts->co[2] *= sds->scale;
+   mverts->co[0] *= max_size / fabsf(ob->size[0]);
+   mverts->co[1] *= max_size / fabsf(ob->size[1]);
+   mverts->co[2] *= max_size / fabsf(ob->size[2]);

 // printf("mverts->co[0]: %f, mverts->co[1]: %f, mverts->co[2]: 
%f\n", mverts->co[0], mverts->co[1], mverts->co[2]);
}
@@ -3183,7 +3185,7 @@ struct DerivedMesh *smokeModifier_do(SmokeModifierData 
*smd, Scene *scene, Objec
else if (smd->type & MOD_SMOKE_TYPE_DOMAIN && smd->domain &&
smd->domain->type == MOD_SMOKE_DOMAIN_TYPE_LIQUID)
{
-   DerivedMesh *result = createLiquidMesh(smd->domain, dm);
+   DerivedMesh *result = createLiquidMesh(smd->domain, dm, ob);
return (result) ? result : CDDM_copy(dm);
}
else {

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


[Bf-blender-cvs] [697566e] fluid-mantaflow: sanity check in liquid mesh create function. prevents crashes

2016-07-03 Thread Sebastián Barschkis
Commit: 697566e5c9bbdcea266b82302062f97b14f7dbc8
Author: Sebastián Barschkis
Date:   Sun Jul 3 21:18:50 2016 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rB697566e5c9bbdcea266b82302062f97b14f7dbc8

sanity check in liquid mesh create function. prevents crashes

===

M   source/blender/blenkernel/intern/smoke.c

===

diff --git a/source/blender/blenkernel/intern/smoke.c 
b/source/blender/blenkernel/intern/smoke.c
index c3e5bb9..a8b90d0 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -2850,9 +2850,14 @@ static DerivedMesh *createLiquidMesh(SmokeDomainSettings 
*sds, DerivedMesh *orgd
const char mp_flag= mp_example.flag;

int i;
-   int num_verts   = liquid_get_num_verts(sds->fluid);
-   int num_normals = liquid_get_num_normals(sds->fluid);
-   int num_faces   = liquid_get_num_triangles(sds->fluid);
+   int num_verts, num_normals, num_faces;
+   
+   if (!sds->fluid)
+   return NULL;
+   
+   num_verts   = liquid_get_num_verts(sds->fluid);
+   num_normals = liquid_get_num_normals(sds->fluid);
+   num_faces   = liquid_get_num_triangles(sds->fluid);

if (!num_verts || !num_normals || !num_faces)
return NULL;

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


[Bf-blender-cvs] [ed95484] fluid-mantaflow: some cleanup for liquid inflow

2016-07-03 Thread Sebastián Barschkis
Commit: ed954841bfb87168a2e142506a3809eb460fdaed
Author: Sebastián Barschkis
Date:   Sun Jul 3 13:11:41 2016 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rBed954841bfb87168a2e142506a3809eb460fdaed

some cleanup for liquid inflow

===

M   source/blender/blenkernel/intern/smoke.c

===

diff --git a/source/blender/blenkernel/intern/smoke.c 
b/source/blender/blenkernel/intern/smoke.c
index f8ff9cd..c3e5bb9 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -1556,8 +1556,8 @@ static void sample_derivedmesh(
 */

/* Calculate map which indicates whether point is inside a mesh or not 
*/
-   BVHTreeRayHit hit_tree = {0}; // Reset hit tree
int i, hit_index;
+   float dot;
float min_dist_pos, min_dist_neg, min_dist_combined; // for xyz axis in 
pos and neg direction and when combining 6 axis
float hit_dists[6] = {0.0f};
float ray_dirs[6][3] = {{1.0f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f}, {0.0f, 
0.0f, 1.0f},
@@ -1566,6 +1566,7 @@ static void sample_derivedmesh(
inflow_map[index] = 1.0f; // Init inflow map to zero, undetermined 
otherwise which is not good ...
 
for (i = 0; i < ray_cnt; i++) {
+   BVHTreeRayHit hit_tree = {0};
hit_tree.index = -1;
hit_tree.dist = ;
 
@@ -1574,7 +1575,7 @@ static void sample_derivedmesh(
 
if (hit_index != -1) {

-   float dot = ray_dirs[i][0] * hit_tree.no[0] + 
ray_dirs[i][1] * hit_tree.no[1] + ray_dirs[i][2] * hit_tree.no[2];
+   dot = ray_dirs[i][0] * hit_tree.no[0] + ray_dirs[i][1] 
* hit_tree.no[1] + ray_dirs[i][2] * hit_tree.no[2];
 
if (dot >= 0) {
inflow_map[index] = -1.0f; // place mark in 
map: current point is inside flow mesh. we need this info later

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


[Bf-blender-cvs] [3522fed] soc-2016-layer_manager: Merge branch 'master' into soc-2016-layer_manager

2016-07-03 Thread Julian Eisel
Commit: 3522fede9bf389b3a610f6817e2995a3f6be1ef8
Author: Julian Eisel
Date:   Sun Jul 3 22:39:24 2016 +0200
Branches: soc-2016-layer_manager
https://developer.blender.org/rB3522fede9bf389b3a610f6817e2995a3f6be1ef8

Merge branch 'master' into soc-2016-layer_manager

===



===



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


[Bf-blender-cvs] [bba98c6] soc-2016-layer_manager: Cleanup: Correct comment

2016-07-03 Thread Julian Eisel
Commit: bba98c65a101e113df2fb6907a25732973f80773
Author: Julian Eisel
Date:   Sun Jul 3 22:46:08 2016 +0200
Branches: soc-2016-layer_manager
https://developer.blender.org/rBbba98c65a101e113df2fb6907a25732973f80773

Cleanup: Correct comment

===

M   source/blender/blenkernel/intern/layer.c

===

diff --git a/source/blender/blenkernel/intern/layer.c 
b/source/blender/blenkernel/intern/layer.c
index 8006432..ca8256c 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -359,7 +359,7 @@ void BKE_layeritem_move(LayerTreeItem *litem, const int 
newidx, const bool with_
BLI_insertlinkbefore(moved->parent ? >parent->childs : 
>tree->items, moved, litem);
}
 
-   /* move in array (return if failed) */
+   /* move in array */
layeritem_move_array(litem, newidx, tot_childs + 1);
 }

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


[Bf-blender-cvs] [cd374ba] soc-2016-layer_manager: Get layer drag & drop with layer groups to work

2016-07-03 Thread Julian Eisel
Commit: cd374baef3963f8cd5f4610a3069a45f798c52ad
Author: Julian Eisel
Date:   Sun Jul 3 22:36:49 2016 +0200
Branches: soc-2016-layer_manager
https://developer.blender.org/rBcd374baef3963f8cd5f4610a3069a45f798c52ad

Get layer drag & drop with layer groups to work

Still get some occasional crashes but have to investigate at another time.

===

M   source/blender/blenkernel/BKE_layer.h
M   source/blender/blenkernel/intern/layer.c
M   source/blender/editors/space_layers/layers_ops.c
M   source/blender/makesdna/DNA_scene_types.h

===

diff --git a/source/blender/blenkernel/BKE_layer.h 
b/source/blender/blenkernel/BKE_layer.h
index a1d362d..8564490 100644
--- a/source/blender/blenkernel/BKE_layer.h
+++ b/source/blender/blenkernel/BKE_layer.h
@@ -110,7 +110,7 @@ void BKE_layeritem_register(
 const eLayerTreeItem_Type type, const char *name);
 void BKE_layeritem_remove(LayerTreeItem *litem, const bool remove_children);
 
-void BKE_layeritem_move(LayerTreeItem *litem, const int newidx);
+void BKE_layeritem_move(LayerTreeItem *litem, const int newidx, const bool 
with_childs);
 void BKE_layeritem_group_assign(LayerTreeItem *group, LayerTreeItem *item);
 
 bool BKE_layeritem_iterate_childs(
diff --git a/source/blender/blenkernel/intern/layer.c 
b/source/blender/blenkernel/intern/layer.c
index 5cc8e49..8006432 100644
--- a/source/blender/blenkernel/intern/layer.c
+++ b/source/blender/blenkernel/intern/layer.c
@@ -32,12 +32,14 @@
  */
 
 #include 
+#include 
 
 #include "BKE_context.h"
 #include "BKE_idprop.h"
 #include "BKE_layer.h" /* own include */
 #include "BKE_object.h"
 
+#include "BLI_alloca.h"
 #include "BLI_listbase.h"
 #include "BLI_string.h"
 
@@ -275,41 +277,76 @@ void BKE_layeritem_remove(LayerTreeItem *litem, const 
bool remove_children)
ltree->items_all = MEM_reallocN(ltree->items_all, 
sizeof(*ltree->items_all) * ltree->tot_items);
 }
 
-static bool layeritem_move_array(LayerTreeItem *litem, const int newidx)
+/* XXX newidx isn't always the index the items are inserted at. */
+static void layeritem_move_array(LayerTreeItem *litem, const int newidx, const 
int num_items)
 {
-   const bool is_higher = litem->index < newidx;
+   LayerTree *ltree = litem->tree;
+   const int oldidx = litem->index;
+   const bool is_higher = oldidx < newidx;
+   const int insertidx = is_higher ? newidx - num_items + 1 : newidx;
 
-   BLI_assert(litem->tree->tot_items > newidx);
+   BLI_assert(num_items > 0 && ltree->tot_items > (insertidx + num_items - 
1));
/* Already where we want to move it to. */
-   if (litem->index == newidx)
-   return false;
+   if (oldidx == newidx)
+   return;
+
+   /* Save items to be moved */
+   LayerTreeItem **movechunk = 
+   if (num_items > 1) {
+   movechunk = BLI_array_alloca(movechunk, num_items);
+// memcpy(movechunk, ltree->items_all[oldidx], 
sizeof(*ltree->items_all) * num_items); XXX doesn't work
+   for (int i = 0; i < num_items; i++) {
+   movechunk[i] = ltree->items_all[oldidx + i];
+   }
+   }
+   BLI_assert(movechunk[0] == litem);
 
-   for (int i = is_higher ? litem->index + 1 : litem->index - 1;
-i < litem->tree->tot_items && i >= 0;
+   /* rearrange items to fill in gaps of items to be moved */
+   for (int i = is_higher ? oldidx + num_items : oldidx - 1;
+i < ltree->tot_items && i >= 0;
 is_higher ? i++ : i--)
{
-   const int iter_new_idx = i + (is_higher ? -1 : 1);
-   litem->tree->items_all[iter_new_idx] = 
litem->tree->items_all[i];
-   litem->tree->items_all[iter_new_idx]->index = iter_new_idx;
+   const int iter_new_idx = i + (is_higher ? -num_items : 
num_items);
+   ltree->items_all[iter_new_idx] = ltree->items_all[i];
+   ltree->items_all[iter_new_idx]->index = iter_new_idx;
if (i == newidx) {
-   litem->tree->items_all[i] = litem;
-   litem->index = i;
break;
}
}
+   /* move items to new position starting at newidx */
+   for (int i = 0; i < num_items; i++) {
+   ltree->items_all[insertidx + i] = movechunk[i];
+   ltree->items_all[insertidx + i]->index = insertidx + i;
+   }
+   /* TODO can check using gtest */
+   BLI_assert(ltree->items_all[insertidx] == litem && litem->index == 
insertidx);
+}
 
-   return true;
+/**
+ * Helper to count all children (and grand-children etc.) of a layer item.
+ * \note Recursive.
+ */
+static unsigned int layeritem_childs_count(ListBase *childs)
+{
+   int i = 0;
+   for (LayerTreeItem *child = childs->first; child; child = child->next, 

[Bf-blender-cvs] [6725b8d] wiggly-widgets: Merge branch 'master' into wiggly-widgets

2016-07-03 Thread Julian Eisel
Commit: 6725b8d56dbf97e3138d6282348b97ce2651f97b
Author: Julian Eisel
Date:   Sun Jul 3 22:23:09 2016 +0200
Branches: wiggly-widgets
https://developer.blender.org/rB6725b8d56dbf97e3138d6282348b97ce2651f97b

Merge branch 'master' into wiggly-widgets

Did some further edits on related changes.

Conflicts:
source/blender/blenkernel/intern/object.c
source/blender/blenlib/intern/math_vector.c
source/blender/blenloader/intern/writefile.c
source/blender/editors/include/ED_transform.h
source/blender/editors/space_graph/space_graph.c
source/blender/editors/space_image/space_image.c
source/blender/editors/space_node/space_node.c
source/blender/editors/space_sequencer/sequencer_draw.c
source/blender/editors/space_sequencer/space_sequencer.c

===



===

diff --cc release/scripts/modules/bpy_extras/keyconfig_utils.py
index 4f1d94a,534dabf..90b7602
--- a/release/scripts/modules/bpy_extras/keyconfig_utils.py
+++ b/release/scripts/modules/bpy_extras/keyconfig_utils.py
@@@ -107,9 -75,10 +107,11 @@@ KM_HIERARCHY = 
  
  ('Graph Editor', 'GRAPH_EDITOR', 'WINDOW', [
  ('Graph Editor Generic', 'GRAPH_EDITOR', 'WINDOW', []),
 +KM_WIDGETS_HIERARCHY[1]
  ]),
- ('Dopesheet', 'DOPESHEET_EDITOR', 'WINDOW', []),
+ ('Dopesheet', 'DOPESHEET_EDITOR', 'WINDOW', [
+ ('Dopesheet Generic', 'DOPESHEET_EDITOR', 'WINDOW', []),
+ ]),
  ('NLA Editor', 'NLA_EDITOR', 'WINDOW', [
  ('NLA Channels', 'NLA_EDITOR', 'WINDOW', []),
  ('NLA Generic', 'NLA_EDITOR', 'WINDOW', []),
diff --cc source/blender/blenkernel/CMakeLists.txt
index cd81afa,b7ff81d..f812cc4
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@@ -40,6 -40,6 +40,7 @@@ set(IN
../nodes
../physics
../render/extern/include
++  ../windowmanager # XXX
../../../intern/ghost
../../../intern/guardedalloc
../../../intern/glew-mx
diff --cc source/blender/blenkernel/intern/facemap.c
index c6be004,000..28732c4
mode 100644,00..100644
--- a/source/blender/blenkernel/intern/facemap.c
+++ b/source/blender/blenkernel/intern/facemap.c
@@@ -1,259 -1,0 +1,256 @@@
 +
 +/*
 + * * 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) 2008 Blender Foundation.
 + * All rights reserved.
 + *
 + * 
 + * Contributor(s): Blender Foundation
 + *
 + * * END GPL LICENSE BLOCK *
 + */
 +
 +
 +#include "DNA_object_types.h"
 +#include "DNA_mesh_types.h"
 +
- #include "WM_types.h"
- #include "WM_api.h"
- 
 +#include "BKE_context.h"
 +#include "BKE_customdata.h"
 +#include "BKE_facemap.h"
 +#include "BKE_editmesh.h"
 +#include "BKE_object.h"
 +#include "BKE_object_deform.h"
 +
 +#include "BKE_depsgraph.h"
 +
 +#include "BLI_utildefines.h"
 +#include "BLI_path_util.h"
 +#include "BLI_string.h"
 +#include "BLI_listbase.h"
 +
 +#include "BLT_translation.h"
 +
 +#include "MEM_guardedalloc.h"
 +
 +#include "RNA_define.h"
 +#include "RNA_access.h"
 +
 +#include 
 +
 +
 +static bool fmap_unique_check(void *arg, const char *name)
 +{
 +  struct {Object *ob; void *fm; } *data = arg;
 +  
 +  bFaceMap *fmap;
 +
 +  for (fmap = data->ob->fmaps.first; fmap; fmap = fmap->next) {
 +  if (data->fm != fmap) {
 +  if (!strcmp(fmap->name, name)) {
 +  return true;
 +  }
 +  }
 +  }
 +  
 +  return false;
 +}
 +
 +static bFaceMap *fmap_duplicate(bFaceMap *infmap)
 +{
 +  bFaceMap *outfmap;
 +
 +  if (!infmap)
 +  return NULL;
 +
 +  outfmap = MEM_callocN(sizeof(bFaceMap), "copy facemap");
 +
 +  /* For now, just copy everything over. */
 +  memcpy(outfmap, infmap, sizeof(bFaceMap));
 +
 +  outfmap->next = outfmap->prev = NULL;
 +
 +  return outfmap;
 +}
 +
 +void fmap_copy_list(ListBase *outbase, ListBase *inbase)
 +{
 +  bFaceMap *fmap, *fmapn;
 +
 +  BLI_listbase_clear(outbase);
 +
 +  for (fmap = inbase->first; fmap; fmap = 

[Bf-blender-cvs] [ff287bd] alembic_basic_io: Fix OSX compile issue

2016-07-03 Thread Jens Verwiebe
Commit: ff287bd16856ffd1b8b2aacc56ceffabcc1df969
Author: Jens Verwiebe
Date:   Sun Jul 3 22:14:31 2016 +0200
Branches: alembic_basic_io
https://developer.blender.org/rBff287bd16856ffd1b8b2aacc56ceffabcc1df969

Fix OSX compile issue

===

M   source/blender/alembic/CMakeLists.txt

===

diff --git a/source/blender/alembic/CMakeLists.txt 
b/source/blender/alembic/CMakeLists.txt
index d0bcf42..3c90517 100644
--- a/source/blender/alembic/CMakeLists.txt
+++ b/source/blender/alembic/CMakeLists.txt
@@ -39,6 +39,9 @@ set(INC_SYS
${ALEMBIC_INCLUDE_DIRS}
${HDF5_INCLUDE_DIRS}
${OPENEXR_INCLUDE_DIRS}
+if(APPLE)
+   ${BOOST_INCLUDE_DIR}
+endif()
 )
 
 set(SRC

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


[Bf-blender-cvs] [1e03976] alembic_basic_io: Fix OSX alembic lookup

2016-07-03 Thread Jens Verwiebe
Commit: 1e0397645b1e3425663ac5b37e69890cc5d065a4
Author: Jens Verwiebe
Date:   Sun Jul 3 21:52:35 2016 +0200
Branches: alembic_basic_io
https://developer.blender.org/rB1e0397645b1e3425663ac5b37e69890cc5d065a4

Fix OSX alembic lookup

===

M   CMakeLists.txt

===

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 874ed17..918b965 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -328,7 +328,7 @@ option(WITH_ALEMBIC "Enable Alembic Support" 
OFF)
 option(WITH_ALEMBIC_HDF5"Enable Legacy Alembic Support" OFF)
 
 # alembic
-if(WITH_ALEMBIC)
+if(WITH_ALEMBIC AND NOT APPLE) # LIBDIR not yet set, so cannot set root dirs 
for lookup !
find_package(Alembic)
 
if(WITH_ALEMBIC_HDF5)
@@ -2062,6 +2062,20 @@ elseif(APPLE)
endif()
endif()
 
+   if(WITH_ALEMBIC)
+   set(ALEMBIC_ROOT_DIR ${LIBDIR}/alembic)
+   find_package(Alembic)
+   if(WITH_ALEMBIC_HDF5)
+   set(HDF5_ROOT_DIR ${LIBDIR}/hdf5)
+   find_package(HDF5)
+   endif()
+
+   if(NOT ALEMBIC_FOUND OR (WITH_ALEMBIC_HDF5 AND NOT HDF5_FOUND))
+   set(WITH_ALEMBIC OFF)
+   set(WITH_ALEMBIC_HDF5 OFF)
+   endif()
+   endif()
+
if(WITH_OPENSUBDIV)
set(OPENSUBDIV ${LIBDIR}/opensubdiv)
set(OPENSUBDIV_LIBPATH ${OPENSUBDIV}/lib)

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


[Bf-blender-cvs] [0a86ac9] alembic_basic_io: Merge branch 'master' into alembic_basic_io

2016-07-03 Thread Kévin Dietrich
Commit: 0a86ac972e09d830eac173e4d19923f7803df1ed
Author: Kévin Dietrich
Date:   Sun Jul 3 18:58:20 2016 +0200
Branches: alembic_basic_io
https://developer.blender.org/rB0a86ac972e09d830eac173e4d19923f7803df1ed

Merge branch 'master' into alembic_basic_io

===



===



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


[Bf-blender-cvs] [b27322e] master: Curve: utility to evaluate entire curve

2016-07-03 Thread Campbell Barton
Commit: b27322e71ee4e7e188166dd28a649d43781e9f38
Author: Campbell Barton
Date:   Sun Jul 3 23:20:53 2016 +1000
Branches: master
https://developer.blender.org/rBb27322e71ee4e7e188166dd28a649d43781e9f38

Curve: utility to evaluate entire curve

===

M   source/blender/blenkernel/BKE_curve.h
M   source/blender/blenkernel/intern/curve.c

===

diff --git a/source/blender/blenkernel/BKE_curve.h 
b/source/blender/blenkernel/BKE_curve.h
index 23b3128..659884d 100644
--- a/source/blender/blenkernel/BKE_curve.h
+++ b/source/blender/blenkernel/BKE_curve.h
@@ -150,6 +150,16 @@ void BKE_nurb_minmax(struct Nurb *nu, bool use_radius, 
float min[3], float max[3
 void BKE_nurb_makeFaces(struct Nurb *nu, float *coord_array, int rowstride, 
int resolu, int resolv);
 void BKE_nurb_makeCurve(struct Nurb *nu, float *coord_array, float 
*tilt_array, float *radius_array, float *weight_array, int resolu, int stride);
 
+unsigned int BKE_curve_calc_coords_axis_len(
+const unsigned int bezt_array_len, const unsigned int resolu,
+const bool is_cyclic, const bool use_cyclic_duplicate_endpoint);
+void BKE_curve_calc_coords_axis(
+const struct BezTriple *bezt_array, const unsigned int bezt_array_len, 
const unsigned int resolu,
+const bool is_cyclic, const bool use_cyclic_duplicate_endpoint,
+/* array params */
+const unsigned int axis, const unsigned int stride,
+float *r_points);
+
 void BKE_nurb_knot_calc_u(struct Nurb *nu);
 void BKE_nurb_knot_calc_v(struct Nurb *nu);
 
diff --git a/source/blender/blenkernel/intern/curve.c 
b/source/blender/blenkernel/intern/curve.c
index dec6ff2..c52b0f6 100644
--- a/source/blender/blenkernel/intern/curve.c
+++ b/source/blender/blenkernel/intern/curve.c
@@ -1384,6 +1384,71 @@ void BKE_nurb_makeCurve(Nurb *nu, float *coord_array, 
float *tilt_array, float *
MEM_freeN(basisu);
 }
 
+/**
+ * Calculate the length for arrays filled in by #BKE_curve_calc_coords_axis.
+ */
+unsigned int BKE_curve_calc_coords_axis_len(
+const unsigned int bezt_array_len, const unsigned int resolu,
+const bool is_cyclic, const bool use_cyclic_duplicate_endpoint)
+{
+   const unsigned int segments = bezt_array_len - (is_cyclic ?  0 : 1);
+   const unsigned int points_len = (segments * resolu) + (is_cyclic ? 
(use_cyclic_duplicate_endpoint) : 1);
+   return points_len;
+}
+
+/**
+ * Calcualte an array for the entire curve (cyclic or non-cyclic).
+ * \note Call for each axis.
+ *
+ * \param use_cyclic_duplicate_endpoint: Duplicate values at the beginning & 
end of the array.
+ */
+void BKE_curve_calc_coords_axis(
+const BezTriple *bezt_array, const unsigned int bezt_array_len, const 
unsigned int resolu,
+const bool is_cyclic, const bool use_cyclic_duplicate_endpoint,
+/* array params */
+const unsigned int axis, const unsigned int stride,
+float *r_points)
+{
+   const unsigned int points_len = BKE_curve_calc_coords_axis_len(
+   bezt_array_len, resolu, is_cyclic, 
use_cyclic_duplicate_endpoint);
+   float *r_points_offset = r_points;
+
+   const unsigned int resolu_stride = resolu * stride;
+   const unsigned int bezt_array_last = bezt_array_len - 1;
+
+   for (unsigned int i = 0; i < bezt_array_last; i++) {
+   const BezTriple *bezt_curr = _array[i];
+   const BezTriple *bezt_next = _array[i + 1];
+   BKE_curve_forward_diff_bezier(
+   bezt_curr->vec[1][axis], bezt_curr->vec[2][axis],
+   bezt_next->vec[0][axis], bezt_next->vec[1][axis],
+   r_points_offset, (int)resolu, stride);
+   r_points_offset = POINTER_OFFSET(r_points_offset, 
resolu_stride);
+   }
+
+   if (is_cyclic) {
+   const BezTriple *bezt_curr = _array[bezt_array_last];
+   const BezTriple *bezt_next = _array[0];
+   BKE_curve_forward_diff_bezier(
+   bezt_curr->vec[1][axis], bezt_curr->vec[2][axis],
+   bezt_next->vec[0][axis], bezt_next->vec[1][axis],
+   r_points_offset, (int)resolu, stride);
+   r_points_offset = POINTER_OFFSET(r_points_offset, 
resolu_stride);
+   if (use_cyclic_duplicate_endpoint) {
+   *r_points_offset = *r_points;
+   r_points_offset = POINTER_OFFSET(r_points_offset, 
stride);
+   }
+   }
+   else {
+   float *r_points_last = POINTER_OFFSET(r_points, bezt_array_last 
* resolu_stride);
+   *r_points_last = bezt_array[bezt_array_last].vec[1][axis];
+   r_points_offset = POINTER_OFFSET(r_points_offset, stride);
+   }
+
+   BLI_assert(POINTER_OFFSET(r_points, points_len * stride) == 
r_points_offset);
+   

[Bf-blender-cvs] [36dc52c4] soc-2016-uv_tools: Merge remote-tracking branch 'origin/master' into soc-2016-uv_tools

2016-07-03 Thread Phil Gosch
Commit: 36dc52c4d8b97b76bcc24ca40520933e5f215f1c
Author: Phil Gosch
Date:   Sun Jul 3 15:19:39 2016 +0200
Branches: soc-2016-uv_tools
https://developer.blender.org/rB36dc52c4d8b97b76bcc24ca40520933e5f215f1c

Merge remote-tracking branch 'origin/master' into soc-2016-uv_tools

===



===



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


[Bf-blender-cvs] [d0e5c78] soc-2016-uv_tools: Packing: No Fit Polygon computation

2016-07-03 Thread Phil Gosch
Commit: d0e5c78095de8375cf28b6230f50320044d60ef8
Author: Phil Gosch
Date:   Sun Jul 3 15:15:33 2016 +0200
Branches: soc-2016-uv_tools
https://developer.blender.org/rBd0e5c78095de8375cf28b6230f50320044d60ef8

Packing: No Fit Polygon computation

Still contains lots of debug prints and unoptimized code, but functionality is 
there

===

M   source/blender/editors/uvedit/uvedit_parametrizer.c

===

diff --git a/source/blender/editors/uvedit/uvedit_parametrizer.c 
b/source/blender/editors/uvedit/uvedit_parametrizer.c
index 341d3a3..edca142 100644
--- a/source/blender/editors/uvedit/uvedit_parametrizer.c
+++ b/source/blender/editors/uvedit/uvedit_parametrizer.c
@@ -109,6 +109,7 @@ typedef struct PVert {
int id; /* abf/lscm matrix index, also used for 
shortest path computation */
float distortion;   /* area smoothing */
HeapNode *heaplink; /* edge collapsing */
+   float delta_edge[2];   /* no fit polygon - packing */
} u;
 
struct PEdge *edge;
@@ -161,9 +162,15 @@ typedef struct PConvexHull {
float max_v[2];
 } PConvexHull;
 
+typedef struct PPointUV{
+   float x;
+   float y;
+} PPointUV;
+
 typedef struct PNoFitPolygon {
struct PVert **verts;
unsigned int nverts;
+   struct PPointUV **final_pos; 
 } PNoFitPolygon;
 
 enum PVertFlag {
@@ -607,7 +614,7 @@ static PBool p_intersect_line_segments_2d(float *a, float 
*b, float *c, float *d
float s = ((a[1] - c[1]) * (b[0] - a[0]) - (a[0] - c[0]) * (b[1] - 
a[1])) / D;
 
if ((-FLT_EPSILON <= r <= (1.0f + FLT_EPSILON)) && (-FLT_EPSILON <= s 
<= (1.0f + FLT_EPSILON))) {
-   /* ToDo (SaphireS): fill isect with intersection data ?*/
+   /* ToDo (SaphireS): return actual intersection data ?*/
return P_TRUE;
}
 
@@ -4736,15 +4743,15 @@ bool p_convex_hull_intersect(PConvexHull *chull_a, 
PConvexHull *chull_b)
return false;
 }
 
-/* qsort function - sort smallest to largest */
+/* qsort function - sort largest to smallest */
 static int vert_anglesort(const void *p1, const void *p2)
 {
-   const PVert *v1 = p1, *v2 = p2;
-   const float a1 = v1->edge->u.horizontal_angle;
-   const float a2 = v2->edge->u.horizontal_angle;
+   const PVert **v1 = p1, **v2 = p2;
+   const float a1 = (*v1)->edge->u.horizontal_angle;
+   const float a2 = (*v2)->edge->u.horizontal_angle;
 
-   if  (a1 > a2) return  1;
-   else if (a1 < a2) return -1;
+   if  (a1 > a2) return -1;
+   else if (a1 < a2) return  1;
return 0;
 }
 
@@ -4771,7 +4778,7 @@ static float p_edge_horizontal_angle(PVert *a, PVert *b)
 void p_convex_hull_compute_horizontal_angles(PConvexHull *hull)
 {
int j;
-
+   printf("p_convex_hull_compute_horizontal_angles");
for (j = 0; j < hull->nverts; j++) {
/* DEBUG */
printf("--PVert of convex hull - x: %f, y: %f\n", 
hull->h_verts[j]->uv[0], hull->h_verts[j]->uv[1]);
@@ -4788,6 +4795,28 @@ void p_convex_hull_compute_horizontal_angles(PConvexHull 
*hull)
}
 }
 
+void p_convex_hull_compute_edge_lengths(PConvexHull *hull)
+{
+   int j;
+   printf("p_convex_hull_compute_edge_lengths");
+   for (j = 0; j < hull->nverts; j++) {
+   /* DEBUG */
+   printf("--PVert of convex hull - x: %f, y: %f\n", 
hull->h_verts[j]->uv[0], hull->h_verts[j]->uv[1]);
+
+   /* Compute edge components for each edge of hull (Needed for 
NFP) */
+   if (j == (hull->nverts - 1)) {
+   hull->h_verts[j]->u.delta_edge[0] = 
hull->h_verts[0]->uv[0] - hull->h_verts[j]->uv[0];
+   hull->h_verts[j]->u.delta_edge[1] = 
hull->h_verts[0]->uv[1] - hull->h_verts[j]->uv[1];
+   }
+   else {
+   hull->h_verts[j]->u.delta_edge[0] = hull->h_verts[j + 
1]->uv[0] - hull->h_verts[j]->uv[0];
+   hull->h_verts[j]->u.delta_edge[1] = hull->h_verts[j + 
1]->uv[1] - hull->h_verts[j]->uv[1];
+   }
+
+   printf("--- edge [%i]: x: %f, y: %f\n", j, 
hull->h_verts[j]->u.delta_edge[0], hull->h_verts[j]->u.delta_edge[1]);
+   }
+}
+
 PConvexHull *p_convex_hull_reversed_direction(PConvexHull *hull)
 {
PConvexHull *conv_hull_inv = (PConvexHull 
*)MEM_callocN(sizeof(*conv_hull_inv), "PConvexHullInverse");
@@ -4807,45 +4836,106 @@ PConvexHull 
*p_convex_hull_reversed_direction(PConvexHull *hull)
 PNoFitPolygon *p_no_fit_polygon_create(PConvexHull *item, PConvexHull *fixed)
 {
PNoFitPolygon *nfp = (PNoFitPolygon *)MEM_callocN(sizeof(*nfp), 
"PNoFitPolygon");
+   /* ToDo SaphireS: Should be possible to get rid of nfp->verts to save 
memory */
+   nfp->verts = (PVert 

[Bf-blender-cvs] [9387245] fluid-mantaflow: fixed return type for vertex getter

2016-07-03 Thread Sebastián Barschkis
Commit: 93872456e6ebe22fb6464dd9a43ded3260129325
Author: Sebastián Barschkis
Date:   Fri Jul 1 15:22:19 2016 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rB93872456e6ebe22fb6464dd9a43ded3260129325

fixed return type for vertex getter

===

M   intern/mantaflow/intern/SMOKE.h

===

diff --git a/intern/mantaflow/intern/SMOKE.h b/intern/mantaflow/intern/SMOKE.h
index fb647d2..1f1f461 100644
--- a/intern/mantaflow/intern/SMOKE.h
+++ b/intern/mantaflow/intern/SMOKE.h
@@ -125,9 +125,9 @@ public:
inline float getVertexYAt(int i)  { return mVerticesY[i]; }
inline float getVertexZAt(int i)  { return mVerticesZ[i]; }
 
-   inline int getNormalXAt(int i)   { return mNormalsX[i]; }
-   inline int getNormalYAt(int i)   { return mNormalsY[i]; }
-   inline int getNormalZAt(int i)   { return mNormalsZ[i]; }
+   inline float getNormalXAt(int i)   { return mNormalsX[i]; }
+   inline float getNormalYAt(int i)   { return mNormalsY[i]; }
+   inline float getNormalZAt(int i)   { return mNormalsZ[i]; }
 
inline int getTriangleXAt(int i) { return mTrianglesX[i]; }
inline int getTriangleYAt(int i) { return mTrianglesY[i]; }

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


[Bf-blender-cvs] [ce4d31c] fluid-mantaflow: cleanup function names

2016-07-03 Thread Sebastián Barschkis
Commit: ce4d31cf3d026ffcfb48f005acdb06bfb85ce4da
Author: Sebastián Barschkis
Date:   Thu Jun 30 00:09:15 2016 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rBce4d31cf3d026ffcfb48f005acdb06bfb85ce4da

cleanup function names

===

M   intern/mantaflow/extern/manta_smoke_API.h
M   intern/mantaflow/intern/SMOKE.h
M   intern/mantaflow/intern/manta_smoke_API.cpp
M   source/blender/blenkernel/intern/smoke.c

===

diff --git a/intern/mantaflow/extern/manta_smoke_API.h 
b/intern/mantaflow/extern/manta_smoke_API.h
index c884cdc..d07cc81 100644
--- a/intern/mantaflow/extern/manta_smoke_API.h
+++ b/intern/mantaflow/extern/manta_smoke_API.h
@@ -95,9 +95,9 @@ void liquid_save_mesh(struct SMOKE *liquid, char *filename);
 int liquid_get_num_verts(struct SMOKE *liquid);
 int liquid_get_num_normals(struct SMOKE *liquid);
 int liquid_get_num_triangles(struct SMOKE *liquid);
-float liquid_get_vertice_x_at(struct SMOKE *liquid, int i);
-float liquid_get_vertice_y_at(struct SMOKE *liquid, int i);
-float liquid_get_vertice_z_at(struct SMOKE *liquid, int i);
+float liquid_get_vertex_x_at(struct SMOKE *liquid, int i);
+float liquid_get_vertex_y_at(struct SMOKE *liquid, int i);
+float liquid_get_vertex_z_at(struct SMOKE *liquid, int i);
 float liquid_get_normal_x_at(struct SMOKE *liquid, int i);
 float liquid_get_normal_y_at(struct SMOKE *liquid, int i);
 float liquid_get_normal_z_at(struct SMOKE *liquid, int i);
diff --git a/intern/mantaflow/intern/SMOKE.h b/intern/mantaflow/intern/SMOKE.h
index 5aa4b58..fb647d2 100644
--- a/intern/mantaflow/intern/SMOKE.h
+++ b/intern/mantaflow/intern/SMOKE.h
@@ -121,9 +121,9 @@ public:
inline int getNumNormals()   { return mNumNormals; }
inline int getNumTriangles() { return mNumTriangles; }

-   inline int getVerticeXAt(int i)  { return mVerticesX[i]; }
-   inline int getVerticeYAt(int i)  { return mVerticesY[i]; }
-   inline int getVerticeZAt(int i)  { return mVerticesZ[i]; }
+   inline float getVertexXAt(int i)  { return mVerticesX[i]; }
+   inline float getVertexYAt(int i)  { return mVerticesY[i]; }
+   inline float getVertexZAt(int i)  { return mVerticesZ[i]; }
 
inline int getNormalXAt(int i)   { return mNormalsX[i]; }
inline int getNormalYAt(int i)   { return mNormalsY[i]; }
diff --git a/intern/mantaflow/intern/manta_smoke_API.cpp 
b/intern/mantaflow/intern/manta_smoke_API.cpp
index 45f7c15..8b94842 100644
--- a/intern/mantaflow/intern/manta_smoke_API.cpp
+++ b/intern/mantaflow/intern/manta_smoke_API.cpp
@@ -519,19 +519,19 @@ extern "C" int liquid_get_num_triangles(SMOKE *liquid)
return liquid->getNumTriangles();
 }
 
-extern "C" float liquid_get_vertice_x_at(SMOKE *liquid, int i)
+extern "C" float liquid_get_vertex_x_at(SMOKE *liquid, int i)
 {
-   return liquid->getVerticeXAt(i);
+   return liquid->getVertexXAt(i);
 }
 
-extern "C" float liquid_get_vertice_y_at(SMOKE *liquid, int i)
+extern "C" float liquid_get_vertex_y_at(SMOKE *liquid, int i)
 {
-   return liquid->getVerticeYAt(i);
+   return liquid->getVertexYAt(i);
 }
 
-extern "C" float liquid_get_vertice_z_at(SMOKE *liquid, int i)
+extern "C" float liquid_get_vertex_z_at(SMOKE *liquid, int i)
 {
-   return liquid->getVerticeZAt(i);
+   return liquid->getVertexZAt(i);
 }
 
 extern "C" float liquid_get_normal_x_at(SMOKE *liquid, int i)
diff --git a/source/blender/blenkernel/intern/smoke.c 
b/source/blender/blenkernel/intern/smoke.c
index bc25542..d371bc2 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -2869,16 +2869,15 @@ static DerivedMesh 
*createLiquidMesh(SmokeDomainSettings *sds, DerivedMesh *orgd
// Vertices
for (i = 0; i < num_verts; i++, mverts++)
{
-   
-   mverts->co[0] = liquid_get_vertice_x_at(sds->fluid, i);
-   mverts->co[1] = liquid_get_vertice_y_at(sds->fluid, i);
-   mverts->co[2] = liquid_get_vertice_z_at(sds->fluid, i);
+   mverts->co[0] = liquid_get_vertex_x_at(sds->fluid, i);
+   mverts->co[1] = liquid_get_vertex_y_at(sds->fluid, i);
+   mverts->co[2] = liquid_get_vertex_z_at(sds->fluid, i);

 // printf("mverts->co[0]: %f, mverts->co[1]: %f, mverts->co[2]: 
%f\n", mverts->co[0], mverts->co[1], mverts->co[2]);
}

// Normals
-   normals = MEM_callocN(sizeof(short) * num_normals * 3, 
"fluid_tmp_normals");
+   normals = MEM_callocN(sizeof(short) * num_normals * 3, 
"liquid_tmp_normals");

for (i = num_normals, no_s = normals; i > 0; i--, no_s += 3)
{
@@ -2912,7 +2911,6 @@ static DerivedMesh *createLiquidMesh(SmokeDomainSettings 
*sds, DerivedMesh *orgd
CDDM_apply_vert_normals(dm, (short (*)[3])normals);


[Bf-blender-cvs] [25922e9] fluid-mantaflow: removed mesh scaling. better do this in smoke.c and keep cpp wrapper independent from mesh size

2016-07-03 Thread Sebastián Barschkis
Commit: 25922e9b1750578ef5c83bb213a1de59d8fd1e3f
Author: Sebastián Barschkis
Date:   Fri Jul 1 15:59:38 2016 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rB25922e9b1750578ef5c83bb213a1de59d8fd1e3f

removed mesh scaling. better do this in smoke.c and keep cpp wrapper 
independent from mesh size

===

M   intern/mantaflow/intern/SMOKE.cpp

===

diff --git a/intern/mantaflow/intern/SMOKE.cpp 
b/intern/mantaflow/intern/SMOKE.cpp
index b51d50e..ec91756 100644
--- a/intern/mantaflow/intern/SMOKE.cpp
+++ b/intern/mantaflow/intern/SMOKE.cpp
@@ -697,7 +697,6 @@ void* SMOKE::getGridPointer(std::string gridName, 
std::string solverName)
 void SMOKE::updateMeshData(const char* filename)
 {
gzFile gzf;
-   float dx =  1.0f / mMaxRes;
float fbuffer[3];
int ibuffer[3];
 
@@ -724,11 +723,6 @@ void SMOKE::updateMeshData(const char* filename)
mVerticesX[i] = fbuffer[0];
mVerticesY[i] = fbuffer[1];
mVerticesZ[i] = fbuffer[2];
-
-   // convert to grid space
-   mVerticesX[i] /= dx;
-   mVerticesY[i] /= dx;
-   mVerticesZ[i] /= dx;
}
}

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


[Bf-blender-cvs] [77bb36b] fluid-mantaflow: mesh scaling according to scale factor. not perfect solution though

2016-07-03 Thread Sebastián Barschkis
Commit: 77bb36bffbe3bae5f4158e7e0095ebbec49e4437
Author: Sebastián Barschkis
Date:   Sat Jul 2 18:02:13 2016 +0200
Branches: fluid-mantaflow
https://developer.blender.org/rB77bb36bffbe3bae5f4158e7e0095ebbec49e4437

mesh scaling according to scale factor. not perfect solution though

===

M   source/blender/blenkernel/intern/smoke.c

===

diff --git a/source/blender/blenkernel/intern/smoke.c 
b/source/blender/blenkernel/intern/smoke.c
index d371bc2..f8ff9cd 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -2873,6 +2873,10 @@ static DerivedMesh *createLiquidMesh(SmokeDomainSettings 
*sds, DerivedMesh *orgd
mverts->co[1] = liquid_get_vertex_y_at(sds->fluid, i);
mverts->co[2] = liquid_get_vertex_z_at(sds->fluid, i);

+   mverts->co[0] *= sds->scale;
+   mverts->co[1] *= sds->scale;
+   mverts->co[2] *= sds->scale;
+   
 // printf("mverts->co[0]: %f, mverts->co[1]: %f, mverts->co[2]: 
%f\n", mverts->co[0], mverts->co[1], mverts->co[2]);
}

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


[Bf-blender-cvs] [b084003] master: Update pacman pkgbuild

2016-07-03 Thread Campbell Barton
Commit: b084003e888b22a567ce6bb469719ba6b48c546c
Author: Campbell Barton
Date:   Sun Jul 3 21:13:43 2016 +1000
Branches: master
https://developer.blender.org/rBb084003e888b22a567ce6bb469719ba6b48c546c

Update pacman pkgbuild

===

M   build_files/package_spec/pacman/PKGBUILD

===

diff --git a/build_files/package_spec/pacman/PKGBUILD 
b/build_files/package_spec/pacman/PKGBUILD
index 961e355..aea5acd 100644
--- a/build_files/package_spec/pacman/PKGBUILD
+++ b/build_files/package_spec/pacman/PKGBUILD
@@ -2,11 +2,9 @@
 
 # custom blender vars
 blender_srcdir=$(dirname $startdir)"/../.."
-# value may be formatted: 35042:35051M
-blender_revision=$(svnversion $blender_srcdir | cut -d: -f2 | awk '{print $3}')
-blender_version=$(grep "BLENDER_VERSION\s" 
$blender_srcdir/source/blender/blenkernel/BKE_blender.h | awk '{print $3}')
+blender_version=$(grep "BLENDER_VERSION\s" 
$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h | awk '{print 
$3}')
 blender_version=$(expr $blender_version / 100).$(expr $blender_version % 100)  
# 256 -> 2.56
-blender_version_char=$(sed -ne 's/.*BLENDER_VERSION_CHAR.*\([a-z]\)$/\1/p' 
$blender_srcdir/source/blender/blenkernel/BKE_blender.h)
+blender_version_char=$(sed -ne 's/.*BLENDER_VERSION_CHAR.*\([a-z]\)$/\1/p' 
$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h)
 # blender_subversion=$(grep BLENDER_SUBVERSION 
$blender_srcdir/source/blender/blenkernel/BKE_blender.h | awk '{print $3}')
 
 # map the version a -> 1
@@ -27,7 +25,9 @@ arch=('i686' 'x86_64')
 url="www.blender.org"
 license=('GPL')
 groups=()
-depends=('libjpeg' 'libpng' 'openjpeg' 'libtiff' 'openexr'  'python>=3.4' 
'gettext' 'libxi' 'libxmu' 'mesa' 'freetype2' 'openal' 'sdl' 'libsndfile' 
'ffmpeg')
+depends=('libjpeg' 'libpng' 'openjpeg' 'libtiff' 'openexr'  'python>=3.5'
+ 'gettext' 'libxi' 'libxmu' 'mesa' 'freetype2' 'openal' 'sdl'
+ 'libsndfile' 'ffmpeg')
 makedepends=('cmake' 'git')
 optdepends=()
 provides=()

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


[Bf-blender-cvs] [8cc123a] master: Fix T48783: OSL render errors after recent refactoring.

2016-07-03 Thread Brecht Van Lommel
Commit: 8cc123a387db5989714b133247c0c55aa9cb3f8c
Author: Brecht Van Lommel
Date:   Sun Jul 3 13:08:21 2016 +0200
Branches: master
https://developer.blender.org/rB8cc123a387db5989714b133247c0c55aa9cb3f8c

Fix T48783: OSL render errors after recent refactoring.

===

M   intern/cycles/kernel/osl/osl_services.cpp
M   intern/cycles/kernel/shaders/CMakeLists.txt
M   intern/cycles/kernel/shaders/node_image_texture.osl
A   intern/cycles/kernel/shaders/node_rgb_to_bw.osl
M   intern/cycles/render/nodes.cpp

===

diff --git a/intern/cycles/kernel/osl/osl_services.cpp 
b/intern/cycles/kernel/osl/osl_services.cpp
index ebe739e..acc6887 100644
--- a/intern/cycles/kernel/osl/osl_services.cpp
+++ b/intern/cycles/kernel/osl/osl_services.cpp
@@ -912,7 +912,7 @@ bool OSLRenderServices::texture(ustring filename,
 #endif
bool status;
 
-   if(filename[0] == '@') {
+   if(filename.length() && filename[0] == '@') {
int slot = atoi(filename.c_str() + 1);
float4 rgba = kernel_tex_image_interp(slot, s, 1.0f - t);
 
@@ -993,7 +993,7 @@ bool OSLRenderServices::texture3d(ustring filename,
}
 
bool status;
-   if(filename[0] == '@') {
+   if(filename.length() && filename[0] == '@') {
int slot = atoi(filename.c_str() + 1);
float4 rgba = kernel_tex_image_interp_3d(slot, P.x, P.y, P.z);
 
diff --git a/intern/cycles/kernel/shaders/CMakeLists.txt 
b/intern/cycles/kernel/shaders/CMakeLists.txt
index 49030f3..b43f840 100644
--- a/intern/cycles/kernel/shaders/CMakeLists.txt
+++ b/intern/cycles/kernel/shaders/CMakeLists.txt
@@ -81,6 +81,7 @@ set(SRC_OSL
node_wireframe.osl
node_hair_bsdf.osl
node_uv_map.osl
+   node_rgb_to_bw.osl
 )
 
 set(SRC_OSL_HEADERS
diff --git a/intern/cycles/kernel/shaders/node_image_texture.osl 
b/intern/cycles/kernel/shaders/node_image_texture.osl
index a004018..7cd2922 100644
--- a/intern/cycles/kernel/shaders/node_image_texture.osl
+++ b/intern/cycles/kernel/shaders/node_image_texture.osl
@@ -88,7 +88,7 @@ shader node_image_texture(
string color_space = "sRGB",
string projection = "flat",
string interpolation = "smartcubic",
-   string wrap = "periodic",
+   string extension = "periodic",
float projection_blend = 0.0,
int is_float = 1,
int use_alpha = 1,
@@ -108,7 +108,7 @@ shader node_image_texture(
 use_alpha,
 is_float,
 interpolation,
-wrap);
+extension);
}
else if (projection == "box") {
/* object space normal */
@@ -184,7 +184,7 @@ shader node_image_texture(
  use_alpha,
  is_float,
  interpolation,
- wrap);
+ extension);
Alpha += weight[0] * tmp_alpha;
}
if (weight[1] > 0.0) {
@@ -195,7 +195,7 @@ shader node_image_texture(
  use_alpha,
  is_float,
  interpolation,
- wrap);
+ extension);
Alpha += weight[1] * tmp_alpha;
}
if (weight[2] > 0.0) {
@@ -206,7 +206,7 @@ shader node_image_texture(
  use_alpha,
  is_float,
  interpolation,
- wrap);
+ extension);
Alpha += weight[2] * tmp_alpha;
}
}
@@ -219,7 +219,7 @@ shader node_image_texture(
 use_alpha,
 is_float,
 interpolation,
-wrap);
+extension);
}
else if (projection == "tube") {
point projected = map_to_tube(texco_remap_square(p));
@@