Git Product home page Git Product logo

retopoflow's People

Contributors

3desprit avatar bblanimation avatar carter2422 avatar cobryan05 avatar dependabot[bot] avatar jacqueslucke avatar kant avatar mattheimlich avatar mutableloss avatar patmo141 avatar theduckcow avatar vxlcoder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

retopoflow's Issues

Cannot delete strip when part of patch

If a strip is part of a patch then it crashes upon trying to delete the selected edge.

Traceback (most recent call last):
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/__init__.py", line 2213, in modal
    ret = self.ui.modal(context, event)
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/__init__.py", line 3791, in modal
    nmode = FSM[self.mode](eventd)
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/__init__.py", line 3388, in modal_main
    self.polystrips.disconnect_gedge(self.act_gedge)
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/polystrips.py", line 1191, in disconnect_gedge
    gedge.disconnect()
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/polystrips.py", line 601, in disconnect
    self.gvert0.disconnect_gedge(self)
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/polystrips.py", line 135, in disconnect_gedge
    self.update_gedges()
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/polystrips.py", line 191, in update_gedges
    self.update()
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/polystrips.py", line 256, in update
    if gedge: gedge.update()
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/polystrips.py", line 938, in update
    gpatch.update();
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/polystrips.py", line 1121, in update
    lc0 = list(self.ge0.iter_segments())
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/polystrips.py", line 984, in iter_segments
    cur0,cur1 = gv0.get_corners_of(self)
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/polystrips.py", line 356, in get_corners_of
    assert False, "GEdge is not connected"
AssertionError: GEdge is not connected

Optimize Polystrips for speed

Polystrips can quickly become quite slow, particularly on slower machines and complex models.

If there's anything we can do to optimize it then we should ๐Ÿ˜„

Speed is probably one of the more common points of critical feedback I've heard.

Replace old settings calls with new function in common_utilities

Contours used an older method of setting the add-on preferences. We now have a common utility that makes it much simpler.

All calls for:

settings = context.user_preferences.addons[AL.FolderName].preferences

Should be replaced with:

settings = common_utilities.get_settings()

Re-work widget theme and options

The Contours widget needs to be re-designed and re-themed. The new design has been done by Pawel L. but the functionality is waiting on the new Wiggly Widgets work by Antony R in Blender master.

UI checkbox to turn off pressure

Need to add the ability for users to turn off pressure sensitivity. It's not always useful and some users will want to use a tablet but not use pressure.

Polystrips fails on start if "BezierCurve" object exists

If a bezier curve object with name "BezierCurve" is present in scene upon starting Polystrips then it fails.

Traceback (most recent call last):
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/__init__.py", line 2200, in invoke
    self.ui = PolystripsUI(context, event)
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/__init__.py", line 2348, in __init__
    self.create_polystrips_from_bezier(bpy.data.objects['BezierCurve'])
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/__init__.py", line 3678, in create_polystrips_from_bezier
    gv0 = pregv if pregv else self.create_gvert(mx, bp0.co, 0.2)
AttributeError: 'PolystripsUI' object has no attribute 'create_gvert'

Contours is broken: sequence size is 2, expected 3

Traceback (most recent call last):
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/__init__.py", line 1310, in modal
    self.hover_loop_mode(context, settings, event)
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/__init__.py", line 893, in hover_loop_mode
    h_target = c_cut.active_element(context,event.mouse_region_x,event.mouse_region_y)
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/contour_classes.py", line 2459, in active_element
    intersect = intersect_point_line(mouse_loc, a, b)
ValueError: intersect_point_line: sequence size is 2, expected 3

Keymaps should be created as a Modal Keymap

The hard-coded keymaps are really troublesome right now, particularly for selection. They aren't flexible and are easily missed if we forget to update the header.

According to @ideasman42, it should be possible to define an actual modal keymap in Python, like this:
screen shot 2015-01-03 at 8 22 13 pm

Should not be able to scale inner gverts

Current you can scale a selected inner gvert. This is unnecessary and should not be allowed, so as to prevent confusion with the user.
screen shot 2015-01-02 at 11 04 22 am

If an inner gvert is selected let's not allow the scale operator to be activated.

Polystrips on thin areas often flip to the wrong side

We've talked about this one before, and so far as I know there's no good solution at the moment but it's something we should kind in mind to investigate.

On thin models there's often a problem with polystrips flipping to the opposite side of the mesh from that which it's drawn on. This can be really troublesome for certain models.

GVert is left-handed!

this mistake was made early on in dev (much of the framework uses this) and needs to get fixed.

Unify selection sets

Currently selection is split across gverts, gedges, and gpatches. Per discussion, we've decided to unify this such that all elements belong to the same selection set.

Tweak: adjusting segments in gedge adjacent to tweaked patch makes everything disappear momentarily

If you tweak a patch and then try and adjust the segments of an adjacent gedge it breaks. Everything but the tweaked patch disappears.

Console output:

Traceback (most recent call last):
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/__init__.py", line 2214, in draw_callback
    return self.ui.draw_callback(context)
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/__init__.py", line 2505, in draw_callback
    self.draw_callback_themed(context)
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/__init__.py", line 2550, in draw_callback_themed
    for (p0,p1,p2,p3) in gpatch.iter_segments(only_visible=True):
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/polystrips.py", line 1296, in iter_segments
    if not all(self.visible[idx] for idx in lidxs):
  File "/Users/jonathanwilliamson/Dropbox (Personal)/blenderDev/addons/cgCookie/scripts/addons/retopoFlow/polystrips.py", line 1296, in <genexpr>
    if not all(self.visible[idx] for idx in lidxs):
KeyError: (11, 1)```

![screen shot 2015-01-03 at 10 28 39 pm](https://cloud.githubusercontent.com/assets/1648631/5604776/f6086094-9397-11e4-92e6-fb3b9bb5724c.png)
![screen shot 2015-01-03 at 10 29 26 pm](https://cloud.githubusercontent.com/assets/1648631/5604777/fd6338aa-9397-11e4-8952-9c873d9e1fac.png)

Note: the behavior is slightly different when increasing/decreasing segments.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.