d655a8f168
BMesh: BM_face_triangulate take edge array
...
To access edges created between the tris.
2015-02-02 09:22:54 +11:00
3debcc8b51
Math Lib: improve area calculation
...
- area_quad_v3 now works correctly with concave quads.
- add area_squared_*** functions, to use when comparing to avoid a sqrt().
2015-01-13 19:10:15 +11:00
a56e31c89c
Fix triangulating concave quads
...
Resulting triangles could be pointing in opposing directions.
2014-12-17 11:34:16 +01:00
b04d2f99f2
Fix T42927: Triangulate-beauty fails on quads
...
Regressions since 2.69.
2014-12-17 10:09:47 +01:00
a5c3de2e49
Fix T42630: Triangulate returns invalid face-map
...
Triangulate with beautify caused a bug when there were existing edges
could make the bmesh-operator return an invalid face-map.
Now the beauty is calculated on the 2d-tri's resulting from polyfill,
its simpler and faster.
2014-12-09 13:08:28 +01:00
6076bedec0
Cleanup: remove scanfill define for polyfill code
...
also rename vars which were previously used for scanfill.
2014-12-09 12:19:26 +01:00
a5cd6a029f
Cleanup: style & de-duplicate
2014-12-02 10:30:29 +01:00
1ddfe6676d
BMesh: shrink/fatten faces-normals in face mode
...
nice for solid-modeling, gives better results for partial selections.
2014-11-13 16:41:56 +01:00
5e809c45ed
Fix T4199: Knife holes in concave ngons failed
...
BM_face_point_inside_test assumed the face center was inside the face.
2014-10-07 10:09:19 +02:00
149ca1320b
Fix non-deterministic editmesh normal orientations
...
- selecting a boundary edge would randomly point in/outside the face (now point away).
- selecting 3 verts would use the first selected edge as the tangent (now use longest).
- selecting 1 vert betweem edges, uses the edges to define the tangent.
2014-09-11 18:31:02 +10:00
90e1746d89
BMesh: correct flag use
...
Allowed fill to make duplicate faces
2014-08-21 13:08:13 +10:00
19b1da2b7b
Polyfill2d: avoid calculating polygon winding (its known in all cases)
2014-06-14 08:21:52 +10:00
a217db0d63
Fix T40297: Crash while ripping an edge when autosmooth is activated.
...
Turned out there was still quite a few cases were indices were set dirty,
but elem_index_dirty was not tagged accordingly (mostly for BM_LOOP,
but a few others as well). So probably this crash was not the only one
hidden here.
Hopefully all possible cases were catched this time!
2014-05-21 22:37:50 +02:00
dd8a9eee3b
Fix T40162: Vert connect creates extra face cutting across concave NGon.
...
We need to support cutting degenerate ngons, see: T39418
This commit disallows cuts across faces where the same vertices can create better cuts on different faces.
2014-05-13 17:56:26 +10:00
46bd759964
Code cleanup: rename BM_face_legal_splits -> BM_face_splits_check_legal
2014-05-13 17:48:25 +10:00
f14df29777
BMesh: make BM_face_calc_normal_subset apart of the bmesh api
...
also make face normal calculation functions return normal length
2014-05-13 14:58:05 +10:00
4ca67869cc
Code cleanup: remove unused includes
...
Opted to keep includes if they are used indirectly (even if removing is possible).
2014-05-01 04:47:51 +10:00
d7d2e71a03
Correct some errors in auto-cleanup
2014-04-27 22:02:59 +10:00
88a0fe5f1b
Code cleanup: use 'const' for arrays (bmesh)
2014-04-27 00:25:16 +10:00
b3972aeea0
Math Lib: optimize axis_dominant_v3_to_m3, approx 6x speedup
...
build the matrix directly rather then calculating with axis/angle
also remove unused function calc_poly_plane
2014-04-16 21:07:28 +10:00
28a829893c
Math Lib: avoid having to pass a pre-calculated normal tot area_poly_v3
...
add normal_poly_v3
2014-04-16 00:29:57 +10:00
fb0959f88d
Code cleanup: replace dot with len_squared and is_zero checks
2014-03-29 22:24:12 +11:00
bec7c8c7aa
BMesh: optimize BM_face_legal_splits for concave faces
2014-03-27 11:48:18 +11:00
20a4e33837
Code cleanup: use consistent arg order for math api poly funcs
2014-03-27 08:30:14 +11:00
1ae3108984
Fix for bmesh triangulate creating duplicate edges
2014-03-04 02:07:23 +11:00
61ff3dfdda
Code Cleanup: spelling
2014-01-13 15:31:57 +11:00
04a902965e
BMesh optimize face splitting by taking loops rather then verts
...
- add BM_vert_pair_share_face
- add BM_loop_is_adjacent
- remove BM_verts_connect
2013-12-24 11:13:58 +11:00
d833aab887
correct error in recent commit
2013-12-15 03:59:51 +11:00
f00728c19b
Fix bmesh compiler warning with OS X / clang.
2013-12-14 15:24:53 +01:00
fac8e84632
Fix for own error in recent tessellation update.
2013-12-06 01:32:18 +11:00
c33fb00c28
Fix for triangulate and beauty-fill
...
- could crash if triangulate attempted to create an existing face.
- tagging edges to rotate was unreliable, don't do this anymore.
now check if edge is in the array passed to the beauty function.
2013-12-02 11:49:18 +11:00
e3ee0b1d38
Fix for beauty option for triangulate (modifier and tool)
2013-12-01 16:41:03 +11:00
5da703e915
BMesh/Mesh: replace scanfill with polyfill
2013-11-30 22:13:52 +11:00
3d6f3c0457
Fix for recent BMesh regression refactoring out face tessellation
2013-11-27 13:44:19 +11:00
3b24eaad9a
Fix T37583: regression in bmesh triangulate breaking python's use of face_map
2013-11-27 08:11:34 +11:00
238d2f962d
BMesh Refactor: BKE_bmbvh_new can now be created without an EditMesh.
...
This adds BM_bmesh_calc_tessellation() so we can get triangles from a
bmesh without having to have an editmesh available.
2013-11-18 18:25:47 +11:00
Dalai Felinto
a7b44c82e5
Triangulate Modifier: using different ngon and quad methods
...
Quads: Beauty, Fixed, Fixed Alternate, Shortest Diagonal
Ngons: Beauty, Scanfill
* Shortest Diagonal is the default method in the modifier (popular
elsewhere), but beauty is the default in Ctrl+T).
* Remove the need for output slot and beauty operator to be called
after Clt+T
Patch with collaborations and reviewed by Campbell Barton
2013-10-29 02:42:51 +00:00
7c8c49a34a
style cleanup
2013-10-21 23:35:08 +00:00
Dalai Felinto
8f22c120f5
fix [ #37145 ] "Triangulate Face" crash in specific scene
...
it was asserting if the last edge faces were already all set
2013-10-19 21:20:50 +00:00
234626f9e1
correct BM_edge_face_pair() being called inside BLI_assert() - this needed to run every time.
...
also other minor changes.
2013-10-16 22:07:16 +00:00
Dalai Felinto
bd2d7bedbd
Triangulate modifier - beauty option is back
...
Patch reviewed and with collaborations from Campbell Barton
2013-10-16 17:58:00 +00:00
Dalai Felinto
b20d3bab80
fix [ #37046 ] Dissolve edges and vertices problem with triangulate
...
with review and collaboration from Campbell Barton
2013-10-13 05:04:06 +00:00
Dalai Felinto
3a63adb5ff
fix [ #37034 ] Triangulate modifier asserts with GHASH_FLAG_ALLOW_DUPES
2013-10-13 00:30:49 +00:00
590f58d455
code cleanup: redundant includes and add minor comments.
2013-10-08 20:18:38 +00:00
Dalai Felinto
8e9aa452bb
Triangulate Modifier changes - using scanfill
...
The ear loop method is potentially too slow (OˆN).
We are not using the 'beauty' option at the moment.
I'll incorporate that next.
(and later specific methods for quad splitting)
Patch done in collaboration (and reviewed by) with Campbell Barton.
2013-10-08 19:28:11 +00:00
92527b9264
remove assert for poly_find_ear(), added recently but its incorrect, also minor style edits.
2013-10-01 03:56:02 +00:00
05c53918aa
bmesh triangulate: skip intersection checks for degenerate geometry and just triangulate on a fixed loop.
2013-09-24 12:45:14 +00:00
1ca5de1b51
speedup for ngon tessellation, check if the angle is an improvement before doing the full intersection check.
...
with 500 verts gives approx 2x speedup.
2013-09-19 07:58:47 +00:00
ac0a2ef274
minor edits to poly_find_ear() bmesh function, no functional changes.
2013-09-19 07:40:41 +00:00
6fdb2ed861
bmesh utility functions BM_face_as_array_loop_tri, BM_face_as_array_loop_quad
...
also set attributes for the header and remove debug print in mask.c
2013-09-06 06:27:22 +00:00