Improvements to the Freestyle Python API (needed by the SVG Exporter)
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Sun, 31 May 2015 08:46:58 +0000 (17:46 +0900)
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Sun, 31 May 2015 14:16:45 +0000 (23:16 +0900)
commit3ca0870023bb71bc929925a8fc8d172c09df710f
tree8164c8c5bc86cd6e4344cd3ae625e26d18a566c6
parent3100fbef5e0e3943eb53e451e00dd23a11bf3017
Improvements to the Freestyle Python API (needed by the SVG Exporter)

This patch adds some new functionality to the Freestyle Python API, notably:

  - MaterialBP1D, checks whether the supplied arguments have the same material
  - Fixes a potential crash in CurvePoint.fedge (due to NULL pointer)
  - Makes (error handling in) boolean predicates more robust
  - Adds a BoundingBox type, to make working with bounding boxes easier
  - Adds several new functions (get_object_name, get_strokes, is_poly_clockwise, material_from_fedge)
  - Adds a StrokeCollector StrokeShader, that collects all the strokes from a specific call to Operators.create()
  - Adds hashing and rich comparison to the FrsMaterial type

These new features (most of them, anyway) are needed for making a more robust SVG exporter that supports holes in fills.

Reviewers: kjym3, campbellbarton

Subscribers: campbellbarton

Projects: #bf_blender

Differential Revision: https://developer.blender.org/D1245
release/scripts/freestyle/modules/freestyle/functions.py
release/scripts/freestyle/modules/freestyle/predicates.py
release/scripts/freestyle/modules/freestyle/shaders.py
release/scripts/freestyle/modules/freestyle/utils.py
source/blender/freestyle/intern/python/BPy_FrsMaterial.cpp
source/blender/freestyle/intern/python/Interface0D/BPy_CurvePoint.cpp