Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-04-08Fix T39635: Crash convening curve to meshCampbell Barton
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-30Code cleanup: BKE_nurbList_handles_set used some strange logicCampbell Barton
2014-03-30Code cleanup: de-duplicate cotangent weight function & add arg sizesCampbell Barton
2014-03-28Implement asymmetric and free handles type for masksSergey Sharybin
Summary: The title actually says it all, it's just possible to have independent free handles for mask splines. Also it's now possible to have aligned handles displayed as independent handles. Required changes in quite a few places, but they're rather straightforward. From user perspective there's one really visible change which is removed Handle Type menu from the panel. With asymmetric handles it's not clear which handle type to display there. So now the only way to change handle type is via V-key menu. Rewrote normal evaluation function to make it deal with new type of handles we support. Now it works in the following way: - Offset the original spline by maximal weight - Calculate vector between corresponding U positions on offset and original spline - Normalize this vector. Seems to be giving more adequate results and doesn't tend to self-intersect as much as old behavior used to, There're still some changes which needed to be done, but which are planned for further patch: - Support colors and handle size via themes. - Make handles color-coded, just the same as done for regular bezier splines in 3D viewport. Additional changes to make roto workflow even better: - Use circles to draw handles - Support AA for handles - Change click-create-drag to change curvature of the spline instead of adjusting point position. Reviewers: campbellbarton CC: sebastian_k, hype, cronk Differential Revision: http://developer.blender.org/D121
2014-03-28Bevel Factor MappingLukas Treyer
Bevel Factor Mapping allows to control the relation between bevel factors (number between 0 and 1) and the rendered start and end point of a beveled spline. There are three options: "Resolution", "Segments", "Spline". "Resolution" option maps bevel factors as it was done < 2.71, "Spline" and "Segments" are new. * "Resolution“: Map the bevel factor to the number of subdivisions of a spline (U resolution). * "Segments“: Map the bevel factor to the length of a segment and to the number of subdivisions of a segment. * "Spline": Map the bevel factor to the length of a spline. Reviewers: yakca, sergey, campbellbarton CC: sanne Differential Revision: https://developer.blender.org/D294
2014-03-28Code cleanup: use sqrtf when input and output are floatCampbell Barton
2014-03-20Code cleanup: use boolsCampbell Barton
2014-03-15Code cleanup: use r_ prefix for return argsCampbell Barton
2014-03-113D Text: textbox selection while in editmodeCampbell Barton
D395 from Henrik Aarnio with some improvements.
2014-03-07Fix T38985: Setting endpoint_u property while creating spline in Python ↵Sergey Sharybin
gives strange behavior
2014-03-01Code cleanup: correct abs use and quiet warningsCampbell Barton
2014-03-01Code cleanup: comment unused code in calchandleNurb_internCampbell Barton
Also remove outdated comments.
2014-02-28Fix T38817: FCurve autoclamp errorCampbell Barton
Animating large values with auto handles didn't work well, (large variations on the Y axis would shrink handles).
2014-02-27Fix T38863: FCurve auto-clamp allows handle to move past X boundsCampbell Barton
F-Curves with large Y axis had strange behavior where the handles could stretch out on the X axis rather then clamping as they do at smaller sizes.
2014-02-27Code cleanup: curves calculation was using offsets confusinglyCampbell Barton
also avoid calculating handle length when align isn't used.
2014-02-20Fix for off-by-one error switching nurbs directionCampbell Barton
2014-02-18Fix crash on file load with linked groups and curve bevel.Brecht Van Lommel
This isn't a proper fix, curve_cache should not be NULL, but it makes it possible to open the file at least.
2014-02-14Fix T38562: Wrong curve tilt after Switch DirectionSergey Sharybin
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-03Code cleanup: use bools where possibleCampbell Barton
2014-01-27Curves: save active point to fileKevin Mackay
Changed curve active point from pointer to index. Allows curve active point to be saved to file and retained between modes for free. Also some small optimisations by removing pointer look up code. - Made active point access functions into BKE API calls. - Fixes operators where curve de-selection resulted in unsel-active point. - Split curve delete into 2 functions
2014-01-18Increase maximum allowed amount of points for Splines in both U and V directionsSimon Repp
Increase the maximum allowed amount of points in a spline from currently 32,767 (short) to 2,147,483,647 (int). Change variables that get assigned the value from pntsu/pntsv to int type all over the codebase. Change function parameters that previously passed the count as short to int type as well. (because https://developer.blender.org/T38191) Reviewed By: sergey Differential Revision: https://developer.blender.org/D212
2014-01-15Python/Depsgraph: bpy.data.*.is_updated now detects add/remove of any datablock.Tom Edwards
Previously this only worked for some datablocks relevant to rendering, now it can be used to detect if any type of datablock was added or removed (but not yet to detect if it was modified, we need many more depsgraph tags for that). Most of the changes are some function parameter changes, the important parts are the DAG_id_type_tag calls. Reviewed By: sergey, brecht Differential Revision: https://developer.blender.org/D195
2014-01-13Remove direct displist creation from bevel codeSergey Sharybin
BKE_curve_bevel_make() is only used from object_handle_update() friends and never called directly. This means if there's no display list ready for the bevel object it's something wrong happened with DAG. In fact, this check goes back to ancient era and from tests it appears this check is no longer needed.
2014-01-07Text3d: move text selection boxes from Curve to EditFont structCampbell Barton
resolves T38079
2014-01-03Text3d: store number of characters and utf8 length separatelyCampbell Barton
EditFont's use of Curve.len was very confusing, in editmode it represented the number of characters, in object mode the number of bytes. add Curve.len_wchar and keep track of both. Also don't convert the editmode text into utf8 on every keystroke. Now this is done on exiting editmode or save - to match most other object types. This also fixes curves 'body_format' being reported with an invalid size.
2013-12-28Fix for BKE_nurb_handles_autocalc using 2d tests on 3d dataCampbell Barton
2013-12-13Curve Handle Recalculate (Ctrl+N)Campbell Barton
T37799 Patch from Simon Repp with added option to recalculate handle lengths.
2013-12-11Move curve's boundbox and texspace calculation out of modifier stackSergey Sharybin
There were several issues with how bounding box and texture space are calculated: - This was done at the same time as applying modifiers, meaning if several objects are sharing the same curve datablock, bounding box and texture space will be calculated multiple times. Further, allocating bounding box wasn't safe for threading. - Bounding box and texture space were evaluated after pre-tessellation modifiers are applied. This means Curve-level data is actually depends on object data, and it's really bad because different objects could have different modifiers and this leads to conflicts (curve's data depends on object evaluation order) and doesn't behave in a predictable way. This commit moves bounding box and texture space evaluation from modifier stack to own utility functions, just like it's was done for meshes. This makes curve objects update thread-safe, but gives some limitations as well. Namely, with such approach it's not so clear how to preserve the same behavior of texture space: before this change texture space and bounding box would match beveled curve as accurate as possible. Old behavior was nice for quick texturing -- in most cases you didn't need to modify texture space at all. But texture space was depending on render/preview settings which could easily lead to situations, when final result would be far different from preview one. Now we're using CV points coordinates and their radius to approximate the bounding box. This doesn't give the same exact texture space, but it helps a lot keeping texture space in a nice predictable way. We could make approximation smarter in the future, but fir now added operator to match texture space to fully tessellated curve called "Match Texture Space". Review link: https://codereview.appspot.com/15410043/ Brief description: http://wiki.blender.org/index.php/User:Nazg-gul/GSoC-2013/Results#Curve_Texture_Space
2013-11-26Fix T37225: UV map for closed curves incorrectly generatedSergey Sharybin
Summary: Curve ORCO was not calculating properly for cyclic 2D curves. - Needed to split vertices for blender internal renderer. Otherwise it's not possible to map last face to a proper texture location. - Needed to tweak curve->mesh conversion to respect cyclic flag along U direction. - Removed check for orcodm in curve.c:add_orco_dm since this code is only called if there're enabled constructive modifiers on the curve. Reviewers: brecht Maniphest Tasks: T37225 Differential Revision: http://developer.blender.org/D45
2013-11-25Code Cleanup: rename vars for detecting change to be more consistentCampbell Barton
rename change/is_change/is_changed/modified -> changed also use bools over int/short/char and once accidental float.
2013-11-20Fix T37543: Multiline 3D Text saved in edit mode breaks on loadCampbell Barton
2013-11-20Code Cleanup: remove unused members for editfont (3D text)Campbell Barton
2013-11-06Made active point and active spline behaviour more predictable on ↵Kevin Mackay
curves/surfaces: * deselect all no longer leaves an active point * the most recently added spline becomes the active one * on successful duplicate/delete the active point and active spline are reset
2013-10-17Patch [#37115] Surface split and separate operatorsKevin Mackay
Added surface support to recent curve split operator, completing quick hack todo Updated nurbs separate operator to make use of new split logic, completing tools todo Added 'Delete segment' option to surfaces and improved surface duplication, used for split/separate
2013-10-08use booleans in BKE_nurb_handles_autocalc and BMO_op_vinitfCampbell Barton
2013-10-08replace len_v3v3 with len_squared_v3v3 for comparisons.Campbell Barton
2013-10-01fix for error setting vector handles to free when both vector handles were ↵Campbell Barton
selected but not the mid-point. only one of the handles would be changed to the HD_FREE. effected curves and fcurves.
2013-09-17Fix #36747: curve bevel and extrude issueSergey Sharybin
Was a small mistake in bevel list optimization, no need to check whether first/last points are the same coord if curve is not cyclic.
2013-09-16move editcurve add functions into their own source file editcurve_add.cCampbell Barton
2013-09-10fix [#36693] segfaults when split vertice of Bezier curve Campbell Barton
own error in recent curve split patch.
2013-09-06align BevelSort strict to save some bytes. use camel case.Campbell Barton
2013-08-30minor ui editsCampbell Barton
- move addon refresh button into header - uilist, use icon for sorting by name (gives more room for name, icon is used in fileselector for same purpose). - rename orderby to sort in rna and flag names. - simplify BKE_nurb_handle_calc_simple
2013-08-29correct own error r59619 (changes made to patch, adding handle recalculation ↵Campbell Barton
which is needed after splitting).
2013-08-29patch [#36336] Split operator for curves and surfacesCampbell Barton
by Kevin Mackay (yakca) The operator follows roughly the same behaviour as the split operator for a mesh (Ykey).
2013-08-21Need to set new curve's disp to NULL when duplicating.Sergey Sharybin
2013-08-21Partial revert of recenr cu->disp merge commitSergey Sharybin
That ended up in tricky code trying to mimic depsgraph branch behavior API-wise preserving texspace and bound box calculation compatible with previous releases. So for now bring cu->disp back to the trunk but keep texpsace and boundbox APIs the same as in the branch. This keeps texpsapce and boundbox behavior fully compatible with previous releases and still makes API the same as for meshes.
2013-08-19Tag object-data level boundbox as invalid rather than freeing itSergey Sharybin
Object update used to free object-data level bounding box to trigger it's re-calculation in the future. Such a freeing performed from object update isn't thread-safe because mesh could be shared between multiple objects. Rather than freeing bounding box, tag it's as invalid, this is safe from threading point of view and also prevents unnecessary memory re-allocation. Object-level bounding box is still reallocating, but think we could change this easily in the future as well. -- svn merge -r58154:58156 -r59258:59259 ^/branches/soc-2013-depsgraph_mt
2013-08-19Made curves almost thread-safeSergey Sharybin
Now modifier stack wouldn't modify original curve's nurbs and will operate on a copy of nurbs. This makes it possible to process curve object update with shared curve datablocks from multiple threads. There's no big overhead for creating a copy of nurbs comparing to old behavior which was allocating original vertex array and apply coordinates on curve after all modifier are applied. The only remained issue with curves is curve's bounding box and texture space. It's not thread-safe, but it wouldn't lead to crashes -- it just could lead to either memory leak or wrong texture coordinates due to difference in modifiers stacks of objects which shares the same curve. -- svn merge -r57959:57961 ^/branches/soc-2013-depsgraph_mt