Commit Graph

644 Commits

Author SHA1 Message Date
9d9dc06014 Made SimDebugData into a single global instance.
This way it doesn't have to be stored as DNA runtime pointers or passed
down as a function argument. Currently there is now no property or
button to enable debugging, this will be added again later.
2015-01-20 18:32:06 +01:00
cd717f145d Expose hair grid info in the RNA (read-only); it can be useful for
debugging purposes.
2015-01-20 09:30:05 +01:00
491e7493c7 Basic solver result feedback from the mass-spring (cloth/hair) solver.
This returns a general status (success/no-convergence/other) along with
basic statistics (min/max/average) for the error value and the number
of iterations. It allows some general estimation of the simulation
quality and detection of critical settings that could become a problem.
Better visualization and extended feedback can follow later.
2015-01-20 09:30:02 +01:00
d8cf12fe5a Debug drawing for simulations, to aid in visualizing abstract data such
as forces, velocities, contact points etc.

This uses a hash table to store debug elements (dots, lines, vectors at
this point). The hash table allows continuous display of elements that
are generated only in certain time steps, e.g. contact points, while
avoiding massive memory allocation. In any case, this system is really
a development feature, but very helpful in finding issues with the
internal solver data.
2015-01-20 09:29:56 +01:00
197e889104 Transfer Data: resurrect fake AND/OR when transferring 'boolean' values like UVSeam, Freestyle marks, etc. 2015-01-14 10:51:41 +01:00
cfd2af0d48 Fix UI messages (own stupidness even :/ ). 2015-01-13 21:03:43 +01:00
a3bfaa481f Cleanup: rename BKE's 'object_data_transfer' to 'data_transfer' to avoid same file names with ED_object's one. 2015-01-12 12:05:47 +01:00
0a5ad65512 Modifiers shall be listed in alphabetical order in UI... 2015-01-11 21:23:43 +01:00
79d8617424 Transfer data: add modifier.
Not much to add, modifier uses same code as operator basically, only key difference
is that modifier will never create data layers itself, you have to use dedicated operator
for that.
2015-01-10 00:04:43 +01:00
ee4453f083 Transfer Data: add main core code and operators.
This add code needed to map a CD data layout from source mesh towards destination one,
and code needed to actually transfer data, using BKE's mesh remap generated data.

This allows to transfer most CD layers (vgroups, vcols, uvs...) as well as fake, boolean ones
(like smooth/sharp edges/faces, etc.). Some types are not yet transferable, mainly
shape keys, this is known TODO.

Data transfer can also use some advanced mixing in some cases (mostly, vgroups and vcols).

Notes:
* New transfer operators transfer data from active object towards selected ones.
* Modifier will be committed separately.
* Old weight transfer code (for vgroups) is kept for now, mostly because it is the only
  usable one in weightpaint mode (it transfers from selected object to active one,
  this is not sensible in Object mode, but needed in WeightPaint one). This will be addressed soon.

Again, heavily reviewed and enhanced by Campbell, thanks!
2015-01-09 19:32:44 +01:00
646a96bf8e Fix T42952: Curve modifier not taken into account when curve is created from mesh
Curve and array modifiers requires curve path to be evaluated, dependency graph
will make sure that curve eval would create such a path, but if curve was already
evaluated we might miss path.

So what we do now is: if path was not calculated for target curve we tag it for
update.
2014-12-22 19:05:56 +05:00
f51b583ea0 Improve tip for simple deform origin 2014-12-15 16:10:17 +01:00
e85bcfab04 Fix T41467: Modifier view buttons changing positions.
Commits early in this year (to save some space) broke this. Hopefully this time
it works in all cases - lastCageIndex is no more influenced by realtime/edit active states.
Also, inactivate buttons instead of hiding them, can be useful to set those data
even though it does not have any immediate effect.

