Commit Graph

15489 Commits

Author SHA1 Message Date
Campbell Barton
4c1250570b Cleanup: style 2018-10-18 12:03:04 +11:00
Alexander Gavrilov
e5b18390fa Shrinkwrap: implement the use of smooth normals in constraint & modifier.
- Use smooth normals to displace in Above Surface mode.
- Add an option to align an axis to the normal in the constraint.

I've seen people request the alignment feature, and it seems useful.
For the actual aligning I use the damped track logic.

In order to conveniently keep mesh data needed for normal
computation together, a new data structure is introduced.

Reviewers: mont29

Differential Revision: https://developer.blender.org/D3762
2018-10-17 17:55:34 +03:00
Bastien Montagne
d31ea3b89a Merge branch 'master' into blender2.8
Conflicts:
	source/blender/blenkernel/BKE_global.h
	source/blender/editors/undo/ed_undo.c
2018-10-17 16:50:36 +02:00
Bastien Montagne
2d1b9f7841 Minor style cleanup. 2018-10-17 16:42:18 +02:00
Jacques Lucke
21744217ce Cleanup: remove some #if 0 blocks
Reviewers: brecht, campbellbarton

Differential Revision: https://developer.blender.org/D3802
2018-10-17 12:43:41 +02:00
Alexander Gavrilov
c7a84c23f1 Dope Sheet: rewrite computation of keyframe hold blocks.
Computation of hold blocks was done by storing ranges (with start and
an end, and likely overlapping) in a tree keyed only by the block start.
This cannot work well, and there even were comments that it is not
reliable in complex cases.

A much better way to deal with it is to split all ranges so they don't
overlap. The most thorough way of doing this is to split at all and every
known keyframe, and in this case the data can actually be stored in the
key column data structures, avoiding the need for a second tree.

In practice, splitting requires a pass to copy this data to newly added
keys, and the necessity to loop over all keyframes in the range being
added. Both are linear and don't add excess algorithmic complexity.

The new implementation also calls BLI_dlrbTree_linkedlist_sync for
its own needs, so the users of the *_to_keylist functions don't have
to do it themselves anymore.

Differential Revision: https://developer.blender.org/D3790
2018-10-16 19:27:10 +03:00
Campbell Barton
c5f4c69643 Cleanup: replace check for derivedFinal w/ mesh_eval 2018-10-16 10:33:44 +11:00
Campbell Barton
38828309d3 Cleanup: unused code 2018-10-15 18:12:14 +11:00
Campbell Barton
dbb35ff7c8 Cleanup: unused functions 2018-10-15 17:37:54 +11:00
Campbell Barton
27389362a4 Mesh: remove DerivedMesh for boundbox calculation
Fixes edit-mesh not having a boundbox calculated for it.
2018-10-15 17:14:05 +11:00
Campbell Barton
0941d99323 Cleanup: remove unused functions 2018-10-15 16:59:27 +11:00
Campbell Barton
2deeca4fb0 Cleanup: remove references to DerivedMesh 2018-10-15 16:06:42 +11:00
Campbell Barton
0ef4c4e12a Mesh: remove DerivedMesh for displist conversion 2018-10-15 16:01:39 +11:00
Campbell Barton
62a3dfec78 Mesh: mostly remove DerivedMesh for vertex parent
The exception is for subdivision surface which still uses derived mesh.
2018-10-15 15:31:17 +11:00
Campbell Barton
881334c499 Cleanup: remove DerivedMesh bvhtree_from_mesh_get 2018-10-15 13:40:46 +11:00
Campbell Barton
2a2db39f3a Bake: remove derived mesh for bake API
Multires baking still uses DerivedMesh.
2018-10-15 13:38:58 +11:00
Dalai Felinto
605fbad872 ED_pose_recalculate_paths: Run only for active object
New iterator CTX_DATA_BEGIN_FOR_ID, to restrict the loop to the specified object only.
This is not super efficient, but it should be fine for now.

I will talk to other developers. A more elegant solution would be to
have something like "active_object_selected_pose_bones" in the context.
2018-10-12 19:53:07 -03:00
Campbell Barton
86635402d5 Mesh: remove derivedFinal from various places 2018-10-12 19:29:40 +11:00
Campbell Barton
b15123d279 Cleanup: remove unused derived mesh wrappers 2018-10-12 18:14:11 +11:00
Campbell Barton
54ecff1fca Mesh: remove derived mesh for nurbs conversion 2018-10-12 18:05:26 +11:00
Antonioya
d12b3767f8 Add new parameter to reverse UIList items
Now, it was possible to invert the order of the UIlist using the filter, but it was impossible to know if the list was inverted or not.

The problem with this is that any other element depending of this value could not be adjusted.

See https://devtalk.blender.org/t/how-to-access-uilist-properties/2268

The new parameter allows to set the reverse order by default. When the list is set as reverse, it cannot be inverted again, so the invert button is removed of the filter.

