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-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
2013-08-19Remove unused argument from utility curve functionsSergey Sharybin
So far it was harmless, but with upcoming changes having this argument could be confusing from logic point of view -- svn merge -r57958:57959 ^/branches/soc-2013-depsgraph_mt
2013-08-19Move bevel list and path from Curve to Object datablockSergey Sharybin
I know this is not so much nice to have this guys hanging around in a general Object datablock and ideally they better be wrapped around into a structure like DerivedMesh or something like this. But this is pure runtime only stuff and we could re-wrap them around later. Main purpose of this is making curves more thread safe, so no separate threads will ever start freeing the same path or the same bevel list. It also makes sense because path and bevel shall include deformation coming from modifiers which are applying on pre-tesselation point and different objects could have different set of modifiers. This used to be really confusing in the past and now data which depends on object is stored in an object, making things clear for understanding even. This doesn't make curve code fully thread-safe due to pre-tesselation modifiers still modifies actual nurbs and lock is still needed in makeDispListsCurveTypes, but this change makes usage of paths safe for threading. Once modifiers will stop modifying actual nurbs, curves will be fully safe for threading. Actually, this commit also contains wrapping runtime curve members into own structure This allows easier assignment on file loading, keeps curve- specific runtime data grouped and saves couple of bytes in Object for non-curve types. -- svn merge -r57938:57939 ^/branches/soc-2013-depsgraph_mt svn merge -r57957:57958^/branches/soc-2013-depsgraph_mt
2013-08-19Get rid of a display list stored in Curve datablockSergey Sharybin
This display list was only used for texture space calculation, and even there this display list was only used for bounding box calculation. Since we already do have bounding box in a curve datablock there's no reason to duplicate non-modified display list just to calculate bounding box later, let's just calculate bounding box at the first point. This makes code a little be more thread-safe but curves are still not safe for threads at all because of bevel list and path. That would be solved later. -- svn merge -r57939:57940 ^/branches/soc-2013-depsgraph_mt
2013-08-14Fix #36467: ends of curves - 2D differs to 3DSergey Sharybin
This is getting confused, why bevel is handled different for 2D and 3D curves? Anyway, made bevel work for 2D case nice again, but it's probably nice to unify 2D and 3D cases.
2013-08-14add materials.clear() method, matching other python list method.Campbell Barton
2013-08-13Fix #36461: ends of curves - twist still not goodSergey Sharybin
Needed correct quat for first point as well. Maybe it's time to refactor make_minimum_twist function a bit..
2013-08-12Fix #36420: ends of curves - caps & twist not goodSergey Sharybin
Forgot to calculate directions of first/last points for NURBS and POLY splines.
2013-08-07Fix #36007: ends of curves do not fitSergey Sharybin
Made first/last tessellated curve have proper direction and tilt. Before direction/tilt from second/previous to last tessellated curve segments. Thanks Brecht for review and tests!
2013-07-24- add individual origin support for curves and improve the orientation ↵Campbell Barton
calculations for curve handles, - add support for using the active point's orientation. - add support for creating new custom orientations from curves. - fix error where only the last selected curve handle was taken into account for manipulator orientations.
2013-07-21code cleanup: add break statements in switch ()'s, (even at the last case).Campbell Barton
2013-07-17fix [#36176] Connected font Bevel moves inwards for some letter combinationsCampbell Barton
bevel wasn't taking into account overlapping text (bug goes back to 1.8).