From 5f02b167d191969474c8f3575abdd6dbaeffeb57 Mon Sep 17 00:00:00 2001 From: Tamito Kajiyama Date: Tue, 10 Apr 2012 23:53:46 +0000 Subject: New options for specifying unit line thickness. The Post Processing tab in the Render buttons has new Line Thickness options for defining unit line thickness in two different modes as follows: 1. Absolute mode: The unit line thickness is given by a user-specified number in units of pixels. The default value is 1. 2. Relative mode: The unit line thickness is scaled by the proportion of the present vertical image resolution to 480 pixels. For instance, the unit line thickness is 1 with the image height set to 480, 1.5 with 720, and 2 with 960. --- source/blender/freestyle/intern/stroke/Stroke.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'source/blender/freestyle/intern/stroke/Stroke.cpp') diff --git a/source/blender/freestyle/intern/stroke/Stroke.cpp b/source/blender/freestyle/intern/stroke/Stroke.cpp index 0c852d0e209..3675a6c0ce2 100755 --- a/source/blender/freestyle/intern/stroke/Stroke.cpp +++ b/source/blender/freestyle/intern/stroke/Stroke.cpp @@ -746,6 +746,17 @@ Interface0DIterator Stroke::pointsEnd(float t) { return verticesEnd(); } +void Stroke::ScaleThickness(float iFactor) +{ + for(vertex_container::iterator it=_Vertices.begin(), itend=_Vertices.end(); + it!=itend; + ++it) + { + StrokeAttribute& attr = (*it)->attribute(); + attr.setThickness(iFactor * attr.getThicknessR(), iFactor * attr.getThicknessL()); + } +} + void Stroke::Render(const StrokeRenderer *iRenderer) { if(!_rep) -- cgit v1.2.3