This change is needed to fix a requested feature for Grease Pencil (T56985) and because a lot of 2D softwares use the drawing layers in the inverse order used in Blender.
2018-10-11 18:30:09 +02:00
Campbell Barton
b7363941f7 Cleanup: make BKE_mesh_ensure_normals_for_display public 2018-10-11 16:34:12 +11:00
Campbell Barton
fd2ffb0b9e RNA: remove redundant new_from_object/to_mesh arg
If the caller wants loop-tris, there is a function to calculate them.
2018-10-11 12:24:38 +11:00
Campbell Barton
121c94b082 Cleanup: mesh iterators
- Split indexed/non-indexed into separate loops.
- Avoid assigning the same value in the loop.
- Use const variables.
2018-10-11 10:34:30 +11:00
Campbell Barton
0f147bf6d6 Remove image based bitmap font support
Was used in the game engine and is no longer used.
2018-10-11 09:27:29 +11:00
Campbell Barton
66738d4aa0 Merge branch 'master' into blender2.8 2018-10-11 09:08:30 +11:00
Campbell Barton
2083a7e274 Cleanup: style (pointers) 2018-10-11 09:03:39 +11:00
Campbell Barton
95f2604ea7 Cleanup: indentation 2018-10-11 08:20:35 +11:00
Brecht Van Lommel
e65784a051 Python API: add loop triangles access, remove tessfaces.
Loop triangles are tessellated triangles create from polygons, for renderers
or exporters that need to match Blender's polygon tesselation exactly. These
are a read-only runtime cache.

Tessfaces are a legacy data structure from before Blender supported n-gons,
and were already mostly removed from the C code.

Details on porting code to loop triangles is in the release notes.

Differential Revision: https://developer.blender.org/D3539
2018-10-10 17:43:44 +02:00
Campbell Barton
84cf670d1d Modifier: Fix cage option for deform modifiers
Show-on-cage and show-in-editmode options now work as it did in 2.7x
(but only for deformation).
2018-10-10 15:53:52 +11:00
Campbell Barton
606ac3eb7f Fix modifier cage option being overwritten
Editmesh modifier calculation behaved as if eModifierMode_OnCage
was enabled for all modifiers.

Remove assignment after all modifiers are calculated.
2018-10-10 15:22:47 +11:00
Campbell Barton
9751d7188e Cleanup: naming 2018-10-10 15:18:34 +11:00
Campbell Barton
9bb1bd0b5e Correct bad statvis default in recent commit 2018-10-10 15:11:00 +11:00
Campbell Barton
62020eddec Cleanup: naming
- mesh_calc_modifiers & editbmesh_calc_modifiers
  now follow similar naming.
- me and mesh were too easily confused in mesh_calc_modifiers
  (remove 'me', access ob->data).
2018-10-10 15:01:46 +11:00
Campbell Barton
58a41df51e Cleanup: add back add_shapekey_layers to modifier stack
Looks like this might not be used, add back just in case.
2018-10-10 14:37:08 +11:00
Campbell Barton
c3c4f8f60a Cleanup: uncomment statvis calculation (still disabled) 2018-10-10 14:28:31 +11:00
Campbell Barton
c61142c0b5 Modifier: use simplified bmesh -> mesh conversion 2018-10-10 13:14:15 +11:00
Campbell Barton
633e2cddd7 BMesh: simple bmesh -> mesh for evaluation
Copied from CDDM_from_bmesh, the modifier stack doesn't
need to handle shape keys, vertex parents or selection history
(needed for mode switching).
2018-10-10 13:14:15 +11:00
Campbell Barton
44f478bb1a Modifier: remove derived-mesh for sculpt crazy-space 2018-10-10 12:01:05 +11:00
Antonioya
90e360c39f GP: Improve center object in viewport when press .
Before when press . (view_select) the object was centered at the dummy, but now it's centered with the strokes bounding box size.

Also fixed some problems in edit mode when the object origin was not in view origin.
2018-10-09 16:55:29 +02:00
Dalai Felinto
9a670a67d2 Fix for assert when sampling color to non-existent palette 2018-10-09 12:43:11 +00:00
Alexander Gavrilov
f1959f0999 Fix Weight Paint display with Subdivision Surface modifier.
The flag used to be set by the now removed old weight paint coloring code.
2018-10-09 14:21:23 +03:00
Clément Foucault
9cf01d35be Workbench: Smoke: Add support for Color Mappping for smoke debugging 2018-10-09 12:12:38 +02:00
Bastien Montagne
2471b9c528 Fix crash in T56064: Blender crashes on selecting text-object.
The root of the issue remains though, see T56172, this is just a quick
bandaid to stop crashing on it, until we find a proper solution.
2018-10-09 11:35:21 +02:00
Campbell Barton
1b910082a0 Edit Mesh: replace DerivedMesh w/ Mesh
DerivedMesh is now removed from edit-mesh modifier evaluation.
2018-10-09 17:48:28 +11:00
Campbell Barton
79ca13a745 Cleanup: naming
Use BKE_mesh_* prefix for mesh module.
2018-10-09 16:09:59 +11:00
Campbell Barton
72e90c5db3 Cleanup: remove unused EditDerivedBMesh 2018-10-09 15:57:38 +11:00
Campbell Barton
3c78763482 Edit Mesh: remove derived-mesh from crazy-space calculation 2018-10-09 15:38:06 +11:00
Campbell Barton
20fbe6bca8 Modifier: move edit-mesh calculation from DerivedMesh to Mesh 2018-10-09 15:11:06 +11:00
Campbell Barton
75ac83610b Modifier: add non derived mesh modifier wrappers
Rename modifier_deformVerts_ensure_normals &
modifier_applyModifier_ensure_normals with wrappers that match 2.7x
convention.
2018-10-09 13:20:20 +11:00