Commit Graph

3120 Commits

Author SHA1 Message Date
Campbell Barton 2022567116 patch [#34103] path_util_split_name_num.patch
from Lawrence D'Oliveiro (ldo)

Simplify implementation of BLI_split_name_num

- With some changes of my own to avoid second call to strlen()
2013-03-10 05:11:18 +00:00
Campbell Barton 14bbde0441 patch [#34103] path_util_cleanup_path.patch
from Lawrence D'Oliveiro

Improve implementation of BLI_cleanup_path, including making it behave as documented.

"/../home/me" would become "home/me" rather then "/home/me"

Also remove redundant BLI_strncpy()
2013-03-10 04:43:15 +00:00
Campbell Barton 2433404e4b add inline function mul_project_m4_v3_zfac() to get the z-depth value from a vector & mat4x4 2013-03-09 15:39:24 +00:00
Campbell Barton 7961147a59 code cleanup: was using var named 'in' for output. 2013-03-09 11:55:12 +00:00
Campbell Barton abd1748e48 code cleanup: move runtime var zfac out of RegionView3D. rename initgrabz() -> ED_view3d_calc_zfac() and have it return the zfac to use. 2013-03-09 11:40:42 +00:00
Campbell Barton 35b9fcb871 comment unused BLI_move() function, also fixed error where it would delete the file even if renaming failed.
- found when testing recursive_operation().
2013-03-09 09:52:38 +00:00
Campbell Barton edf4855a38 patch [#34103] fileops_recursive_operation.patch
from Lawrence D'Oliveiro (ldo)

Fix potential memory leaks in recursive_operation while simplifying cleanup logic.
2013-03-09 09:38:27 +00:00
Campbell Barton 4b5c8da9ac remove unneeded string formatting for bli_adddirstrings(), noted by Lawrence D'Oliveiro. 2013-03-09 06:26:46 +00:00
Campbell Barton 221a383366 use 'bool' for BLI_/BKE_ functions. 2013-03-09 05:35:49 +00:00
Campbell Barton ddddb7bab1 code cleanup: favor braces when blocks have mixed brace use. 2013-03-09 03:46:30 +00:00
Sergej Reich 8db7a34167 math: Use len_v3() instead of normalize_v3() for area calculation
We only need the length, avoids unnecessary calculations.
2013-03-07 19:16:02 +00:00
Campbell Barton e93068ad78 ruler arc draw clamps to line length and simplify projection. 2013-03-07 16:12:36 +00:00
Antonis Ryakiotakis 53b7bc8f1f Change !BLI_ghashIterator_isDone to BLI_ghashIterator_notDone. It is
always used in that context so we can at least avoid reverting it twice
:p.
2013-03-06 20:55:04 +00:00
Campbell Barton f2bb536994 code cleanup: also change BKE_blender.h BLENDER_VERSION_CHAR to 'a' so as not to confuse things. 2013-03-05 14:47:49 +00:00
Campbell Barton dc4be68cb9 fix for building with msvc 2013-03-05 07:39:52 +00:00
Campbell Barton 02caa05764 code cleanup: remove unused argument from bli_builddir 2013-03-05 07:36:30 +00:00
Campbell Barton 47c47ef7a2 fix for building with mingw in since recent changes. 2013-03-05 07:02:59 +00:00
Campbell Barton fcc807f294 code cleanup: remove unused member of direntry struct, also add include for building on osx. 2013-03-05 06:38:43 +00:00
Campbell Barton 384948908a patch [#34103] path_util_split_dirstring.patch, path_util_split_dirstring_2.patch, path_util_split_dirstring_3.patch
from Lawrence D'Oliveiro (ldo)

Get rid of BLI_splitdirstring, replace with calls to BLI_split_dirfile, BLI_split_dir_part and BLI_split_file_part as appropriate.
2013-03-05 06:26:10 +00:00
Campbell Barton 34233e7fd6 patch [#34103] path_util_cleanups.patch
from Lawrence D'Oliveiro (ldo)

- Better argument name for BLI_cleanup_path and BLI_cleanup_file
- remove redundant BLI_add_slash already done by BLI_cleanup_dir
2013-03-05 04:35:14 +00:00
Campbell Barton 65d6cecd68 patch [#34103] storage_bli_dir_contents.patch
from Lawrence D'Oliveiro (ldo) 

BLI_dir_contents no longer changes current working directory.
2013-03-05 04:24:53 +00:00
Campbell Barton 2fc10e3303 patch [#34103] storage_bli_file_size.patch
from Lawrence D'Oliveiro (ldo)

more efficient implementation of BLI_file_size that doesn't open the file.
2013-03-05 04:11:55 +00:00
Campbell Barton b8315afeed patch [#34103] fileops_file_is_writable.patch, fileops_file_is_writable_2.patch
from Lawrence D'Oliveiro (ldo)

More efficient implementation of BLI_file_is_writable using access(2) instead of actually opening file.
2013-03-05 03:59:38 +00:00
Campbell Barton e39f05e5fa patch [#34103] fileops_1.patch
from Lawrence D'Oliveiro (ldo) 

Add comments and use of bool type in fileops.c
2013-03-05 03:53:22 +00:00
Campbell Barton 1a9cde8b99 patch [#34103] dir_contents.patch
from Lawrence D'Oliveiro (ldo)

- storage.c: Simplify BLI_dir_contents and make it and its internal subsidiary routines reentrant
- Moved common code for disposal of a struct direntry to new routine BLI_free_filelist in storage.c, and put calls to it in interface_icons.c and filelist.c
- Took out inclusion of BLI_fileops_types.h from BLI_fileops.h and put it explicitly into .c files that need it (which turned out to be only 7 of the 35 files that were including the former)
2013-03-05 03:44:47 +00:00
Campbell Barton f44b54d2a7 patch [#34103]
from Lawrence D'Oliveiro (ldo)

More use of bool type, necessitating adding inclusion of BLI_utildefines.h, or moving it up in the inclusion order if it was already included, in various places
- storage.c: make some variables only used in bli_builddir local to that
- storage.c: BLI_file_descriptor_size should allow 0 as a valid file descriptor
- path_util.c: make pointers to non-reentrant storage returned from folder routines const, necessitating making variables holding these returned pointers const elsewhere as well
- path_util.c: BLI_string_to_utf8 closes iconv context in case of conversion error
-  blf_lang.c: fill_locales routine now has its own "languages" local variable to construct paths (was stealing internal storage belonging to BLI_get_folder before)
2013-03-05 03:17:46 +00:00
Campbell Barton 0d5b028d43 patch [#34103] use boolean in path functions and add comments.
path_util_1.patch from Lawrence D'Oliveiro (ldo)
2013-03-04 19:27:51 +00:00
Campbell Barton 013a176c52 patch [#34103] use booleans for extensions testing.
bli_testextensie.patch - from Lawrence D'Oliveiro (ldo)
2013-03-04 18:36:37 +00:00
Campbell Barton 24da4a6032 fix [#34490] Copy and paste floating point number fields losses precision
- copy now gets up to 6 decimal places
- copy and UI float button editing now strip zeros: 1.000 -> 1.0
2013-03-04 04:21:51 +00:00
Campbell Barton 79e80d8322 code cleanup: ~400 duplicate lines for AO form factor math. 2013-03-03 05:07:58 +00:00
Campbell Barton c6642b8ec8 enable triangulation with collada, disable BLI_STATIC_ASSERT for C++. 2013-03-03 01:24:09 +00:00
Brecht Van Lommel 4f3ca854e1 Fix various warnings with clang build, and adjust cmake clang warnings flags
to include a few more that gcc is using too.
2013-02-26 21:58:06 +00:00
Campbell Barton 4df5b943ed patch [#34103] - listbase.patch, insertlinkbefore.patch
from Lawrence D'Oliveiro (ldo) 


notes from tracker:
use bool for return type from BLI_remlink_safe, necessitating including BLI_utildefines.h in BLI_listbase.h
get rid of duplicate BLI_insertlink, use BLI_insertlinkafter instead.

A few places which were using BLI_insertlinkafter (actually BLI_insertlink), when it would be simpler to use BLI_insertlinkbefore instead.
2013-02-22 14:12:55 +00:00
Campbell Barton 091d86b9cb style cleanup: 'sizeof foo' --> 'sizeof(foo)', add check in style checking script. 2013-02-21 17:18:27 +00:00
Campbell Barton 25fe5c20aa code cleanup: rename ScanFillVert.h --> edge_tot, SF_VERT_UNKNOWN --> SF_VERT_AVAILABLE 2013-02-21 17:15:55 +00:00
Campbell Barton 91a63e347d set unicode conversion errors as UNLIKELY 2013-02-19 15:58:38 +00:00
Campbell Barton cd3b98c4fa step over unicode characters with autocomplete (correctly this time). 2013-02-19 15:56:49 +00:00
Campbell Barton 917252175d internal: increase error threshold for normalize assert since normals converted from shorts are not always exactly unit length. 2013-02-19 14:14:37 +00:00
Campbell Barton f784856906 make asserts that check for unit length vectors into a macro.
this was really not nice logic to try to fit into an assert.
2013-02-19 13:15:34 +00:00
Campbell Barton c68d5325d0 fix for [#34283] wasn't working in my tests (attached to original report),
made bone roll get compatible angle values with the original roll.
2013-02-19 04:37:28 +00:00
Campbell Barton d45612aa41 fix [#34279] Python console: Selected region is not highlighted when using white background color 2013-02-18 02:36:36 +00:00
Ton Roosendaal 029686a2fd Bug fix #34281
The RNA path interpretor code was using a function to get the portion between quotes,
this function was not even checking if there *are* quotes at all! Causing bad
memory allocs or crashes.
2013-02-17 18:46:50 +00:00
Campbell Barton 34805a4752 BLI_mempool totalloc was being used un-initialized, normally this would cause bugs but turns out its not used,
ifdef'd it out but keep in the struct in BLI_mempool for now.
2013-02-17 05:16:48 +00:00
Campbell Barton 7fa256815f skip fix from r54579 when holes aren't used (keeps bmesh ngon filling fast) 2013-02-15 12:57:11 +00:00
Ton Roosendaal 964c35771c Bug fix #34177
Blender's triangulator has been rescued :)
This commit fixes errors with concave holes inside polygons.

Simple explanation:

Blender "ScanFill" works by sorting vertices from top-left to bottom-right, and connecting
these vertices with a sorted list of edges they have.

The inner loop then goes over every vertex, its edges, and tries to make triangles by
checking vertices that are next in the list.
- if the triangle has points inside: it creates an edge to this vertex, and continues
- else: add new triangle.

Very simple, fast and efficient. But it needed one more check for the first step: it should
check every vertex inside the triangle, and pick the best vertex for an edge based on forming 
the sharpest angle with the tested edge. That solves the case for concave holes.

Blender ScanFill was coded 20 years ago, and is an own invention. I wanted a triangulator that
just fills any collection of polygons, including with holes.
No idea if this was ever published in a paper!
2013-02-15 12:26:47 +00:00
Campbell Barton f46ca7836d add debug check for mempool double free (or misuse of BLI_MEMPOOL_ALLOW_ITER),
some reports in the tracker show errors on bmesh iteration which could be caused by this.
2013-02-15 04:14:53 +00:00
Campbell Barton c6b3e0f8e4 style cleanup 2013-02-14 23:49:30 +00:00
Sergej Reich 10305de3ac Fix "Origin to Center of Mass" not working well with ngons
Now we do simple triangulation and calculate signed area of triangles to
account for concave polygons.

This only works correct for planar polygons but gives better results
overall.
2013-02-14 17:35:46 +00:00
Sergej Reich e3944f5bfa Divide by 3 instead of multiplying by variations of 0.333
Fixes small precision problems.
2013-02-14 17:35:43 +00:00
Campbell Barton 3cf0c93be1 modify own changes to is_quad_convex_v3() to allow quads with a co-linear side to be considered convex (as it did in last release).
this is needed so zero area faces be dealt with by beauty fill.
2013-02-14 09:17:50 +00:00