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
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-28Cleanup: sort forward declarations of enum & structCampbell Barton
Done using: source/tools/utils_maintenance/c_sort_blocks.py
2018-11-27Revert "Fix texture space not updating in edit mode."Campbell Barton
This reverts commit 3a038db576e97c0e720a92af05a218ed71ed121a. Caused CoW crash switching from edit to sculpt mode.
2018-11-26Fix texture space not updating in edit mode.mano-wii
2018-10-24Merge branch 'master' into blender2.8Campbell Barton
2018-10-24BMesh: inline index lookupsCampbell Barton
For release builds this is now the same as indexing the array directly.
2018-08-10Cleanup: styleCampbell Barton
2018-07-02Merge branch 'blender2.8' into soc-2018-bevelRohan Rathi
2018-06-27Cleanup: remove BKE's modifiers_bmesh.c, other DM removal/cleanup in BMesh code.Bastien Montagne
2018-06-11Added ability to harden normals.Rohan Rathi
Uses 2 different params: mode and strength. There are still some hiccups with how 2.8 interacts with normals. Will resolve as support gets better
2018-05-25Applied soc-2017-normal-toolsRohan Rathi
2018-05-09Expanded BMALLOC_TEMPLATE_FROM_ME to accept two meshesSybren A. Stüvel
2018-04-16Multi-Object EditingCampbell Barton
This adds initial multi-object editing support. - Selected objects are used when entering edit & pose modes. - Selection & tools work on all objects however many tools need porting See: T54641 for remaining tasks. Indentation will be done separately. See patch: D3101
2018-04-16Cleanup: indentationCampbell Barton
2018-03-01Refactor: Merge non-functional-change part of 'edit normals' 2017 GSoC.Bastien Montagne
This merges changes in internals, runtime-only of existing custom normals code, which make sense as of themselves, and will make diff of soc branch easier/lighter to review. In the details, it mostly changes two things: * Now, smooth fans (aka MLoopNorSpaceArray) can store either loop indices, or pointers to BMLoop themselves. This makes sense since in BMesh, it's relatively easy to get index from a BMElement, but nearly impracticable to go the other way around. * First change enforces another, now we cannot rely anymore on `loops` being NULL in MLoopNorSpace to detect single-loop fans, so we instead store that info in a new flag. Again, these are expected to be totally non-functional changes.
2018-02-22Fix (unreported) meshes changing shading when creating empty clnors data.Bastien Montagne
When you were using autosmooth to generate some custom normals, and created empty custom loop normal data, you would go back to an 'all smooth' shading, cancelling some sharp edges generated by the mesh's smooth threshold. Now we will first tag such edges as sharp, such that shading remains the same. This is not crucial in current master, but it is for clnors editing gsoc branch!
2017-05-06bmesh: use 'uint' instead of 'unsigned int'Campbell Barton
no functional changes.
2016-07-02BMesh: utility function to resize bmesh elementsCampbell Barton
This can be used to re-allocate bmesh data with/without tool flags. Needed for Symmetrize since it uses bmesh operators from dyntopo.
2016-07-01BMesh: make toolflags optionalCampbell Barton
Saves 8 bytes per vert/edge/face. Gives overall ~20-25% memory saving for dyntopo sculpting and modifiers that use BMesh.
2015-12-11BMesh: Add option to use BMesh boolean modifierCampbell Barton
This uses a bmesh-intersection, BLI_kdtree and watertight intersections to perform boolean operations. For now keep both BMesh and Carve booleans usable at once for testing & bug reports, however we plan to phase out Carve by next release.
2015-04-25Cleanup: use 8 space indent for multi-line argsCampbell Barton
2015-04-20Editmesh select nearest fixesCampbell Barton
- distance from edge check wasn't clamping 0-1 - vertex bias wasn't taking pixelsize into account. - index & pass counter were floats Also some improvements - use BMesh lookup tables when available. - use structs to avoid issues getting out of sync.
2015-02-05Add Custom Loop Normals.Bastien Montagne
This is the core code for it, tools (datatransfer and modifier) will come in next commits). RNA api is already there, though. See the code for details, but basically, we define, for each 'smooth fan' (which is a set of adjacent loops around a same vertex that are smooth, i.e. have a single same normal), a 'loop normal space' (or lnor space), using auto-computed normal and relevant edges, and store custom normal as two angular factors inside that space. This allows to have custom normals 'following' deformations of the geometry, and to only save two shorts per loop in new clnor CDLayer. Normal manipulation (editing, mixing, interpolating, etc.) shall always happen with plain 3D vectors normals, and be converted back into storage format at the end. Clnor computation has also been threaded (at least for Mesh case, not for BMesh), since the process can be rather heavy with high poly meshes. Also, bumping subversion, and fix mess in 2.70 versioning code.
2015-01-19Make use/computation of lnors consistant.Bastien Montagne
Issue was, when requesting (building) lnors for a mesh that has autosmooth disabled, one would expect to simply get vnors as lnors. Until now, it wasn't the case, which was bad e.g. for normal projections of loops in recent remap code (projecting along split loop normals when you would expect projection along vertex normals...). Also, removed the 'angle' parameter from RNA's `mesh.calc_normals_split`. This should *always* use mesh settings (both autosmooth and smoothresh), otherwise once again we'd get inconsistencies in some cases. Will update fbx and obj addons too.
2014-08-22Cleanup: BMesh arg nameCampbell Barton
2014-08-07BMesh: use existing lookup tables when remappingCampbell Barton
2014-04-13Split Normals I (2/5): Add basic BMesh support of split normals.Bastien Montagne
* Merely a re-implementation of core split algorithm for BMesh, taking advantage of topological data available. * This code needs valid loop indices, so added BM_LOOP support to BM_mesh_elem_index_ensure() & co. Reviewers: campbellbarton Reviewed By: campbellbarton CC: brecht Differential Revision: https://developer.blender.org/D366
2014-04-03Code cleanup: strict flags for bmesh_logCampbell Barton
2014-02-12Fix Editderivedmeshes vertices normals computation.Bastien Montagne
Those derived meshes (used in Edit mode) were using simple sum of neighbor poly normals to get vertex normals, while everywhere else in Blender we use weighted sum of such poly normals. Patch: D311 Reviewed and enhanced by Campbell, thanks!
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-10-27rename BM_vert_at_index -> BM_vert_at_index_find (since this searches the ↵Campbell Barton
mempool). needed for other changes - coming.
2013-09-24allocate bmesh data from known sizes where possible (was still using ↵Campbell Barton
defaults in places), add macros for initializing BMAllocTemplate's, also add assert on invalid use of bmesh_sfme()
2013-04-24fix [#34657] Smoothing will not be updated in object mode, when hiding faces ↵Campbell Barton
in edit mode and changing shape. remove the option to skip hidden faces in BM_mesh_normals_update, use openmp to speedup recalculation for high poly meshes.
2013-04-14bmesh operators: use operator type-flag to specify which operations require ↵Campbell Barton
normal-calculations and which operations require selection flushing. eg, no need to flush selection after 'Smooth' tool, no need to recalculate normals after 'Select Similar'.
2013-01-14use booleans for bmesh api.Campbell Barton
2012-12-03use const for bm_mesh_allocsize_default, bm_mesh_chunksize_defaultCampbell Barton
2012-11-20fix for changes in own recent commit:Campbell Barton
selected linked in face mode was crashing. (needs bmesh operator flags) also some style edits, remove unused includes and change triangulate modifiers use_beauty to a flag.
2012-11-18bmesh: lazy initialize bmesh tool flag pool, has the advantage that ↵Campbell Barton
modifiers that dont use bmesh operators can skip allocating it.
2012-07-21remove BMO_OP_FLAG_RATIONALIZE_NORMALS option which wasnt used anywhere.Campbell Barton
2012-04-23code cleanup: change C naming convention (so py and C api match), eg:Campbell Barton
C: BM_face_calc_area(f), Py: BMFace.calc_area()
2012-04-19BMESH_TODO: xsort of vertices working again.Bastien Montagne
This commits adds a new function which can remap vertices/edges/faces of a BMesh in a new given order: void BM_mesh_remap(BMesh *bm, int *vert_idx, int *edge_idx, int *face_idx)
2012-03-11remove Object member from BMesh struct - was only used for undo and ↵Campbell Barton
BMEditMesh already stores an object pointer. also fix for own mistake with mesh conversion refactor, shape key index was off by 1 when switching editmode.
2012-03-02minor edits to last commit - use fixed chunksize, rather than the number of ↵Campbell Barton
verts/edges/faces in bm_mempool_init().
2012-03-02bmmesh api - use struct rather than int[4] to initialize mesh sizes.Campbell Barton
also correct bad assert() in previous commit.
2012-02-28more header re-arranging.Campbell Barton
Some function comments were in headers, some in the C files, some in both. Moved function comments from headers into the C files.