Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-03-18Cleanup: use MEM_SAFE_FREECampbell Barton
2018-03-16Cleanup: move mesh mirror functions to own fileCampbell Barton
2018-03-08Cleanup: Rename view3d context set functionCampbell Barton
Use common prefix so adding related functions share the prefix.
2018-03-06Fix T53206: Array modifier doesn't merge vgroupsCampbell Barton
Vertex group remapping utility function, now shared between object join and array modifier cap-ends. Weights which don't exist are removed. D3092 by @Foaly
2017-10-04Fix T52982: Join operator with context override crashes Blender 2.79Sergey Sharybin
2017-09-30Cleanup: Remove some old pre 2.5 IPO codeAaron Carlisle
2017-05-22Enhance vgroup handling when merging meshes.Bastien Montagne
We were looping over all vgroups in destination mesh and making string comparison, for every vgroup of every vertex of merged mesh! Crazy! Now we simply create a temp mapping of vgroup indices, seriously simplifies things (and gives significant speedup when merging huge meshes with lots of vgroups, here with quick stupid test went from 120ms in vgroup merging to less than 5ms, 25 times quicker!).
2017-04-12Fix T51184: Crash of Blender when I try to join an object with one that has ↵Sergey Sharybin
booleans modifiers
2017-02-02Fix T50084: Adding torus re-orders UV layers.Bastien Montagne
Issue was indeed in join operation, mesh in which we join all others could be re-added to final data after others, leading to undesired re-ordering of CD layers, and existing vertices etc. being shifted away from their original indices, etc. All kind of more or less bad and undesired changes, fixed by always re-inserting destination mesh first. Also cleaned up a bit that code, it was doing some rather non-recommanded things (like allocating zero-sized mem, doing own coocking to remove a data-block from main, etc.).
2016-07-10Cleanup/Refactor: pass Main pointer to all ID copy functions.Bastien Montagne
Also allows us to get rid of a few _copy_ex() versions...
2016-07-09Add BKE_key_copy_ex() that takes a Main as parameter.Bastien Montagne
2016-07-08Rework/split test_object_materials().Bastien Montagne
Now test_object_materials only handles one object. New test_all_objects_materials checks the whole bmain->object list for cases where it is actually needed. Should avoid some useless looping over all objects!
2016-07-08Mesh/Curve Join: remove edit-mode toggleCampbell Barton
Toggling edit-node after joining objects is redundant as far as I can see - (dates back to first revision). Also caused all edges to be drawn w/ meshes, redundant undo step w/ curves.
2016-05-17C99/C++11: replace deprecated finite() by isfinite().Brecht Van Lommel
2016-04-29Fix T48290: Hook fails after deleting geometryCampbell Barton
Now CD_SHAPEKEY_INDEX customdata is stored in edit-mode when hooks and vertex parents are used. This also fixes a bug where undo would loose key-index data. Move to structs for BM_mesh_bm_to/from_me to avoid passing many argument, which mostly aren't used.
2016-01-21Cleanup: line length, indentationCampbell Barton
2016-01-04Fix T47038: Particles in Particle Edit Mode get added in completely wrong ↵Bastien Montagne
location. It also fixes another issue (crash) related to symmetric editing. Quite involved, we (try to!) fix complete broken logic of parts of particle code, which would use poly index as tessface one (or vice-versa). Issue most probably goes back to BMesh integration time... This patch mostly fixes particle editing mode: - Adding/removing particles when using generative modifiers (like subsurf) should now work. - Adding/removing particles with a non-tessellated mesh (i.e. one having ngons) should also mostly work. - X-axis-mirror-editing particles over ngons does not really work, not sure why currently. - All this in both 'modes' (with or without using modifier stack for particles). Tech side: - Store a deformed-only DM in particle modifier data. - Rename existing DM to make it clear it's a final one. - Use deformed-only DM's tessface2poly mapping to 'solve' poly/tessface mismatches. - Make (part of) mirror-editing code able to use a DM instead of raw mesh, so that we can mirror based on final DM when editing particles using modifier stack (mandatory, since there is no way currently to find orig tessface from an final DM tessface index). Note that this patch is not really nice and clean (current particles are beyond hope on this side anyway), it's more like some urgency bandage. Whole crap needs complete rewrite anyway, BMesh's polygons make it really hard to work with current system (and looptri would not help much here). Also, did not test everything possibly affected by those changes, so it needs some users' testing & validation too. Reviewers: psy-fi Subscribers: dfelinto, eyecandy Maniphest Tasks: T47038 Differential Revision: https://developer.blender.org/D1685
2015-11-09Cleanup: avoid incrementing/decrementing id->us outside of BKE_library.Bastien Montagne
We have callbacks for that, they also do some checks and help ensure things are done correctly. Only place where this is assumed not true is blenloader (since here we may affect refcount of library IDs as well...).
2015-04-20Fixes for backbuf selection logicCampbell Barton
- Fix ED_view3d_backbuf_sample_rect, r_dist was set completely wrong. - Avoid duplicate calculations picking the nearest edge. - Bias against picking selected edges is now optional. - Remove unused callback reading the backbuf. - Remove unused strict option picking vertices.
2015-04-20Cleanup: use ED_view3d_backbuf_* prefixCampbell Barton
2015-02-11cleanup: style/indentationCampbell Barton
2015-01-26Cleanup: strcmp/strncmp -> STREQ/STREQLEN (in boolean usage).Bastien Montagne
Makes usage of those funcs much more clear, we even had mixed '!strcmp(foo, bar)' and 'strcmp(foo, bar) == 0' in several places...
2014-11-17Cleanup: rename `BKE_key_convert/update` to `BKE_keyblock_convert/update`.Bastien Montagne
We are handling a keyblock here, not a whole key(set). Names are alreay a bit confusing, let's be consistent at least.
2014-09-25GHash: use bool for comparison (simplify compare)Campbell Barton
2014-04-11Code cleanup: use boolCampbell Barton
2014-03-18KDTree: deprecate 'normal' argumentCampbell Barton
Normals for each kdtree node were allocated but never used, and search args only use in particles/boids code.
2014-03-12Mesh API: rename 'octree' to 'spatial' since internally its using kdtreeCampbell Barton
2014-03-12Mesh API: replace octree mirror with kdtreeCampbell Barton
2013-11-01fix for weight-paint crash picking the weight with the mask modifier (or any ↵Campbell Barton
modifier which removes geometry). was incorrectly mixing indices from the DerivedMesh and the original mesh.
2013-10-28move bmesh array lookup data and utility functions from editmesh into bmesh,Campbell Barton
since enough bmesh operations can also take advantage of direct index lookups on verts/edges/faces. developers note: - EDBM_index_arrays_init/ensure/free -> BM_mesh_elem_table_ensure/init/free - EDBM_vert/edge/face_at_index -> BM_vert/edge/face_at_index - EDBM_uv_element_map_create/free -> BM_uv_element_map_create/free - ED_uv_element_get -> BM_uv_element_get
2013-09-21bugfix: [#36786] customdata layers are not merging taken the names into ↵Dalai Felinto
consideration (which is also "[#36749] Joining objects with more than one uv map depends on list order") Thanks Bastien Montagne and Brecht van Lommel for reviewing and some advice.
2013-09-17fix [#36246] Weight tools do not mirror properly in vertex selection mask mode.Campbell Barton
Weight mirror is now supported by invert/clean/levels/blend.
2013-08-24ghash: reserve size when its known or can be guessed close enough.Campbell Barton
also avoid allocs per node in pbvh_bmesh_node_limit_ensure()
2013-08-19Optimization and threading fix for shapekeys weights calculationSergey Sharybin
This commit fixes two different issues, which were caused by how weights are being calculated for relative shapekeys. Weights for key block used to saved in KeyBlock DNA structure, which lead to situations when different objects could start writing to the same weights array if they're sharing the same key datablock. Solved this in a way so weights are never stored in KeyBlock and being passed to shapekeys routines as an array of pointers. This way weights are still computed run-time (meaning they're calculated before shapekey evaluation and freed afterwards). This required some changes to GameEngine as well, to make it never cache weights in the key blocks. Another aspect of this commit makes it so weight for a given vertex group is only computed once. So if multiple key blocks are using the same influence vertex group, they'll share the same exact weights array. This gave around 1.7x speedup in test chinchilla file which is close enough to if we've been caching weights permanently in DNA (test machine is dual-code 4 threads laptop, speedup measured in depsgraph_mt branch, trunk might be not so much high speedup). Some further speed is optimization possible, but it could be done later as well. Thanks Brecht for idea of how the things might be solved in really clear way. -- svn merge -r58786:58787 ^/branches/soc-2013-depsgraph_mt
2013-08-07code cleanup: more confusion with 0/NULL/falseCampbell Barton
2013-07-23optimization: only calculate the normals for passing into derivedMesh ↵Campbell Barton
foreachMappedVert/foreachMappedFaceCenter when needed, this means in editmode with wire draw, face and vertex normals don't have to be calculated at all. in most cases the normals are not used so add a flag that makes calculating them only for functions that need them. also fix face normal calculation for CDDM, was using quad calculation for ngons too.
2013-07-22transform was flushing the selection (inline), now skip this and use the ↵Campbell Barton
selection as-is. flush the selection on entering editmode instead (since the selection mode can be changed with another mesh). is other tools leave the selection incorrectly flushed, those will need to be fixed so transform works as expected.
2013-07-20misc editsCampbell Barton
- fix for missing None check with recent 'Hidden Wire' draw option. - avoid int overflow with mesh selection. - remove ';' outside of functions.
2013-07-10patch [#36078] Fixes joining behavior for curves and armatures (when active ↵Campbell Barton
object not selected).
2013-06-28Fix #35551: the topology mirror setting affected shape key and vertex group butBrecht Van Lommel
this was confusing as there was no setting visible for it. Now these menus contain an entry to mirror without and with topology mirror.
2013-06-24add api calls for BM_mesh_active_vert/edge_get.Campbell Barton
inspecting the edit-selection inline was cumbersome.
2013-06-24de-duplicate ED_mesh_active_dvert_* functions.Campbell Barton
not to devs - please don't just copy static functions around, make them api calls and add to headers.
2013-06-15removed unnecessary return statementGaia Clary
2013-05-28code cleanup: lots of calls to BKE_mesh_calc_normals_mapping were not using ↵Campbell Barton
the mapping functionality. replace ED_mesh_calc_normals with BKE_mesh_calc_normals().
2013-05-26BLI_math rename functions:Campbell Barton
- mult_m4_m4m4 -> mul_m4_m4m4 - mult_m3_m3m4 -> mul_m3_m3m4 these temporary names were used to avoid problems when argument order was switched.
2013-05-10avoid customdata lookups for selection test/enable disable.Campbell Barton
also add uvedit_face_select_set, uvedit_edge_select_set, uvedit_uv_select_set - since quite a few areas where setting based on a boolean.
2013-04-18Make freestyle use local Main for temporary objectsSergey Sharybin
This means main database is no longer pollutes with temporary scene and objects needed for freestyle render. Actually, there're few of separated temporary mains now. Ideally it's better to use single one, but it's not so much trivial to pass it to all classes. Not so big deal actually. Required some changes to blender kernel, to make it possible to add object to a given main, also to check on mesh materials for objects in given main. This is all straightforward changes. As an additional, solved issue with main database being infinitely polluted with text blocks created by create_lineset_handler function. This fixes: - #35003: Freestyle crashes if user expands objects in FRS1_Scene - #35012: ctrl+f12 rendering crashes when using Freestyle
2013-04-14code cleanup: rename BKE_tessmesh -> BKE_editmesh, rename ↵Campbell Barton
EditDerivedBMesh.tc -> em. ('tc' is odd name which isn't used elsewhere).
2013-04-01code cleanup: split editmesh_tools.c, into inset, bevel (both modal ↵Campbell Barton
operators) and moved extrude operators into their own file. also move some selection operators from editmesh_tools.c into editmesh_select.c
2013-03-21code cleanup: rename editmode functions so we have ↵Campbell Barton
ED_object_editmode_load/enter/exit