Sergey Sharybin [Tue, 31 Jan 2012 11:11:56 +0000 (11:11 +0000)]
Cache limiter will now work properly with limits >= 4Gb
Campbell Barton [Tue, 31 Jan 2012 05:02:24 +0000 (05:02 +0000)]
apply back changes made since moving this file.
Campbell Barton [Tue, 31 Jan 2012 04:59:57 +0000 (04:59 +0000)]
svn cp \
https://svn.blender.org/svnroot/bf-blender/trunk/blender/source/blender/python/generic/noise_py_api.c@r42248 \
https://svn.blender.org/svnroot/bf-blender/trunk/blender/source/blender/python/mathutils/mathutils_noise.c
Campbell Barton [Tue, 31 Jan 2012 04:58:06 +0000 (04:58 +0000)]
previous move lost history on this file, restoring next commit.
Nathan Vegdahl [Tue, 31 Jan 2012 04:23:49 +0000 (04:23 +0000)]
Action constraint transform channel was listing X Scale as Z Scale,
resulting in two Z Scale listings in the menu. Fixed.
Campbell Barton [Tue, 31 Jan 2012 03:54:51 +0000 (03:54 +0000)]
fix [#30025] Blender crash when using python to load a blend file and import an obj file
Sergey Sharybin [Mon, 30 Jan 2012 20:44:08 +0000 (20:44 +0000)]
Fix #30031: Build modifier crashes when applied to bezier object
Just missed check for modifier type.
Bastien Montagne [Mon, 30 Jan 2012 20:41:36 +0000 (20:41 +0000)]
Fixing a typo in Clip ui...
Sergey Sharybin [Mon, 30 Jan 2012 19:55:30 +0000 (19:55 +0000)]
Fix #30030: Tapered and beveled text won't update in realtime
Was missed dependency in depsgraph.
Brecht Van Lommel [Mon, 30 Jan 2012 19:47:30 +0000 (19:47 +0000)]
Fix #30026: errors rendering material with ambient 0 and AO/env/indirect light.
It would skip rendering the latter if ambient was 0, however this is not actually
used in adding the contribution from these.
Sergey Sharybin [Mon, 30 Jan 2012 19:46:15 +0000 (19:46 +0000)]
Fix #30019: Copy rotation from a vertex group
It was incorrect behavior of contarget_get_mesh_mat in cases when
object's Y axis is co-linear to average vertex group normal.
Use object's X axis for plane definition in such cases.
Brecht Van Lommel [Mon, 30 Jan 2012 18:34:01 +0000 (18:34 +0000)]
Fix #30009: cycles translucent BSDF + environment importance sampling not
working correct.
Brecht Van Lommel [Mon, 30 Jan 2012 15:33:28 +0000 (15:33 +0000)]
Fix #30016: cycles crash with compute device set to GPU but not GPU device
available.
Brecht Van Lommel [Mon, 30 Jan 2012 15:12:51 +0000 (15:12 +0000)]
Fix #28733, #29885: fix missing scene in context in python. The window manager
would indirectly clear it when clearing the window from the context. This makes
some sense when we support multiple scenes properly, but currently there's still
many places assuming there is a single active scene, so keep it available to
avoid crashes.
Brecht Van Lommel [Mon, 30 Jan 2012 14:28:45 +0000 (14:28 +0000)]
Fix wrong uv editor Border Select Pinned name in menu.
Campbell Barton [Mon, 30 Jan 2012 10:04:27 +0000 (10:04 +0000)]
file selector - entering and empty path on *nix would ask to create a new dir.
Campbell Barton [Mon, 30 Jan 2012 09:49:30 +0000 (09:49 +0000)]
display keyblock mute in the shape key list.
Realize this is bcon3 but this is was very bad IMHO.
- button adjusting key block was in between 2 object settings - which is misleading/confusing.
- you needed to click through all shapes to check which was muted, currently you's assume 1.0 means the shape is enabled.
Sergey Sharybin [Mon, 30 Jan 2012 09:19:38 +0000 (09:19 +0000)]
Fix #29976: Carve Boolenas crasher with Solidify
Issue was caused by union policy needed to deal with cases when operand intersects
two or more intersecting meshes of another operand.
Changed this policy to run union operation only if there's actual intersection
between two meshes of the same object. Should work in general but it's still
possible to make it behave incorrect -- for example object consist of two groups
if concentric cubes which intersects each other.
Sergey Sharybin [Mon, 30 Jan 2012 09:10:58 +0000 (09:10 +0000)]
Fix #30021: Crash happens when rotating markers
Sergey Sharybin [Mon, 30 Jan 2012 09:05:26 +0000 (09:05 +0000)]
Fix #30020: Movie Clip Editor Crashed with panel size changed
Lukas Toenne [Mon, 30 Jan 2012 09:00:54 +0000 (09:00 +0000)]
Removed check for active node in edited node group to allow node group editing toggle. This enables closing an empty node group again (after removing all nodes or when empty group is added via menu). Fix for bug #30018.
Lukas Toenne [Mon, 30 Jan 2012 08:48:11 +0000 (08:48 +0000)]
Make Image and Alpha outputs in render layer node 'unavailable' when the Combined pass is not active in the render layer. Fix for bug #29999.
The internal code for render layers node is unchanged, since the buffer is created anyway. Also noticed that, while unavailable sockets and links to/from them are not displayed, they are still used in execution, which could lead to unexpected results. But that's a more general problem with the way (pseudo-)dynamic sockets are simply flagged with SOCK_UNAVAIL.
Sergey Sharybin [Mon, 30 Jan 2012 08:45:12 +0000 (08:45 +0000)]
Fix #29993: Boolean modifier crashes Blender
Crash was caused by error in Carve triangulator. Fixed by upgrading Carve library.
Dalai Felinto [Mon, 30 Jan 2012 06:47:01 +0000 (06:47 +0000)]
pydoc cleanup + remove unused bge.logic constants
+ adding PINGPONG as action actuator constant in rst
Campbell Barton [Sun, 29 Jan 2012 21:28:04 +0000 (21:28 +0000)]
fix [#30017] Make Dupli-Face needs active mesh object
Sergey Sharybin [Sun, 29 Jan 2012 16:55:57 +0000 (16:55 +0000)]
Fixed for cloth modifier when it's applied after deformation modifier.
Thomas Dinges [Sun, 29 Jan 2012 10:21:28 +0000 (10:21 +0000)]
Fix for [#30015] Keyframed Resolution Unpredictable
* Disabled possibility to keyframe render resolution, percentage and border render properties. Animating them does not makes much sense. Discussed with Sergey in IRC.
Thomas Dinges [Sat, 28 Jan 2012 13:53:17 +0000 (13:53 +0000)]
Release cycle:
* Moving on to BCon3: Beta.
Sergey Sharybin [Sat, 28 Jan 2012 08:45:51 +0000 (08:45 +0000)]
Fixed typo in a tooltip
Miika Hamalainen [Fri, 27 Jan 2012 17:44:56 +0000 (17:44 +0000)]
Dynamic Paint:
* Fix: Brush didn't paint particles that were hidden by the display percentage setting.
Sergey Sharybin [Fri, 27 Jan 2012 14:17:59 +0000 (14:17 +0000)]
Always assume isFinalCals is truth when applying constructive modifiers on curves
for viewport display.
It saves plenty of memory when using subsurf modifier which result is getting
converted from CCGDM to CDDM without any benefit. It also syncs behavior of
modifiers with mesh.
Need to keep an eye on constructive modifiers when in edit mode.
Discovered this when was looking into #29973.
Brecht Van Lommel [Fri, 27 Jan 2012 13:58:32 +0000 (13:58 +0000)]
Cycles: another fix for CUDA render passes, needed to align float4 passes.
Sergey Sharybin [Fri, 27 Jan 2012 08:17:53 +0000 (08:17 +0000)]
Fixed some possible issues and access non-initialized variable in Carve BOP interface.
Discovered when was investigating some crashes caused by Carve's triangulator.
Nicholas Bishop [Fri, 27 Jan 2012 08:15:30 +0000 (08:15 +0000)]
Minor fix for CD_TYPE_AS_MASK macro: shift operator uses the left
operand's type for the result, so cast 1 to CustomDataMask.
Sergey Sharybin [Fri, 27 Jan 2012 08:04:03 +0000 (08:04 +0000)]
Fix #30000: Boolean modifier messing up multi material
Issue was caused by resetting face's mat_nr to zero if there's no material
map sent to ConvertCSGDescriptorsToDerivedMesh. In case of boolean modifier
we can't use such map because we can't affect on materials present in object.
So the only way which can give reasonable result is:
- Dot change mat_nr for faces from left operand (they should be fine, because
materials aren't deleting by modifier)
- For faces from right operand check if needed material exists in left operand
and if so, use it's index as new mat_nr.
- If there are materials in right operand which doesn't exist in left operand,
they'll be changed to first material from left operand.
Nathan Letwory [Fri, 27 Jan 2012 07:35:57 +0000 (07:35 +0000)]
Fix [#29884] Splash screen only displays "r43"
Based on patch by perfection cat
Removed the unnecessary char * juggling.
Joshua Leung [Fri, 27 Jan 2012 01:30:58 +0000 (01:30 +0000)]
Action Constraint GUI - Refinements and Clarification
While looking at a bug report, I found that the current GUI for the Action
Constraint actually didn't make sense, mixing up settings so that it wasn't
clear which settings corresponded to which others. This commit cleans up the
layout into a clearer two-column design to have a "from" -> "to" layout, making
all the
relationships between things clear.
For more details see http://aligorith.blogspot.com/2012/01/action-constraint-
gui-revised.html
Brecht Van Lommel [Thu, 26 Jan 2012 19:45:59 +0000 (19:45 +0000)]
Cycles: disable environment importance sampling code for CUDA cards with
compute model < 2.x, to avoid running out of memory in the compiler.
Brecht Van Lommel [Thu, 26 Jan 2012 19:07:01 +0000 (19:07 +0000)]
Cycles: render passes for CUDA cards with compute model >= 2.x.
Sv. Lockal [Thu, 26 Jan 2012 17:11:43 +0000 (17:11 +0000)]
Fix orthogonality check for mat3 and mat4
Sergey Sharybin [Thu, 26 Jan 2012 17:03:30 +0000 (17:03 +0000)]
Fix #29957: Texture "Generate" mapping work as global with cloth modifier
Make Cloth modifier deformation only so now it applies on orco dm properly.
Brecht Van Lommel [Thu, 26 Jan 2012 15:37:33 +0000 (15:37 +0000)]
Cycles: fixes for OpenCL build after pass changes, patch by Daniel Genrich.
Sergey Sharybin [Thu, 26 Jan 2012 15:33:16 +0000 (15:33 +0000)]
Color channels used for tracking is now a part of default tracking settings and also a part of presets.
Sergey Sharybin [Thu, 26 Jan 2012 15:04:25 +0000 (15:04 +0000)]
Movie clip editor: default tracking settings can be copied from active track now
Brecht Van Lommel [Thu, 26 Jan 2012 14:55:46 +0000 (14:55 +0000)]
Fix #29960: fields option should not be used for external engine rendering.
Brecht Van Lommel [Thu, 26 Jan 2012 14:55:39 +0000 (14:55 +0000)]
Fix #29966: cycles elapsed time not resetting in viewport after changes.
Brecht Van Lommel [Thu, 26 Jan 2012 14:55:25 +0000 (14:55 +0000)]
Cycles: fix issues rendering second render layer passes, and avoid unnecessary
clear of buffer.
Sergey Sharybin [Thu, 26 Jan 2012 13:13:48 +0000 (13:13 +0000)]
Movie clip editor: curves view shouldn't jump back to top when click on it
Also it should now re-store position after toggling it.
Sergey Sharybin [Thu, 26 Jan 2012 12:48:36 +0000 (12:48 +0000)]
Fix #29958: Search Menu keeps hiding first character(s) after long input
- ui_check_but() in ui_textedit_move() is necessary because this function clips
but->drawstring to fit text entry widget and it confuses cursor movement stuff.
ui_check_but copies editstring to drawstring, so displaystring would be clipped
again in correct way.
- If the whole drawstring fits widget, no need to set button's offset.
Sergey Sharybin [Thu, 26 Jan 2012 12:44:31 +0000 (12:44 +0000)]
Fix #29895 Fast Alt-Mousewheel toggling of Mapping Modes scrubs timeline
Issue was caused by changing button state to EXIT, so there's no active button just after
applying Alt-Wheel event. Setting this state is needed to prevent button trigger cancel
callback when mouse is leaving hovered menu button.
Using the same "post activate" trick used by Tab button allows to make prevent canceling
button and makes this button active again after applying all handlers.
There's still issues with Alt-Scroll if changing active element in menu leads to interface
changes (like file format in render buttons) -- in this case button simple doesn't receive
wheel events and it's actually not connected to this issue.
Sergey Sharybin [Thu, 26 Jan 2012 11:49:38 +0000 (11:49 +0000)]
More curves view improvements for clip editor:
- Renamed graph_jump_to_current_frame to graph_center_current_frame
which makes more sense.
- Curve view now can be locked to time cursor (Lock to Time Cursor in
Display panel or L button in curve view). Not sure if offset from
locked position will make much sense here.
- Added hotkey for solving -- Shift-S.
Sergey Sharybin [Thu, 26 Jan 2012 11:16:49 +0000 (11:16 +0000)]
Possible fix for implicit declaration of av_rescale_q on some platforms.
Sergey Sharybin [Thu, 26 Jan 2012 10:59:31 +0000 (10:59 +0000)]
Fix implicit declaration of guardedalloc functions in avi's endian.c.
Discovered by debian building system.
Sergey Sharybin [Thu, 26 Jan 2012 10:36:36 +0000 (10:36 +0000)]
Fix build on debian ports that differs from generic i386/x86_64 like kFreeBSD
Patch by Kevin Roy, thanks!
Sergey Sharybin [Thu, 26 Jan 2012 09:53:58 +0000 (09:53 +0000)]
Movie clip editor: graph view now can be toggled using Z key
Sergey Sharybin [Thu, 26 Jan 2012 09:29:49 +0000 (09:29 +0000)]
Tracks curves fixes and improvements:
- Use proper poll functions for tracks curve operators.
- Darken frames outside of scene frame range in curves view.
- Implemented view all operator.
- Implemented jump to current frame operator.
Sergey Sharybin [Thu, 26 Jan 2012 08:12:12 +0000 (08:12 +0000)]
Replace hard-coded structures in selection callbacks in view3d_select with typedef-ed structures.
Should be no functional changes, but this discovered inconsistency in structures
used for armature circle selection, not sure how harmful this were, but it's not
nice to have such inconsistencies. Anyway, it's resolved now.
Sergey Sharybin [Thu, 26 Jan 2012 07:33:14 +0000 (07:33 +0000)]
Fix for layer toggling always sticking to extend policy.
Reported by Dalai in IRC, thanks for pointing to issue.
Sergey Sharybin [Thu, 26 Jan 2012 07:18:26 +0000 (07:18 +0000)]
Fix #29991: Broken Hotkeys for rotation in custom Maya-Navigation. >rev43375
Issue was caused by incorrect operator property set in revision 43376.
Mike Erwin [Thu, 26 Jan 2012 03:27:10 +0000 (03:27 +0000)]
added support for USB Spaceball5000, also a partial attempt to accept button presses from unidentified 3D mice (for ancient serial devices)
Campbell Barton [Thu, 26 Jan 2012 01:46:16 +0000 (01:46 +0000)]
disable toggle option for BGE boolean property, not sure why this was set.
Campbell Barton [Wed, 25 Jan 2012 22:13:08 +0000 (22:13 +0000)]
fix [#29987] scene.frame_set method doesn't take in account camera change done via markers
Campbell Barton [Wed, 25 Jan 2012 22:06:53 +0000 (22:06 +0000)]
hrmf, fix for fix [#29988] Segfault when unwrap default cube with smart project / follow active quads
I think that we need a check here for thick wrapped strings but for now we dont have any thick wrapped strings with default values so comment it.
Sergey Sharybin [Wed, 25 Jan 2012 21:23:34 +0000 (21:23 +0000)]
Fix #29989: Ctrl + T to show seconds in timeline, python error
Issue seems to be caused by refactoring from rev43376.
Brecht Van Lommel [Wed, 25 Jan 2012 17:23:52 +0000 (17:23 +0000)]
Cycles: Render Passes
Currently supported passes:
* Combined, Z, Normal, Object Index, Material Index, Emission, Environment,
Diffuse/Glossy/Transmission x Direct/Indirect/Color
Not supported yet:
* UV, Vector, Mist
Only enabled for CPU devices at the moment, will do GPU tweaks tommorrow,
also for environment importance sampling.
Documentation:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Passes
Sergey Sharybin [Wed, 25 Jan 2012 16:14:24 +0000 (16:14 +0000)]
Fix #29892: Properties of objects in nested custom collections stop being animatable once an object get added to an unrelated custom collection.
Issue was caused by attempting to find rna path in all property collections
which lead to overwritting already found path.
Sergey Sharybin [Wed, 25 Jan 2012 13:37:11 +0000 (13:37 +0000)]
Various fixes for camera tracking stuff
- Fixed tooltip displaying for track sequence forwards in clip editor
- Corrected detection of 8 tracks so it wouldn't count tracks disabled
on keyframes.
- Scale track preview to actual track widget size instead of scaling the
whole preview image with given zoom ratio, so no extra memory needed to
store zoomed margin would be used.
- Track's statistics text will fit pattern position instead of search if
marker is disabled on current frame.
- Fixed toggle selection operator if selected track is hidden due to
"Hide Disabled" policy.
Sv. Lockal [Wed, 25 Jan 2012 10:10:15 +0000 (10:10 +0000)]
Fix typo for sharpen graph post-processing so fac1+fac2+fac3 always equals 1.0
Sergey Sharybin [Wed, 25 Jan 2012 09:27:18 +0000 (09:27 +0000)]
Fix typo in camera reconstruction context creation.
Thanks to Lockal to pointing out!
Dalai Felinto [Wed, 25 Jan 2012 01:39:38 +0000 (01:39 +0000)]
Cucumber left over: new scene needs a default ESC key
Campbell Barton [Tue, 24 Jan 2012 22:15:25 +0000 (22:15 +0000)]
found a bug by accident.
- bugfix for setting string defaults in rna functions (incorrect pointer use and would copy past string length).
- Object.dm_info was setting a default when it didnt need to.
Thomas Dinges [Tue, 24 Jan 2012 20:56:19 +0000 (20:56 +0000)]
Node UI:
* Make sure to check on snode_id, raised errors if no world datablock was active.
Campbell Barton [Tue, 24 Jan 2012 20:33:26 +0000 (20:33 +0000)]
fix for memory leak when particles have 0 elements.
Thomas Dinges [Tue, 24 Jan 2012 20:19:26 +0000 (20:19 +0000)]
Improvement for last commit, only do redraw when actually needed (in world shader type)
Sergey Sharybin [Tue, 24 Jan 2012 20:13:44 +0000 (20:13 +0000)]
Fix compilation error caused by recent changes in file browser stuff
Thomas Dinges [Tue, 24 Jan 2012 20:10:37 +0000 (20:10 +0000)]
Cycles Node Editor:
* Add Use Nodes button for World shader type
* UI was not redrawing the Node area, when enabling "Use nodes", added check for it to the listener.
Campbell Barton [Tue, 24 Jan 2012 19:57:34 +0000 (19:57 +0000)]
use a struct to pass normals to normal draw derived mesh callbacks (no functional changes)
Antony Riakiotakis [Tue, 24 Jan 2012 19:54:18 +0000 (19:54 +0000)]
Enable 16 bit format for float textures by default after discussion with Morten and Sergey on irc. Rationale is that for most cases when people create a float texture they will expect the extra precision in the 3D view.
This shouldn't be a problem on any graphics card since internally a very old texture format (GL 1.1) is used. In the case of any unlikely screams, a revert of this commit can be done.
Sergey Sharybin [Tue, 24 Jan 2012 18:18:51 +0000 (18:18 +0000)]
Fix #29946: Recover Auto Save defaults to "Short List" View -- Cannot determine dates
Added option display_type to WM_operator_properties_filesel which defines which file
display type (short/list/icons/default) should be used for file browser.
All current operators are using FILE_DEFAULTDISPLAY display type which means display
type will still be calculated based on type of opening file and user preferences
settings. Recover Auto Save operator is now using long display type so file date can
easily be checked now.
Reviewed by Andrea, thanks!
Miika Hamalainen [Tue, 24 Jan 2012 17:28:50 +0000 (17:28 +0000)]
Dynamic Paint:
* Fix: Substep update failed if brush was parented to a canvas vertex. Now substeps are ignored in such case.
* Fix: Wave "open borders" option didn't work for image sequence format.
* Fixed a possible crash after changing surface format to image sequence.
* Some code cleanup.
Dalai Felinto [Tue, 24 Jan 2012 16:32:31 +0000 (16:32 +0000)]
Brightness/Contrast Node for Cycles
Contrast helps to adjust IBL (HDR images used for background lighting).
Note: In the UI we are caling it Bright instead of Brightness. This copy what Blender composite is doing.
Note2: the algorithm we are using produces pure black when contrast is 100. I'm not a fan of that, but it's a division by zero. I would like to look at other algorithms (what gimp does for example). But that would be only after 2.62.
Campbell Barton [Tue, 24 Jan 2012 15:51:44 +0000 (15:51 +0000)]
comment unused assignment.
Campbell Barton [Tue, 24 Jan 2012 15:37:50 +0000 (15:37 +0000)]
quiet some warnings & (possible/unlikely error)
Bastien Montagne [Tue, 24 Jan 2012 13:17:32 +0000 (13:17 +0000)]
New fix for [#29940] Stretch To constraint breaks scaling in Transform constraint, previous one caused bug [#29962] linked objects not correct on r4361, should be fixed now.
Org code was working with isotropic scaling, but when scaling only one axis, it was broken. First fix just disabled completly scale handling. This version only takes into account scaling along local Y axis, as this is the only one affecting that constraint!
Sorry for the mistake, hope this time it will be ok.
Sergey Sharybin [Tue, 24 Jan 2012 12:25:03 +0000 (12:25 +0000)]
Fix #29975: Track Preview color channels not filtering correctly
Typo in checking bitflags
Joshua Leung [Tue, 24 Jan 2012 08:43:39 +0000 (08:43 +0000)]
Bugfix: Circle-select in Pose Mode disregarded layer visibility, selecting
invisible bones too
Sergey Sharybin [Tue, 24 Jan 2012 08:43:17 +0000 (08:43 +0000)]
Fix #29965: Crash: Memory psys node array: end corrupt
Original indices from right operand were used in boolean result derived mesh
which lead to crash if right operand has got more entities (faces/edges/vertices)
than left operand.
Andrew Hale [Tue, 24 Jan 2012 01:56:44 +0000 (01:56 +0000)]
Add the .Identity() classmethod to mathutils matrices. This allows the user
to create an identity matrix of a specific size without having to specify
all the values in the matrix and then use the .identity() method.
Campbell Barton [Tue, 24 Jan 2012 01:21:43 +0000 (01:21 +0000)]
commented smoke collision derived mesh,
was storing its own copy of the collision mesh but never using it.
Bastien Montagne [Mon, 23 Jan 2012 22:57:46 +0000 (22:57 +0000)]
Misc picky edits to UI messages.
Dalai Felinto [Mon, 23 Jan 2012 19:53:23 +0000 (19:53 +0000)]
rst bge touch ups: making the title of the examples slightly more noticeable
- it's still not correct, comparing to the other examples, but at least it looks okish.
- fixed some small typos
Campbell Barton [Mon, 23 Jan 2012 19:42:22 +0000 (19:42 +0000)]
BLI_array_reserve from bmesh.
Sergey Sharybin [Mon, 23 Jan 2012 19:32:00 +0000 (19:32 +0000)]
Fix #29970: Crash trying to track disabled marker
Sergey Sharybin [Mon, 23 Jan 2012 17:49:56 +0000 (17:49 +0000)]
Fix compilation error caused by code cleanup
Sergey Sharybin [Mon, 23 Jan 2012 17:44:19 +0000 (17:44 +0000)]
Carve booleans: corrected copyright header
Sergey Sharybin [Mon, 23 Jan 2012 17:44:05 +0000 (17:44 +0000)]
Carve booleans: code and style cleanup
Sergey Sharybin [Mon, 23 Jan 2012 17:43:41 +0000 (17:43 +0000)]
Fix #29934: New Carve library can't execute boolean operations in some cases
Issue was caused by left boolean operand consist of several intersecting manifolds
which make Carve triangulator confused and which can't be resolved in general case.
Added mesh pre-processing before actual applying boolean operator on it. This
preprocessing applies union operation on intersecting manifolds of the same object
so intersection edge loop with second object wouldn't confuse tesselator and correct
result would be returned.
Detecting of intersecting manifolds is based on AABB intersection check which leads
to some extra union operation called, but it's possible to speed things up from
Carve side so union operation of two not intersecting meshes would work faster.
Additional condition for running union for manifold is this manifolds intersects
AABB of second operand, so mesh topology wouldn't be changed at all in areas
where there's definitely no intersection between operands. It might be improved
so only manifolds which actually intersects second operand would be joined
together, but it'll slow things down a bit and prefer to do it only if it'll
be really a problem.
Additional change is fixed memory leak when boolean operation fails to run -
it was missed "delete" call if exception happens in Carve library.
From side effects of this change might be named boolean operation between
suzanne and another object: suzanne is consist of three intersecting open
manifolds, so this new meshes preprocessing leads to missed eyes in result
because of failure of merging two open manifolds. Don't think making suzanne
work for all setups should really be a goal, it's a bit crappy mesh for CSG
algorithms.
Andrew Hale [Mon, 23 Jan 2012 13:29:29 +0000 (13:29 +0000)]
In order to maintain consistency with other uses of .remove(), these functions will be removed and reimplemented after the BMesh merge.
The main issue in an implementation of these functions is the need to constantly edit the vertex array and subsequently update the face and edge arrays.
Sergey Sharybin [Mon, 23 Jan 2012 08:48:52 +0000 (08:48 +0000)]
Fix for compilation error when using scons and carve is disabled
Daniel Salazar [Mon, 23 Jan 2012 03:13:55 +0000 (03:13 +0000)]
modifier Apply as Shape is now Apply as Shape Key. Was confusing some users