Commit Graph

1773 Commits

Author SHA1 Message Date
Bastien Montagne
c7f8af329b BMESH_TODO: randomize vertices working again.
That whole "element re-arrange" area could use some love, though (e.g. make a single vert operator with more options, as faces; and make faces work in edit mode, probably no more reasons to switch to object mode?). Post-release TODO, anyway.

Also spotted a glitch in BLI_rand code, imho, which makes first element of an array not guarantied to be shuffled by BLI_array_randomize()... No correction though, as this might/would affect other parts of the code!
2012-04-19 18:53:32 +00:00
Campbell Barton
d7542be6ac code cleanup: more minor changes to scanfill 2012-04-18 14:36:56 +00:00
Campbell Barton
abcaec0edc code cleanup: replace magic numbers in scanfill with defines, also use some vector functions where possible 2012-04-18 14:30:57 +00:00
Campbell Barton
ca913254aa fix for eternal loop in scanfill,
The cause for this is bmesh faces which have zero area have their normals set to a fake value (Z-Up), this would break scanfill, possible fixes are to calculate the faces normal each time or tag as invalid but its easiest to avoid the eternal loop with an extra test.
2012-04-18 14:06:59 +00:00
Campbell Barton
6389301eb5 fix for own error in recent scanfill updates, scanfill can hang if run on a polygon with no area. 2012-04-18 05:52:18 +00:00
Campbell Barton
195d6c1b1a minor speedup for scanfill, dont calculate the normal if its already known - use for editmode ngon filling. 2012-04-16 18:24:49 +00:00
Campbell Barton
67f8e3a3a7 inline function for "Newell's Method" used for normal calc. 2012-04-16 16:49:37 +00:00
Campbell Barton
e889fa4678 improve scanfill for uneven ngons, previously scanfill would use the most angular corner, but this made non planer ngons rip frequently (often reported problem).
now calculate the normal as with ngons.
2012-04-16 16:24:55 +00:00
Campbell Barton
0f7ab89b4e fix for fail thumbs being used when the failed thumbnail image is older then the image/movie/blend. 2012-04-16 15:13:21 +00:00
Campbell Barton
0635f8101c make scanfill threadsafe (wasnt threadsafe before BMesh merge but before the merge it didn't need to be) - now rendering uses its better if its threadsafe. 2012-04-16 06:48:57 +00:00
Campbell Barton
fb1e60762f style cleanup: scanfill, spelling and use NULL rather then 0 2012-04-16 05:23:40 +00:00
Campbell Barton
79693e4543 code cleanup: avoid confusion with incorrectly named argument to BLI_edgefill(), was 'mat_nr', now 'do_quad_tri_speedup' 2012-04-16 05:03:04 +00:00
Campbell Barton
a73d0d3e72 code cleanup: dont include BLI_winstuff.h on non windows systems, also cleanup some defines/includes for windows. 2012-04-15 07:54:07 +00:00
Campbell Barton
f8b7cfb6ae code cleanup: quiet some mingw warnings. 2012-04-12 02:50:21 +00:00
Campbell Barton
cc1259178b code cleanup: utfconv library had some quite confusing formatting, also cleared som warnings. 2012-04-12 02:15:33 +00:00
Campbell Barton
5aaf3ede76 code cleanup: remove unused var for windows and style edit (remove spaces between 'var[num]') 2012-04-12 00:15:02 +00:00
Campbell Barton
b4a0152e76 code cleanup: float formatting was confusing in some cases - eg: (0.,0.,0.) 2012-04-11 08:15:13 +00:00
Campbell Barton
9ae0523921 fix [#30897] UVEditor: Snap Cursor to Selected
was writing the 3rd component of a 2D vector.
2012-04-11 07:47:09 +00:00
Campbell Barton
1f3e453509 fix [#30848] Edge Selection fails when the following Conditions met:
summery: when both verts are outside the viewport

this is in fact a very old annoyance but good to resolve.
fix by doing segment/rectangle intersection between the edge and the viewport so it works when the both verts are outside the view.
2012-04-10 07:30:08 +00:00
Jason Wilkins
dabcdc1532 Warning Fixes - const correctness in unicode encoding, unused variables in blenlib, and some type conversions
This is from a patch that is in the tracker, but it leaves out a fix of BLI_gzopen which needs more work.
2012-04-09 01:16:19 +00:00
Campbell Barton
8fa17c5362 code cleanup: no functional changes
- memset(..., -1) is used incorrectly even though it worked: MOD_solidify.c - thanks Halley from IRC for noticing this. use fill_vn_i() instead.
- quiet warnings in editmesh_slide.c
- cleanup comments in bmesh and some other minor comment additions.
2012-04-07 12:37:15 +00:00
Alexander Kuznetsov
628b183d98 Temporary gzopen fix for for Windows
If we open file for write, we create a new file and close it. Therefore we have existing path for GetShortPathName.

Strangely zlib fails on gzclose if file descriptors are used.
2012-04-06 21:11:10 +00:00
Campbell Barton
d2d2b8c2f2 code cleanup: replace inline axis angle conversion with axis_angle_to_mat3() 2012-04-02 06:43:16 +00:00
Sergey Sharybin
26b0255049 Fix for is_orthogonal check which in fact was checking for orthonormal matrix.
Separated it into two functions so now it'll be clear if check happens for
orthonormal or just orthogonal.
2012-04-01 00:14:41 +00:00
Campbell Barton
f3792b0f2b code cleanup: use uppercase for defines and dont end macro's with ; 2012-03-31 03:36:15 +00:00
Campbell Barton
5b88712ff9 move debug flag into its own global var (G.debug), split up debug options.
--debug
  --debug-ffmpeg
  --debug-python
  --debug-events
  --debug-wm

This makes debug output easier to read - event debug prints would flood output too much before.

For convenience:
  --debug-all turns all debug flags on (works as --debug did before).

also removed some redundant whitespace in debug prints and prefix some prints with __func__ to give some context.
2012-03-31 00:59:17 +00:00
Campbell Barton
711d7539e0 style cleanup: for creator.c & more useful assert message (file:line) 2012-03-28 05:09:50 +00:00
Campbell Barton
94b8b8913e rename lattice influence to strength from r45144 (other deform modifiers call it strength too) 2012-03-26 00:42:21 +00:00
Antony Riakiotakis
eb10402365 Fix #30638 and part of #30646.
Problem was that area calculation of polygons was done relative to the xy plane, and with a very obscure (to me at least) algorithm. That meant that vertical ngons would get 0 area. 

Commented initial code in case this is a strange optimization case that someone wants to use and used a cleaner algorithm: first project vertices to the ngon plane, defined by the normal of the ngon and the center (mean) of the ngon vertices. This will only be exact for convex and mostly planar ngons, still it is much better than the previous code.

Also fixed memory leak when stretch display was on.
2012-03-25 19:02:28 +00:00
Campbell Barton
3f56ee3da7 style cleanup: issues missed last commit 2012-03-25 15:56:17 +00:00
Campbell Barton
53d32a0bd2 style cleanup: conform to style guide - mostly operator whitespace changes 2012-03-25 12:41:58 +00:00
Campbell Barton
b8a71efeba style cleanup: follow style guide for/with/if spacing 2012-03-24 07:52:14 +00:00
Campbell Barton
81d8f17843 style cleanup: pep8, indentation 2012-03-24 07:36:32 +00:00
Campbell Barton
69e6894b15 style cleanup: follow style guide for formatting of if/for/while loops, and else if's 2012-03-24 06:18:31 +00:00
Campbell Barton
3c11379e26 code cleanup: move bmesh inline funcs to headers (avoids compiling the C files). 2012-03-24 01:24:58 +00:00
Campbell Barton
b6c2f9ddab style cleanup: enforce macros using a semicolon. 2012-03-22 01:35:13 +00:00
Brecht Van Lommel
577bef62eb Fix #30543: tessellating ngons with small angles was failing. There was a quite
arbitrary limit of pi/24 for picking 3 vertices to use for computing a normal,
now it uses vertices with the maximum angle between them.
2012-03-20 19:32:31 +00:00
Campbell Barton
db13daff24 replace SETCOL defines with inline function: rgba_char_args_set 2012-03-20 09:45:17 +00:00
Campbell Barton
9dd0c4c232 rename define BM_INLINE -> BLI_INLINE to avoid confusion with bmesh defines. 2012-03-20 08:42:26 +00:00
Campbell Barton
bfcd1afe9c compile fix: linux BLI_gzopen declare was conflicting. 2012-03-20 03:48:32 +00:00
Alexander Kuznetsov
f11a6d3a84 Adds support for utf paths on Windows.
Not all file formats/calls are supported yet. It will be expended.

Please from now on use BLI_fopen, BLI_* for file manipulations.
For non-windows systems BLI_fopen just calls fopen.
For Windows, the utf-8 string is translated to utf-16 string in order to call UTF version of the function.
2012-03-20 02:17:37 +00:00
Sergey Sharybin
82979d5ab5 Fix #30590: Crash in multires when undoing extrude [File incl.]
- Crash was caused by recursively copying directory into itself, fixed
  by switching from opendir() to scandir().
- Also do not try to unpack images which doesn't have name.
2012-03-19 20:47:17 +00:00
Campbell Barton
4fa92f1e5f fix for error reported on IRC, sorting zero sized lists would cause a crash. 2012-03-19 19:27:39 +00:00
Campbell Barton
4f19c1a995 spelling cleanup 2012-03-18 07:38:51 +00:00
Sergey Sharybin
f1da62d31f Switch *nix fileops from calling external commands via system() to posix api calls
which resolves some possible issues with operating files with quotes and backslashes.

Also this might resolve (or at least help) resolving compilation error on GNU Hurd platform
which will help a lot maintaining Blender for Debian.
2012-03-14 09:39:43 +00:00
Nicholas Bishop
68b8f3b0a8 Skip hidden elements in PBVH iterator, raycast, and drawing. 2012-03-14 06:32:25 +00:00
Nicholas Bishop
521e724edd Skip hidden elements in PBVH iterator, raycast, and drawing. 2012-03-14 06:32:03 +00:00
Campbell Barton
ee9a00948b mathutils py api:
Vector.angle_signed(other)
  for 2D vectors to get the clockwise angle between them.

  in BLI math its called - angle_signed_v2v2()

shorthand for...

  atan2f((v1[1] * v2[0]) - (v1[0] * v2[1]), dot_v2v2(v1, v2))

also corrects compile error in last commit.
2012-03-14 06:14:15 +00:00
Campbell Barton
a97825dfd7 stule cleanup for rct.c and fix for error in last commit. 2012-03-13 01:55:25 +00:00
Campbell Barton
8646bb4464 workaround [#30480] Knife tool flicker
the problem was numeric precision when in ortho mode the start/end points for the view vector would be 2000 apart which caused trouble for the intersection test.
2012-03-13 01:11:08 +00:00