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
2016-06-03Cleanup & simplify snapping functionsGermano Cavalcante
- the name of the enumerator `SNAP_NOT_OBEDIT` was changed to `SNAP_NOT_ACTIVE`. - the parameter `snap_to_flag` was moved to outside `SnapObjectParams`. - the member `use_object_edit` was renamed to `use_object_edit_cage`. - added the arg `params` in `ED_transform_snap_object_project_ray`. - simplifications in the loop of the function `snapObjectsRay`.
2016-05-11Transform Volume rewrite/refactorGermano Cavalcante
Take advantage of the efficiency provided by the snap_context. Also fixes errors: - volume snap fails based on view angle (T48394). - multiple instances of dupli-objects break volume calculation.
2016-05-05Transform/Snap: EditMesh/BKE_bvhutils API improvementsGermano Cavalcante
Separate the creation of trees from EditMesh from the creation of trees from DerivedMesh. This was meant to simplify the API, but didn't work out so well. `bvhtree_from_mesh_*` actually is working as `bvhtree_from_derivedmesh_*`. This is inconsistent with the trees created from EditMesh. Since for create them does not use the DerivedMesh. In such cases the dm is being used only to cache the tree in the struct DerivedMesh. What is immediately released once bvhtree is being used in functions that change(tag) the DM cleaning the cache. - Use a filter function so users of SnapObjectContext can define how edit-mesh elements are handled. - Remove em_evil. - bvhtree of EditMesh is now really cached in the snap functions. - Code becomes organized and easier to maintain. This is an important patch for future improvements in snapping functions.
2016-04-22Transform Snap: initial snap context refactorCampbell Barton
This introduces a snap-context that can be re-used for casting rays into the scene (by operators such as walk-mode, ruler and transform code). This can be used to cache data between calls too.
2016-01-12Fix T47164: [Scene.raycast] - True result when it should be False.Bastien Montagne
We cannot use FLT_MAX as initi distance for raycast... Renamed TRANSFORM_DIST_MAX_RAY to BVH_RAYCAST_DIST_MAX, moved it into BLI_kdopbvh, and use in RNA raycast callbacks (and all other places using that API).
2015-12-21Cleanup: warnings (msvc)Campbell Barton
Part of patch D1670 by @LazyDodo
2015-12-02Transform Snap: add optional face index argCampbell Barton
2015-12-02Cleanup: transform snap argumentsCampbell Barton
This was getting very hard to follow, - mixing input/output args. - mixing arg order between functions. - arg names (mode, snap_mode) rename to (snap_to, snap_select)
2015-11-12Cleanup: unused definesCampbell Barton
2015-09-08Fix T46003: Scale w/ script ignores axis-alignCampbell Barton
2015-06-17Fix (unreported) redo of 'bone envelope distance resize' transform op not ↵Bastien Montagne
working (it would behave like 'bone envelope resize' instead). Issue comes from the fact this transform op shares some common points with both BoneResize and BoneEnvelope operations. However, trying to re-use `TFM_BONE_ENVELOPE` itself in this case is bad idea, since this mode gets stored in transform op and is directly re-used for redo, by-passing the whole init phase that shall be done in `TFM_BONESIZE` mode... So now, we add a real new mode, `TFM_BONE_ENVELOPE_DIST`, while keeping most of existing code and all existing behavior. This is slightly hackish - but was already anyway, and avoids creating a full new set of function for pretty much the same thing. As a side note, also makes it possible to resize envelope distance outside of envelope viewing mode (from py or by adding a custom shortcut).
2015-03-28Cleanup: redundant struct declarationsCampbell Barton
2015-02-12GPencil: Alt-S can now be used to adjust the pressure values (i.e. ↵Joshua Leung
thickness) of strokes
2014-11-30Grease Pencil - Storyboarding Features (merge from GPencil_EditStrokes branch)Joshua Leung
This merge-commit brings in a number of new features and workflow/UI improvements for working with Grease Pencil. While these were originally targetted at improving the workflow for creating 3D storyboards in Blender using the Grease Pencil, many of these changes should also prove useful in other workflows too. The main highlights here are: 1) It is now possible to edit Grease Pencil strokes - Use D Tab, or toggle the "Enable Editing" toggles in the Toolbar/Properties regions to enter "Stroke Edit Mode". In this mode, many common editing tools will operate on Grease Pencil stroke points instead. - Tools implemented include Select, Select All/Border/Circle/Linked/More/Less, Grab, Rotate, Scale, Bend, Shear, To Sphere, Mirror, Duplicate, Delete. - Proportional Editing works when using the transform tools 2) Grease Pencil stroke settings can now be animated NOTE: Currently drivers don't work, but if time allows, this may still be added before the release. 3) Strokes can be drawn with "filled" interiors, using a separate set of colour/opacity settings to the ones used for the lines themselves. This makes use of OpenGL filled polys, which has the limitation of only being able to fill convex shapes. Some artifacts may be visible on concave shapes (e.g. pacman's mouth will be overdrawn) 4) "Volumetric Strokes" - An alternative drawing technique for stroke drawing has been added which draws strokes as a series of screen-aligned discs. While this was originally a partial experimental technique at getting better quality 3D lines, the effects possible using this technique were interesting enough to warrant making this a dedicated feature. Best results when partial opacity and large stroke widths are used. 5) Improved Onion Skinning Support - Different colours can be selected for the before/after ghosts. To do so, enable the "colour wheel" toggle beside the Onion Skinning toggle, and set the colours accordingly. - Different numbers of ghosts can be shown before/after the current frame 6) Grease Pencil datablocks are now attached to the scene by default instead of the active object. - For a long time, the object-attachment has proved to be quite problematic for users to keep track of. Now that this is done at scene level, it is easier for most users to use. - An exception for old files (and for any addons which may benefit from object attachment instead), is that if the active object has a Grease Pencil datablock, that will be used instead. - It is not currently possible to choose object-attachment from the UI, but it is simple to do this from the console instead, by doing: context.active_object.grease_pencil = bpy.data.grease_pencil["blah"] 7) Various UI Cleanups - The layers UI has been cleaned up to use a list instead of the nested-panels design. Apart from saving space, this is also much nicer to look at now. - The UI code is now all defined in Python. To support this, it has been necessary to add some new context properties to make it easier to access these settings. e.g. "gpencil_data" for the datablock "active_gpencil_layer" and "active_gpencil_frame" for active data, "editable_gpencil_strokes" for the strokes that can be edited - The "stroke placement/alignment" settings (previously "Drawing Settings" at the bottom of the Grease Pencil panel in the Properties Region) is now located in the toolbar. These were more toolsettings than properties for how GPencil got drawn. - "Use Sketching Sessions" has been renamed "Continuous Drawing", as per a suggestion for an earlier discussion on developer.blender.org - By default, the painting operator will wait for a mouse button to be pressed before it starts creating the stroke. This is to make it easier to include this operator in various toolbars/menus/etc. To get it immediately starting (as when you hold down DKEy to draw), set "wait_for_input" to False. - GPencil Layers can be rearranged in the "Grease Pencil" mode of the Action Editor - Toolbar panels have been added to all the other editors which support these. 8) Pie menus for quick-access to tools A set of experimental pie menus has been included for quick access to many tools and settings. It is not necessary to use these to get things done, but they have been designed to help make certain common tasks easier. - Ctrl-D = The main pie menu. Reveals tools in a context sensitive and spatially stable manner. - D Q = "Quick Settings" pie. This allows quick access to the active layer's settings. Notably, colours, thickness, and turning onion skinning on/off.
2014-07-21GSOC 2013 paintAntony Riakiotakis
Yep, at last it's here! There are a few minor issues remaining but development can go on in master after discussion at blender institute. For full list of features see: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.72/Painting Thanks to Sergey and Campbell for the extensive review and to the countless artists that have given their input and reported issues during development.
2014-06-18Revert "Fix flickering when transform snapping in edit mode and cursor is"Antony Riakiotakis
Looks like the cleanest way to handle this is to no do bounding box collision for edit mode at all. But this is easy to enforce This reverts commit 7b5fe4f316234022a0ab761b694cd459ce98db2d. Conflicts: source/blender/editors/transform/transform_snap.c
2014-06-12Fix flickering when transform snapping in edit mode and cursor isAntony Riakiotakis
slightly outside the mesh. Reported by Thomas Beck on irc. Issue here is that the mesh bounding box changes as we are transforming the vertices. Solution is to collide against the initial bounding box. Unfortunately the snapping functions are made in a way that a lot of code needed to be tweaked here, but the change should be straightforward and harmless (famous last words, I know). Ideally we might want to even increase the size of the bounding box a little (as seen in screen space) to allow snapping even in cases where, cursor is slightly outside the bounding box, but since this is not so straightforward to do for all cases, at least for me, leaving this as a TODO.
2014-04-17Code cleanup: use boolsCampbell Barton
also rename BLI_omp_thread_count -> BLI_system_thread_count_omp
2013-12-02Fix T37671: Edit Texture Space on Skin Resize crashSergey Sharybin
Texture space editing from TFM_SKIN_RESIZE is not supported, so hide the option and don't use it for such a transform.
2013-11-25Transform: internal changes for orientations calculations.Campbell Barton
- use (const char *) for the 'name' - use bool where possible. - remove unused return value for initTransInfo
2013-11-20Transform: rename Warp to BendCampbell Barton
2013-10-23refactor transform.c - minor changesCampbell Barton
- use TREDRAW_HARD define - use apply prefix for transform callbacks. - make callbacks static.
2013-10-12transform - use 2d float's for the viewport center (allows for vector math ↵Campbell Barton
functions to be used more easily).
2013-08-14fix own error in BM_mesh_calc_edge_groups() was clearning wrong dirty-index ↵Campbell Barton
flag. also remove unused transform defines.
2013-06-16resolve [#33374] Extrude and mirror editingCampbell Barton
mirror editing option was only added to extrude so mirror editing would always be disabled. the option is now hidden to avoid confusing users.
2013-05-28code cleanup: remove old/unused bmesh bevel transform mode, remove commented ↵Campbell Barton
character list UI widget and the members these used in 'G' global.
2013-05-12Fix for [#35238] Blender does not save custom orientations from "view"Bastien Montagne
Actually more a feature request... Now create orientations operator has an additional option, use_view, when this one is enabled it will use current view instead of active object to create the new space. Also made some cleanup (made some funcs static).
2013-05-12Fix for [#35224] Transform Orientation - order inconsistencyBastien Montagne
Fix turned out to remove as much "manual UI" from 3D view header as possible. Mode selector and all transform manipulators/orientations stuff are now RNA-based UI (leaving basically only edit mesh select modes with custom handlers, as they have some quite specific features). To achieve this, four main modifications were done: * enum-operator-generated menus are now MENU (i.e. dropdown lists) in headers too. * All bit-flag enums expanded in ROW buttons now have a handling consistent with e.g. layers, or what we already have for transform manipulators, i.e. clicking select only one element, shift-click to select multiple ones. * Consequently, the three RNA booleans manipulators flags are merged into a single bit-flag enum (yes, this is also an API change, though I doubt many scripts use it). * Now the width of enum-based dropdown lists is computed from longest item name in enum, no more from a dummy place holder string (when no label/name is given). All this allows to remove some code from 3DView/transform areas, that was actually mostly duplicating RNA/operator one. Also done a few optimizations here and there (among others, do not pass &numitems to RNA_property_enum_items() when you do not need it, saves at least an iteration over enum items to count them). Many thanks to Brecht for the reviews!
2013-04-25ruler snap adjustmentsCampbell Barton
- when in wireframe mode: don't snap to faces, instead snap to the closest edge/vertex. - when not in wireframe mode: snap to the front-most element (was a problem that it could snap to an edge/vert behind the face) - reduce the distance for selecting ruler points, was too easy to accidentally drag a ruler.
2013-04-24rna api function scene.ray_cast now returns the object and its matrix ↵Campbell Barton
(incase its a dupli).
2013-04-14modify snapObjectsRayEx() to use a pointer to 'ray_dist' rather then passing ↵Campbell Barton
the dist, this is to better support multiple calls to ray-cast where only closer distances are accepted.
2013-04-11make scene.ray_cast() behave like object.ray_cast(), add distance arg to ↵Campbell Barton
snapObjectsRayEx().
2013-04-03code cleanup: unused functionsCampbell Barton
2013-04-03pass snap arguments so the ruler doesn't have to temp overwrite scene vars.Campbell Barton
also expose snapObjectsRayEx() for more convenient ray-casting about the scene.
2013-04-03use floats for transform snapping distance comparisonsCampbell Barton
2013-03-22correct enums which were in fact variables defined in headers.Campbell Barton
2013-03-21code cleanup: use bool where values are true/false, for view3d and related ↵Campbell Barton
functions.
2013-03-13code cleanup: use const events for modal and invoke operators.Campbell Barton
2013-03-08code cleanup: use bool's for snapping functions.Campbell Barton
2013-01-13add new vertex slide transform operator, different from the existing vertex ↵Campbell Barton
slide tool based on user feedback. - no 2-step select edge, then slide. Instead you can slide and select the edge at the same time. - ability to slide multiple verts at one. supports proportional option for vertex slide and flipping, both matching edge slide functionality.
2012-12-11define the size of matrix args for both rows/cols.Campbell Barton
2012-06-29Extended modes for snapping in the node editor.Lukas Toenne
The transform operators in nodes will now use the unselected nodes to generate snapping points. Unlike object snapping, node snapping works for the x/y axes separately and snaps node borders to same borders of unselected nodes. The sensitive area for node borders extends over the whole view2D range, to enable simple alignment of nodes in both x and y direction. For snap points in the node editor an additional enum value is stored to indicate the type of node border (left/right/top/bottom). This works as a constraint on possible node alignments: only same border types align with each other.
2012-06-10fix for un-initialized memory use for modal inset/bevel.Campbell Barton
2012-06-07style cleanupCampbell Barton
2012-06-05shrink/fatten transform for mask - adjusts the feather weight.Campbell Barton
works in proportional editmode too.
2012-06-04mask mode for clip editor developed by Sergey Sharybin, Pete Larabell and ↵Campbell Barton
myself. see: http://wiki.blender.org/index.php/User:Nazg-gul/MaskEditor note - mask editing tools need continued development, feather option is not working 100%
2012-05-22Add vertex skin radii scaling as a transform operator.Nicholas Bishop
Add a new transform operator, "Skin Resize", which scales the X and Y axes of the radius field in MVertSkin. It's bound to CTRL+AKEY. Skin modifier documentation: http://wiki.blender.org/index.php/User:Nicholasbishop/SkinModifier
2012-05-16modal operation for bevel and inset:Antony Riakiotakis
This commit adds some first building blocks for the two operators to work modally based on mouse input. To make their function easier, two hotkeys are introduced, Ctrl+B for bevel and I for inset. TODO: After discussion with Campbell, we would like to add scale-style line indicators for the operators. This is already done for transform operators but a new interface for mesh operations may have to be written using pieces from that code since, strictly speaking bevel and inset are not exactly "transform" operators. Also, a better input method for inset is needed and more options exposed. The method implemented right now uses mouse move for thickness and ctrl-mouse move for depth. These are calculated using the distance of the selection center in screen space and the mouse position. While that may work and prevents abrupt changes in values when switching from thickness tweak mode to depth tweak mode, it limits the magnitude of values that can be put into the tool especially in small or large scale. Alternatives until a better method is written include: * use relative offset (works but may give strange results) * tweak manually after the operation.
2012-05-13code cleanup: header cleanup and remove some duplicate defines.Campbell Barton
2012-03-11[#30373] Which part to snap in volume snapping is removedMartin Poirier
By Bug reported by Pep Ribal Also fixed an object mode bug with volume snapping and made it compatible with the edit mode "Snap on self" option