3d48d99647
Cleanup: Python, Clang-Tidy else-after-return fixes
...
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/python` module.
No functional changes.
2020-08-07 13:38:07 +02:00
725973485a
Clang Tidy: enable readability-non-const-parameter warning
...
Clang Tidy reported a couple of false positives. I disabled
those `NOLINTNEXTLINE`.
Differential Revision: https://developer.blender.org/D8199
2020-07-13 11:27:09 +02:00
8956e9e5f6
Fix mathutils box_pack_2d docstring
...
Differential Revision: https://developer.blender.org/D7667
2020-05-11 21:18:42 +02:00
2d1cce8331
Cleanup: make format
after SortedIncludes change
2020-03-19 09:33:58 +01:00
cb8b424c6b
Made BLI_delaunay_2d_cdt_calc better at tiny feature elimination.
...
The 'random' unit tests and some examples from the new boolean code
triggered asserts and crashes. This fixes those.
There is a new flag in the input that optionally disables a pass
over input to snap segment edges to other segments.
2020-02-29 13:26:27 -05:00
2a6df7dfe5
Cleanup: use named unsigned types in the Python API
2020-02-20 15:40:05 +11:00
84c537e685
Document that tessellate_polygon() doesn't handle degenerate geometry
...
This 'fixes' T68554: 'API mathutils.geometry.tessellate_polygon returns
bad results sometimes' by documenting the limitations of the current
implementation.
I've also added a unit test for the function, so that any change in this
behaviour will get noticed.
No functional changes.
2020-01-27 16:42:25 +01:00
4f5086b6dc
Mathutils: expose the utility to find the closest point of a triangle.
...
This computation is complex and useful enough to expose the existing
C math utility used by BVH nearest to Python. Otherwise this requires
the use of intersect_point_tri and multiple intersect_point_line calls
with some added vector math.
Differential Revision: https://developer.blender.org/D6200
2019-11-06 11:15:11 +03:00
d3d6cd2e09
PyAPI: drop Vector requirement for tessellate_polygon
...
Use mathutils_array_parse which converts any sequence of numbers.
2019-10-09 17:28:49 +11:00
6ff60d9982
PyAPI: avoid normal calculation for tessellate_polygon
...
Use fixed normal for 2D input, no need to calculate it.
2019-10-09 17:08:51 +11:00
b1959a96a2
Cleanup: spelling
2019-08-18 04:26:34 +10:00
2790740813
Cleanup: spelling
2019-08-17 00:57:05 +10:00
6f9cbbc8ec
Add mathutils.geometry.delaunay_2d_cdt() function to Python API.
...
Provides Python API access to recently added Constrained Delaunay
Triangulation routine.
Reviewed in D5467.
2019-08-13 07:31:14 -04:00
1cd65b274b
BLI_math: add isect_tri_tri_v2, wrap via mathutils.geometry
2019-08-11 21:50:48 +10:00
6529d20d79
Cleanup: spelling in comments
2019-06-12 09:43:49 +10:00
778542fd8f
Cleanup: comments (long lines) in python
2019-04-29 20:01:10 +10:00
e12c08e8d1
ClangFormat: apply to source, most of intern
...
Apply clang format as proposed in T53211.
For details on usage and instructions for migrating branches
without conflicts, see:
https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-17 06:21:24 +02:00
25ec4b437f
Cleanup: style, use braces for the Python API
2019-03-30 07:14:28 +11:00
de13d0a80c
doxygen: add newline after \file
...
While \file doesn't need an argument, it can't have another doxy
command after it.
2019-02-18 08:22:12 +11:00
eef4077f18
Cleanup: remove redundant doxygen \file argument
...
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
2019-02-06 15:45:22 +11:00
744f633986
Cleanup: trailing commas
...
Needed for clan-format not to wrap onto one line.
2019-02-03 14:59:11 +11:00
65ec7ec524
Cleanup: remove redundant, invalid info from headers
...
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.
2019-02-02 01:36:28 +11:00
72369c638d
Cleanup: python doc-strings
...
Indentation & trailing space.
2018-11-14 09:05:07 +11:00
a4f2ebc78d
Spelling fixes in comments and descriptions, patch by luzpaz.
...
Differential Revision: https://developer.blender.org/D3700
2018-09-19 18:18:05 +02:00
7729966af1
Fixed typo Python API
...
`mathutils.geometry.barycentric_transform` used `tri_a[1-3]` for the
target triangle, but in fact they are `tri_b[1-3]`
2018-03-19 08:19:48 +01:00
deacb3d6b8
Cleanup: add 2d suffix to BLI files
...
Some of these API's can have 3D versions, explicitly name them 2D.
2018-02-18 21:27:33 +11:00
959a58da9e
Cleanup: redundant casts
2017-10-20 14:03:22 +11:00
691ed21842
PyAPI: replace PyC_FromArray with typed functions
...
This was meant to be generic but introduced possible type errors
and unnecessary complication.
Replace with typed PyC_Tuple_PackArray_* functions.
Also add PyC_Tuple_Pack_* macro which replaces some uses of
Py_BuildValue, with the advantage of not having to parse a string.
2017-08-22 18:10:57 +10:00
a1d7f67d81
cleanup: spelling / typos
...
no functional changes
2016-01-28 00:30:50 -05:00
4f8b7f4420
Docs: quiet warnings in reference doc syntax
2016-01-25 20:26:39 +11:00
e1b67c9bc0
Fix T46002: mathutils.geometry.intersect_line_line_2d doesn't operate on lines, but on line segments.
...
Ugly issue really, but at least doc now matches behavior of the function. :|
2015-10-13 09:59:42 +02:00
1d71ad2eaa
Math Lib: Use plane intersect from graphics-gems
2015-09-04 22:13:20 +10:00
58c9a0b11a
Cleanup: spelling
2015-08-22 21:17:32 +10:00
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
dbee634572
Fix typos.
2015-05-04 01:53:34 +09:00
12a38abac6
Fix T43473: mathtutils.geometry.interpolate_bezier returns only 2d coordinates
...
Fixed/enhanced a few usages of `mathutils_array_parse()` in this file actually...
2015-01-29 18:11:13 +01:00
90b5697459
Fix mathutils.barycentric_transform()
...
Dummy typo, we need a 3D vector here...
2015-01-18 18:41:47 +01:00
1829c049be
Correct args from recent mathutils refactor
2015-01-06 19:09:55 +11:00
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
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
e0db0f84ac
Fix T43119: mathutils.intersect_point_line always returns a 2D vector as first value.
...
Trivial, safe for final 2.73.
2015-01-04 10:11:21 +01:00
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
4abe548527
cleanup: style
2015-01-02 19:29:00 +11:00
cefb764269
PyAPI: geometry.normal, support polygons
...
Previously this only supported tri/quads,
now arbitrary size poly lines are supported.
2014-12-30 22:49:52 +11:00
68600920ce
PyAPI: allow non-vector args for geometry module
...
Previously only vector args were accepted,
now allow generic sequence of numbers.
Was annoying to create vectors just to pass in args.
2014-12-30 22:05:34 +11:00
27b58f0eb2
Fix mathutils docstring typos.
2014-12-19 00:43:41 +09:00
a550d913bc
Fix Python ray-cast failing to check hit direction
2014-10-08 09:47:41 +02:00
ff42afb6c5
Math Lib: rename barycentric_transform -> transform_point_by_tri_v3
...
also add transform_point_by_seg_v3
2014-08-13 14:55:45 +10:00
3529913629
Math Lib: name signed versions of dist_to_plane_v3 explicitly
...
also add unsigned versions
2014-08-13 14:34:58 +10:00
a7d8f602a6
Py/API: Improve intersect_line_line with parallel lines
...
Now comparing the distance between line-intersection points
to see how close lines are - doesn't fail in the parallel case.
2014-07-21 23:22:10 +10:00