Age | Commit message (Collapse) | Author |
|
D1912 by @samb96
Change the starting point of the UV sphere so that it is aligned with the circle, cylinder, and cone primitives.
|
|
|
|
|
|
Rewrote to work with ngons and and more complex topology, now uses separate function.
Fixes T48009.
|
|
|
|
This option selects all paths between source/destination which are no longer than the path found.
Handy for selecting meshes with a grid-topology.
|
|
|
|
|
|
|
|
Symmetrize was unusable with multi-res data,
add an option for the bmesh operator not to flip the multi-res depth.
|
|
|
|
|
|
For dissolving 2-sided faces, theres no need to check they are valid before removal.
|
|
|
|
This is an alternative to passing a copy callback which is some times inconvenient.
Instead the caller can write to the key - needed when the key is duplicated memory.
Allows for minor optimization in ghash/gset use.
Also add BLI_gset_ensure_p_ex
|
|
no functional changes
|
|
|
|
We cannot use FLT_MAX as initi distance for raycast...
Renamed TRANSFORM_DIST_MAX_RAY to BVH_RAYCAST_DIST_MAX, moved it into BLI_kdopbvh,
and use in RNA raycast callbacks (and all other places using that API).
|
|
|
|
|
|
Caused symmetrize to fail for concave ngons crossing the midpoint multiple times.
|
|
While SCons building system was serving us really good for ages it's no longer
having much attention by the developers and started to become quite a difficult
task to maintain.
What's even worse -- there started to be quite serious divergence between SCons
and CMake which was only accumulating over the releases now. The fact that none
of the active developers are really using SCons and that our main studio is also
using CMake spotting bugs in the SCons builds became quite a difficult task and
we aren't always spotting them in time.
Meanwhile CMake became really mature building system which is available on every
platform we support and arguably it's also easier and more robust to use.
This commit includes:
- Removal of actual SCons building system
- Removal of SCons git submodule
- Removal of documentation which is stored in the sources and covers SCons
- Tweaks to the buildbot master to stop using SCons submodule
(this change requires deploying to the server)
- Tweaks to the install dependencies script to skip installing or mentioning
SCons building system
- Tweaks to various helper scripts to avoid mention of SCons folders/files
as well
Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit
Reviewed By: campbellbarton, juicyfruit
Differential Revision: https://developer.blender.org/D1680
|
|
|
|
Supports diagonal paths for verts and faces,
Selects edge-rings with edges.
|
|
|
|
These could go un-noticed, causing errors later on.
|
|
Also no need to check twice
|
|
|
|
Changes to remove doubles face creation,
Recent change to remove doubles broke when the new faces already existed (rare occurrence),
however theres no point to return an existing double face.
Now check if the face exists before creating it.
Other changes:
- avoid 2x hash lookups on all mapped verts.
- fill in the vert array instead of calculating from edges.
- remove inefficient search of entire edge-array before adding to it.
(flag verts to ensure they're not used multiple times).
- move logic for transfusing edge-flags to edge creation.
|
|
|
|
Would happen with complex edge-nets mixed with faces.
|
|
|
|
Returned true for verts with a single edge.
|
|
Weld verts now keeps original faces so callers don't need to keep track of newly created face data.
|
|
Avoids -1 all over.
|
|
|
|
|
|
Avoiding to make duplicate edges is too involved, do a remove-duplicates pass at the end instead.
|
|
Handle these cases by temporarily disconnecting the single links to ensure isolated islands,
then link back up after.
|
|
|
|
Distinguish between line / line_segment
|
|
Possible a boolean operation edits the mesh while keeping the same number of faces.
|
|
Was selecting these edges after applying boolean,
which isnt useful since selection is supposed to be along the cuts.
|
|
|
|
For the intersect tool this made sense, but booleans can use cuts which overlap edges exactly.
|
|
Side was flipped
|
|
code.
C++ does not allow the assignment of a void pointer to a typed pointer without
explicit casting. Since we use a generic macro in bmesh for iterators we only
ever get a void* back and cannot cast it to the target type. However, casting
the target to a void* as well solves that issue.
This tweak is #ifdef'd to be used in C++ code only.
|
|
|
|
Needed for editmode use
|
|
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.
|