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-03Cleanup: trailing commasCampbell Barton
Needed for clan-format not to wrap onto one line.
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.
2018-12-14Merge branch 'master' into blender2.8Campbell Barton
2018-12-01Cleanup: styleCampbell Barton
2018-11-25Local ViewDalai Felinto
Bring back per-viewport localview. This is based on Blender 2.79. We have a limit of 16 different local view viewports. We are using both the numpad /, as well as the regular /. Missing features: * Hack to make sure lights are always visible. * Make rendered mode with external engines to support this as well (probably just need to support this in the RNA iterators). * Support over 16 viewports by taking existing viewports out of local view. The code can use a cleanup pass in the future to unify the test to see if an object is visible (or we can use TESTBASE in more places).
2018-11-10BMesh: avoid incorrect/invalid matrix calculationCampbell Barton
- `BKE_object_scale_to_mat3` was used to get the worldspace scale, without taking constraints, parenting etc into account. - Don't pass object's into BMesh API, (prefer matrices instead). - Avoid matrix invert for each edge-angle calculation. - Avoid 2x matrix multiplies when looping over edge pairs.
2018-11-09Multi-Objects: MESH_OT_select_similar worldspace completionHabib Gahbiche
This makes the operator to work 100% with worldspace similarity: * SIMFACE_PERIMETER * SIMFACE_AREA * SIMEDGE_FACE_ANGLE Note from revisor (Dalai Felinto): I'm not sure we want to pass Object * to the bmesh api, though I personally don't see why not. Either way I group the patches together so we can more easily roll them back if needs be. Maniphest Tasks: T56948 Differential Revision: D3908, D3899, D3896
2018-11-07Multi-Objects: CURVE_OT_select_similarHabib Gahbiche
Implemented the following methods: * SIMCURHAND_TYPE * SIMCURHAND_RADIUS * SIMCURHAND_WEIGHT * SIMCURHAND_DIRECTION Limits: * DIRECTION does not support surfaces, because `BKE_nurb_bpoint_calc_normal` does not work with Nurbs of type `CU_CARDINAL`. This also didn't work prior to this patch, so we wait until surfaces are properly supported in EditMode. * Also DIRECTION should take scaling into consideration. We need our own versions of BKE_nurb_bpoint_calc_normal/bezt. * Threshold default is too large. Not sure if it's better to change the default or scale the threshold in code. Differential Revision: https://developer.blender.org/D3846 Changes from committer (Dalai Felinto): * Moved nurb_bpoint_direction_worldspace_get/bezt to functions. * Comments hinting at the mode (direction) that require scaling to be taken into account - to be addressed by patch creator in a future patch.
2018-10-05Cleanup: styleCampbell Barton
2018-09-28Cleanup: Remove bmo_similar.c and small renamingDalai Felinto
2018-09-28Multi-Objects: Select similar vertex: SIMVERT_VGROUPDalai Felinto
I'm storing the name of the vertex groups in a gset. This way we can select vertex groups with the same name across different objects. Also this is the last select similar mode that needs porting o/
2018-09-27Cleanup: fix harmless compiler warnings.Brecht Van Lommel
2018-09-26Multi-Objects: Selects similar face SIMFACE_COPLANARDalai Felinto
Unlike 2.79 I am not using the comparison type to get coplanar planes that are above/below the plane. That seems arbritary at best, and a bit of a challenge to get it right. Also, I'm doing some shenanigans to use a single tree to store the face direction and the distance. Here in my tests it is working fine though.
2018-09-26Multi-Objects: Select similar face SIMFACE_FACEMAPDalai Felinto
Facemap is per object, so we store them in a gset per object, and only check the object faces with its own facemaps.
2018-09-26Multi-Objects: Select similar face SIMFACE_FREESTYLEDalai Felinto
Note: 2.7x seem to be checking for edge data instead of face, but I do not see why not to get FreestyleFace.
2018-09-26Multi-Objects: Select similar face SIMFACE_SMOOTHDalai Felinto
2018-09-26Multi-Objects: Select similar face SIMFACE_NORMALDalai Felinto
We could/can deduplicate the code with SIMVERT_NORMAL.
2018-09-26Multi-Objects: Select similar face SIMFACE_AREA and SIMFACE_PERIMETERDalai Felinto
Note: Not doing worldspace comparison for now. We would need to create new BM_face_calc_area and BM_face_calc_perimeter equivalent functions for that. Not sure if it is worth the trouble.
2018-09-26Multi-Objects: Select similar face SIMFACE_MATERIALDalai Felinto
Note: Unlike 2.79 we are not comparing face->mat_nr, but the material itself. On top og that, if the material slot is empty we are just ignoring this face.
2018-09-26Multi-Objects: Select similar face SIMFACE_SIDESDalai Felinto
2018-09-26Cleanup comments on select similar edgeDalai Felinto
2018-09-25Multi-Objects: Select similar edge SIMEDGE_CREASE and SIMEDGE_CREASEDalai Felinto
All edge options are done now.
2018-09-24Cleanup: skip translation to calculate lengthCampbell Barton
2018-09-24Cleanup: styleCampbell Barton
2018-09-21Select Similar: Cleanup - WITH_FREESYTLEDalai Felinto
2018-09-21Multi-Objects: Select similar edge SIMEDGE_FREESTYLEDalai Felinto
I'm not happy with #ifdef WITH_FREESTYLE everywhere. But I will remove them in an upcoming commit
2018-09-21Select Similar: CleanupDalai Felinto
2018-09-21Select Similar: Skip hidden elementsDalai Felinto
2018-09-21Multi-Objects: Select similar edge SIMEDGE_SEAM/SIMEDGE_SHARPDalai Felinto
I'm not sure why we may want to sample both a sharp and an unsharp edges at the same time, maybe to see if the selected edges all have the same values? Either way, implemented as in 2.79. I also believe we may have a faster way to select all the edges, but let's file this under optimizations to be done later.
2018-09-21MESH_OT_select_similar: CleanupDalai Felinto
2018-09-21Multi-objects: Select similar edge SIMEDGE_FACE_ANGLEDalai Felinto
I'm not sure why the original implementation was only checking for equal comparison but I'm doing the same here. It is a one line change if we want to support LT/GT anyways. Also "technically" we should compare the angles in the worldspace, since different scales will result in different angles. Added as a TODO but honestly I think this is overkill.
2018-09-21Rename bm_sel_similar_cmp_short > select_similar_compare_LONGDalai Felinto
2018-09-21Multi-objects: Select similar edge SIMEDGE_LENGTHDalai Felinto
I'm using kdtree here but there is nothing preventing us from using a simple float linked list with a sorting and finding "nearest" equivalents. At least we are benefitting from bisecting as oppose to the original solution. Also we need epsilon for the float comparisons.
2018-09-21Multi-objects: Select similar edge SIMEDGE_DIRDalai Felinto
2018-09-21Multi-objects: Select similar edge SIMEDGE_FACEDalai Felinto
2018-09-21Select similar edge: Granular error messageDalai Felinto
This way we can implement them onw by one
2018-09-19Cleanup: replace pointer/int casts with macrosCampbell Barton
2018-09-19Multi-Objects: Initial select similar supportDalai Felinto
Note: I had to add an epsilon on top of the threshould for SIMVERT_NORMAL. Otherwise I was getting differences such as 0.000000something when comparing supposed-to-be-identical normals. The way I see it, the Threshold option is a user feature, where users can control more or less what they want selected. While the epsilon is a non-negotiable requirement for our float comparison here. This includes support for: * SIMVERT_NORMAL * SIMVERT_FACE * SIMVERT_EDGE Not included and currently not supported/disabled: * SIMVERT_VGROUP * SIMEDGE_* * SIMFACE_* While we are working on this, we prevent users from using the non-ported modes. Note: the bmo_similar.c file is still around, to be removed in the near future. Everyone: Please fell free to jump in and help tackling the missing modes. For details on the implementation discussion: https://developer.blender.org/D3674
2018-09-19Move select similar to its own fileDalai Felinto