26 Commits

Author SHA1 Message Date
Campbell Barton
4b6fa4d897 PyAPI: update scripts for matrix multiply operator
Operators:
- add torus
- align objects
- bake physics
- make dupli faces
- smart project

Templates:
- 3D view ray cast

Other:
- Methods for bones/edit-bones
2018-08-12 15:22:58 +10:00
Campbell Barton
ca983d1825 Cleanup: pep8 2016-07-30 09:00:41 +10:00
Dalai Felinto
e0db647d35 Fix region_2d_to_origin_3d not working with ortho view
In some cases when:
* the viewport was in the camera mode
* the camera was ortho
* the view was not fitting (as oppose to use HOME)

region_2d_to_origin_3d would misbehave (and consequently region_2d_to_location_3d).

Sample addon to test it:
```
import bpy

from bpy_extras.view3d_utils import (
    region_2d_to_location_3d,
    )

from mathutils import (
    Vector,
    )

class MoveXYOperator(bpy.types.Operator):
    """Translate the view using mouse events"""
    bl_idname = "view3d.move_xy"
    bl_label = "Move XY"

    @classmethod
    def poll(cls, context):
        return context.object

    def modal(self, context, event):
        if event.type == 'MOUSEMOVE':
            self.move(context, event)

        elif event.type in {'LEFTMOUSE', 'RIGHTMOUSE', 'ESC'}:
            return {'FINISHED'}

        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        if context.space_data.type == 'VIEW_3D':
            self.ob = context.object
            context.window_manager.modal_handler_add(self)
            return {'RUNNING_MODAL'}
        else:
            self.report({'WARNING'}, "Active space must be a View3d")
            return {'CANCELLED'}

    def move(self, context, event):
        xy = region_2d_to_location_3d(
                context.region,
                context.space_data.region_3d,
                (event.mouse_region_x, event.mouse_region_y),
                Vector(),
                ).xy

        self.ob.location.xy = xy

def register():
    bpy.utils.register_class(MoveXYOperator)

def unregister():
    bpy.utils.unregister_class(MoveXYOperator)

if __name__ == "__main__":
    register()
```
2016-06-14 18:03:07 -03:00
Campbell Barton
847ec075eb Cleanup: pep8 2015-05-17 17:26:01 +10:00
Campbell Barton
9b359c1592 Py API: default arg for location_3d_to_region_2d
This function could return None for points behind the view,
note this in the doc-string and add an optional fallback argument.
2015-04-13 14:35:16 +10:00
Campbell Barton
d47804cb06 correct last commit: less cryptic camera check 2015-01-13 05:55:10 +11:00
Campbell Barton
a4366497db Fix T43206: region_2d_to_origin_3d has no ortho offset
With ortho views the value would be aligned to the 'rv3d->ofs'
Now it works in camera ortho & regular ortho views.
2015-01-13 05:41:56 +11:00
Campbell Barton
61baf6e813 Fix T41902: Flipped persp/ortho region_2d_to_vector_3d
- Ortho result from view3d_utils.region_2d_to_vector_3d was flipped.
- Persp result wasn't normalized.
- operator_modal_view3d_raycast.py failed for ortho views.

Thanks to Philipp Oeser for the initial fix.
2014-09-22 11:11:45 +10:00
Campbell Barton
a15be34389 Code cleanup: unused python vars & imports
Use frosted rather then pyflakes
2014-04-25 05:36:16 +10:00
Campbell Barton
97d62f0183 style cleanup 2013-01-15 23:15:32 +00:00
Campbell Barton
b0dedf3d3f new function: bpy.extras.view3d_utils.region_2d_to_origin_3d()
useful for doing ray casts from the view.
2012-07-01 08:06:01 +00:00
Campbell Barton
ac7b392247 code cleanup: some vars were assigned when not needed 2012-06-30 17:54:55 +00:00
Campbell Barton
2cb8b12778 update bpy_extras.view3d_utils for matrix changes
AFAIK all trunk scripts are now updated for changes to matrix row/col.
2011-12-24 07:11:40 +00:00
Campbell Barton
fda2045150 correct spelling errors in comments 2011-10-17 06:58:07 +00:00
Campbell Barton
a9dea3afe9 correct missing bpy doc references. 2011-08-26 18:48:48 +00:00
Campbell Barton
f4293067c1 py api: sphinx doc corrections, pep8 cleanup and style edits, also added __all__ to some modules which were missing it. 2011-07-31 03:15:37 +00:00
Campbell Barton
7f60ee6cb5 reverse vector multiplication order for some internal functions. 2011-07-25 03:59:01 +00:00
Campbell Barton
b62a956cc8 cleanup for python scripts - unused vars and imports 2011-07-10 12:51:37 +00:00
Campbell Barton
eaae38551f pep8 compliance 2011-06-21 17:17:51 +00:00
Campbell Barton
62ba2d4c68 Changes to quick explode
- fix python error when the object had an empty material slot
- initialize start frame from the current frame
- set frame range to 300000 max (which is blenders own maximum)
- mesh order was arbitrary, instead use selected -> active, removed invert option.

also fix for missing include in bpy_extras.view3d_utils
2011-06-15 00:16:30 +00:00
Campbell Barton
ecf2d1ff4e - generate sphinx docs for bpy_extras module
- add in support to doc generator for automatically generating docs for submodules.
2011-05-28 07:47:58 +00:00
Campbell Barton
26252bb315 correct spelling error and some pep8 changes. 2011-05-26 09:33:51 +00:00
Campbell Barton
4916c44af8 simplify window_to_3d_vector() and call it from viewline()
also update python view function to match.
2011-05-20 10:28:40 +00:00
Campbell Barton
32793a1395 add python access to mathutils.intersect_line_plane, update view3d_utils module to use it. 2011-05-19 04:28:09 +00:00
Campbell Barton
0c41635f85 fix for python module region_2d_to_vector_3d and region_2d_to_location_3d functions in ortho mode. 2011-05-18 15:57:20 +00:00
Campbell Barton
68dbfe6ac9 move generic bpy helper modules into bpy_extras. 2011-05-16 07:51:02 +00:00