Took the opportunity to switch cage buttons to RNA, btw.
2014-08-17 09:50:45 +02:00
27b4a1f7dd Correction to last commit, rna naming 2014-08-15 19:35:14 +10:00
3296d98ec1 Solidify Modifier "Rim Only" Option
D737 by scorpion81 with own edits
2014-08-15 19:17:05 +10:00
70453c578d Fix T34664: bevel face material can be set in tool and modifier.
Now the bevel tool, modifier, and internal operator have a material
slot # parameter that the user can set. If left at default of -1,
behavior is as current -- bevel face material is taken from the
closest original face (this may be ambiguous). If material slot
is >= 0, it gives the material slot index number for the material
to use.
2014-07-17 09:20:22 -04:00
1bda27f692 Tooltip improvements for modifier functions 2014-07-14 11:50:21 +02:00
a720c4715b Tooltip improvements for modifier functions 2014-07-13 21:52:35 +02:00
f763b3ba36 RNA: Expose hook centre
D529 by Gottfried Hofmann
2014-06-20 02:34:26 +10:00
2679eaa712 Bugfix: Bend modifier's angle property has crazy limits
As reported by ZanQdo on IRC, the bend modifier's "angle" property had a range
of +/- 572.95 degrees (equivalent to 10 radians). From the looks of things, this
was simply something overlooked when doing degrees to radians conversions. Now
it has a range of +/- 180 degrees.
2014-05-07 14:20:03 +12:00
74d98115ca Cleanup: factorize RNA accessor code of modifiers (saves over 160 lines of dummy code!)
Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D364
2014-03-18 19:23:12 +01:00
7078fb936a Fix T38800: Setting UV projector caused zero user objects
Don't change user count when setting modifier objects
2014-02-24 21:36:16 +11:00
08f5e3897c Modifier: rename triangulate scanfill to ear-clip 2014-02-21 15:03:34 +11:00
385c892418 UI: use proportional option while dragging buttons 2014-02-09 08:42:45 +11:00
28564e1583 Change tooltip text for Vertex Group in Bevel Modifier.
Reflects previous commit that now allows this group to
control edge bevels too.
2014-01-24 12:52:18 -05:00
aeca473a41 Usual UI messages fixes. 2014-01-21 20:18:07 +01:00
5c74ac2c2a Build Modifier - Add "Reversed" Option
This commit introduces the ability to make the Build Modifier operate in reverse,
essentially allowing it to be used as a "deconstruction" effect.

(See D219 for more details about use cases for this)
2014-01-17 14:53:04 +13:00
6ba02681de Fix a bunch of UI string issues... 2014-01-15 10:40:54 +01:00
86616c675a Bevel Modifier: add width type and profile control.
This adds to the modifier the new controls that have been
added to the bevel tool.
2014-01-14 11:07:45 -05:00
4d4222b761 Changed percentage and 0-1 number fields to use sliders. This is more consistent.
Reviewed by Brecht van Lommel, Thomas Dinges and Jonathan Williamson
2014-01-03 21:12:56 +01:00
55397c690d Usual minor UI messages fixes... 2013-12-26 17:16:11 +01:00
a183aa6c67 error in last commit, flag names. 2013-12-22 07:16:41 +11:00
d5263c37fa Modifier: New Wireframe Modifier
Based on patch originally by Thomas Beck,
uses options similar to solidify.
2013-12-22 07:13:48 +11:00
41e70cfb39 Add meaningful default for SimpleDeform modifier's angle prop. 2013-12-11 22:12:10 +01:00
46eef60d93 Cleanup: Internal degrees removal.
This patch changes most of the reamining degrees usage in internal code into radians.
I let a few which I know off asside, for reasons explained below - and I'm not sure to have found out all of them.

WARNING: this introduces forward incompatibility, which means files saved from this version won't open 100% correctly
         in previous versions (a few angle properties would use radians values as degrees...).

Details:
- Data:
-- Lamp.spotsize: Game engine exposed this setting in degrees, to not break the API here I kept it as such
                  (using getter/setter functions), still using radians internally.
-- Mesh.smoothresh: Didn't touch to this one, as we will hopefully replace it completely by loop normals currently in dev.

- Modifiers:
-- EdgeSplitModifierData.split_angle, BevelModifierData.bevel_angle: Done.

