Campbell Barton
22ec7b17d2
BMesh: raise exception face-split w/ adjacent loops
...
Was raising "internal error".
2015-11-25 12:08:50 +11:00
Campbell Barton
b8c40d47e0
Cleanup: remove unused bmesh iterator
2015-11-19 22:13:35 +11:00
Campbell Barton
2eb50d450c
Cleanup: simplify PyBMesh customdata API use
2015-09-18 16:40:54 +10:00
Campbell Barton
09e40a4956
Cleanup: spelling
2015-09-14 02:22:22 +10:00
Campbell Barton
1140238acf
Fix T45976: Crash accessing BMesh customdata
...
Layers returned from items() and values() could have an invalid index.
2015-09-01 19:59:26 +10:00
Campbell Barton
9304df5182
Fix T45939: Crash w/ BMesh.*.sort()
2015-09-01 16:07:34 +10:00
Campbell Barton
c86a519898
Use qsort_r for BMesh Py API
2015-09-01 13:56:08 +10:00
Campbell Barton
cff288cf3a
Use PyC_ParseBool to parse bools
...
This could cause problems since they could be any int,
then passed directly to internal functions that assume bools.
2015-08-04 18:49:42 +10:00
Campbell Barton
339915a962
Optimize PySequence_Fast usage
...
Access arrays directly, avoiding type-check every time.
2015-07-29 10:49:35 +10:00
Campbell Barton
376e4c945e
Fix leak in BPy_BMElem_PySeq_As_Array
...
Also add BPy_BMElem_PySeq_As_Array_FAST
2015-07-29 10:49:34 +10:00
Campbell Barton
a2d4c26aa2
BMesh: use define for string
2015-06-14 08:27:29 +10:00
Tamito Kajiyama
dbee634572
Fix typos.
2015-05-04 01:53:34 +09:00
Campbell Barton
f283b959e7
BMesh: BM_vert_separate double edge fix
...
Splitting edges could give duplicates.
2015-05-02 16:24:35 +10:00
Campbell Barton
a5869945c6
Cleanup: bmesh src/dst order in API args
2015-05-02 15:46:03 +10:00
Campbell Barton
f553aba69f
Correct docstring
2015-04-30 09:55:54 +10:00
Campbell Barton
89f5a09ab4
Cleanup: use 8 space indent for multi-line args
2015-04-25 20:15:20 +10:00
Campbell Barton
18ee593729
Expose CD_PAINT_MASK to Python API
...
D782 by Stanislav Blinov
2015-04-24 04:10:51 +10:00
Campbell Barton
6603a10331
Cleanup: remove redundant initializers
2015-04-16 22:26:20 +10:00
Campbell Barton
690b90f1e2
BMesh: minor optimization counting adjacent data
...
add BM_***_count_is_over(), _count_is_equal()
Useful if we only want to know if the count is a smaller value.
2015-04-12 17:38:14 +10:00
Campbell Barton
fee0e6e211
BMesh Py API: calc_edge_angle functions
...
Make consistent with calc_edge_angle,
take an optional fallback arg for non-manifold edges
otherwise raise an exception.
2015-03-09 00:47:53 +11:00
Campbell Barton
8638142c3b
Fix T43904: calc_vert_angle returns wrong value
...
This was mis-named, rename to `calc_edge_angle`
and allow a fallback value in the case when the vert doesn't have 2-edges.
2015-03-06 18:55:36 +11:00
Bastien Montagne
ced19783fd
Fix mismatch (missing 'const' to mactch funcs declarations).
...
Was breaking windows compile, reported by bdancer over IRC, thanks.
Also, quite some annoying 'unused vars' warnings (debug-only vars).
2015-02-23 13:57:02 +01:00
Bastien Montagne
51b0ae8a85
Fix T43739: bad documentation for bmesh py intersect_face_point()
...
Previous text could make think this func was checking whether a point was
inside and on the face, while it actually checks whether the projection
of that point onto the face is inside its boundary...
2015-02-20 10:54:26 +01:00
Campbell Barton
bf0c8e116d
PyAPI: add PyList_APPEND
...
This appends while giving ownership to the list, avoiding temp assignment.
This matches PyList_SET_ITEM which bypasses refcount's
Note, this also reduce code-size, Py_DECREF is a rather heavy macro.
2015-01-06 19:09:53 +11:00
Campbell Barton
9fd569a654
PyAPI: add utilities PyTuple_SET_ITEMS, Py_INCREF_RET
...
Setting all values of a tuple is such a common operation that it deserves its own macro.
Also added Py_INCREF_RET to avoid confusing use of comma operator.
2015-01-06 19:09:11 +11:00
Campbell Barton
8106a6b75d
mathutils: refactor instantiation
...
remove 'type' argument, very few mathutils objects are wrapped,
add new function for creating wrapped objects.
also fixes unlikely memory leak if the data-array can't be allocated.
2015-01-04 17:43:57 +11:00
Campbell Barton
aab4f2b762
cleanup: redundant casts & const cast correctness
2015-01-01 23:42:28 +11:00
Campbell Barton
3e7e97f127
BMesh: ensure iterator macros assign to valid types
...
note, this is for C++ code which expects a cast, (will be added later)
also add a macro for nop-expressions (EXPR_NOP),
when we never want an expression to be evaluated, but it should still be valid.
2014-12-08 10:54:56 +01:00
Campbell Barton
0154096fd5
Cleanup: unused headers
2014-11-28 23:12:12 +01:00
Campbell Barton
915235c87a
Cleanup: unused headers
2014-11-28 22:16:14 +01:00
Campbell Barton
bcbbc66795
Cleanup: unused headers
2014-11-28 15:52:30 +01:00
Campbell Barton
7d040d2a08
Cleanup: use BLI_listbase_*** prefix for count,sort,sort_r
2014-11-16 13:57:58 +01:00
Campbell Barton
133f79e449
Cleanup: warnings, typos
2014-10-29 14:15:21 +01:00
Campbell Barton
785b90d7ef
BMesh Py API: Fast index lookups for vert/edge/faces
...
This changes the Py API to use array lookup table.
Previously this could be very slow since it would loop over all elements.
Now the python script is responsible for creating the internal lookup table (as with C code).
This will break some scripts.
2014-10-28 10:03:54 +01:00
Campbell Barton
497d06d64d
Fix T41971: BMesh mapping slot arg error
2014-10-01 22:36:09 +10:00
Campbell Barton
26e476b7e1
Fix T41788: bmesh.utils.loop_separate, face_vert_separate() always return None
2014-09-12 10:16:50 +10:00
Campbell Barton
cbde56572f
bmesh py api: face_split_edgenet missed NULL check
2014-07-21 12:42:00 +10:00
Campbell Barton
49a5115497
bmesh py api: add bmesh.utils.vert_splice(...)
2014-07-17 12:25:40 +10:00
Campbell Barton
7f4735ab3b
bmesh py api: BPY_BM_CHECK_SOURCE_* macro now accepts multiple args
2014-07-17 11:56:08 +10:00
Campbell Barton
de379c05de
bmesh py api: add BMesh.calc_tessface()
2014-07-16 11:57:28 +10:00
Campbell Barton
28940d79b1
bmesh py api: add typed tuple-from-array functions
2014-07-16 11:50:34 +10:00
Campbell Barton
8a04bed724
Error in last commit
2014-07-14 21:34:51 +10:00
Campbell Barton
a8e338cee5
Py/API: add bmesh.utils.face_split_edgenet
2014-07-14 21:32:37 +10:00
Campbell Barton
c3deb16c16
BMesh: add ability not to delete vertex when collapsing
2014-06-27 20:28:02 +10:00
Campbell Barton
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
Campbell Barton
e73d0f57a3
Code cleanup: use 'const' for arrays (python)
2014-04-27 00:25:15 +10:00
Bastien Montagne
0b7f581397
Split Normals I (2/5): Add basic BMesh support of split normals.
...
* 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-13 12:25:54 +02:00
Campbell Barton
5873160242
Code cleanup: strict flags for bmesh_log
2014-04-03 17:13:31 +11:00
Campbell Barton
2097e621ed
Code cleanup: use r_ prefix for return args
2014-03-16 03:26:23 +11:00
Campbell Barton
13ea967cce
Code cleanup: correct abs use and quiet warnings
2014-03-01 14:26:18 +11:00