- Postprocessing:
-- WipeVars.angle (sequencer's effect), NodeBokehImage.angle, NodeBoxMask.rotation, NodeEllipseMask.rotation: Done.

- BGE:
-- bConstraintActuator: Orientation type done (the minloc[0] & maxloc[0] cases). Did not touch to 'limit location' type,
                        it can also limit rotation, but it exposes through RNA the same limit_min/limit_max, which hence
                        can be either distance or angle values, depending on the mode. Will leave this to BGE team.
-- bSoundActuator.cone_outer_angle_3d, bSoundActuator.cone_inner_angle_3d: Done (note I kept degrees in BGE itself,
                                                                           as it seems this is the expected value here...).
-- bRadarSensor.angle: Done.

Reviewers: brecht, campbellbarton, sergey, gaiaclary, dfelinto, moguri, jbakker, lukastoenne, howardt

Reviewed By: brecht, campbellbarton, sergey, gaiaclary, moguri, jbakker, lukastoenne, howardt
Thanks to all!

Differential Revision: http://developer.blender.org/D59
2013-12-03 20:35:45 +01:00
a31b450093 Screw Modifier: UV support
- When existing faces are available use their UV values
- When no faces are connected to an edge - generate UV's

Also add option to stretch U/V to bounds.
2013-11-26 21:31:32 +11:00
07bde9e797 Usual ui messages fixes... 2013-11-25 22:51:46 +01:00
673bd9a009 Mesh Modifiers: Added Laplacian Deform
Part of soc-2013-sketch_mesh branch

See: http://wiki.blender.org/index.php/User:Apinzonf/Doc:2.6/Manual/Modifiers/Deform/Laplacian_Deform
2013-11-24 07:10:42 +11:00
f4762eb12b UI messages fixes... 2013-11-04 18:58:22 +00:00
Dalai Felinto
a7b44c82e5 Triangulate Modifier: using different ngon and quad methods
Quads: Beauty, Fixed, Fixed Alternate, Shortest Diagonal
Ngons: Beauty, Scanfill

* Shortest Diagonal is the default method in the modifier (popular
  elsewhere), but beauty is the default in Ctrl+T).

* Remove the need for output slot and beauty operator to be called
after Clt+T

Patch with collaborations and reviewed by Campbell Barton
2013-10-29 02:42:51 +00:00
e7f1e1aed1 edits to r60777 - move ED_object_hook_reset_do into BKE object (if RNA needs to call ED_* functions its a hint they might be better in BKE). 2013-10-15 20:15:45 +00:00
22c019a962 Fix [#37085] Hook modifier work when created with Ctrl+H, but not when created via modifier panel
"transform matrix" of the hook was not inited (reset) when assinging and object to it, now use same code for both OBJECT_OT_hook_reset operator and RNA object assignement.

Reviewed by Brecht, thanks.
2013-10-15 14:54:12 +00:00
203c6effd5 code cleanup: quiet rna warnings, remove remove_strict_flags() for cmake/rna.
also set_source_files_properties() wasn't working for rna_*_gen.c files,
set dna.c and generated data files with generated property too.
2013-09-20 06:35:28 +00:00
29d348f8de add checks for bad args to RNA_def_property_ui_range & RNA_def_property_range and fix one instance where (min > max).
also remove redundant float/double conversion in ui_get_but_step_unit()
2013-09-02 22:28:18 +00:00
6bab1d408f Cleanup!
Also fixed a nasty (but inofensive for now) stuff, we had both MOD_UVPROJECT_MAX and MOD_UVPROJECT_MAXPROJECTORS (the former used in RNA code, the later in modifier code)! Kept MOD_UVPROJECT_MAXPROJECTORS.
2013-09-01 21:49:35 +00:00
f77405356a remove use_relative option from simple deform,
all modifiers should be using object transformations relatively.
2013-07-23 19:31:49 +00:00
e50c37d90f code cleanup: remove deprecated bevel code (unused since 2.64) 2013-07-23 14:28:19 +00:00
fe326a8140 UI / Modifiers:
* VERTEX_WEIGHT modifiers had quite a messy UI, improved the grouping of options a bit, so it is easier to scan through.
* Do not use abbreviations like "Rem" or "Dist" in the UI...

* Also small change for BEVEL modifier UI for more efficient space usage.
2013-06-08 16:06:39 +00:00
790e9d9fa0 fix [#35311] Planar Decimate / Limited Dissolve fails to merge some adjacent faces
optionally limit by face flipping, also added support to delimit by material and edge crease.
2013-06-03 05:07:16 +00:00
396222bd01 Fix [#35173] Object's draw_type resets when removing smoke
New behaviour:
* On creation, smoke modifier only changes the drawtype for domain to WIRE.
* On deletion, smoke modifier does not change the drawtype.
2013-05-02 10:21:39 +00:00