[Bf-committers] extending Blender/Yafray Python API
Dietrich Bollmann
diresu at web.de
Wed Jun 6 06:32:28 CEST 2007
Hello,
I tried to get an account on the patch tracker but (even after
following the indications at [Resend confirmation email to a pending
account]) I never got a confirmation email.
So - here comes the patch per email :)
---
Hi,
I wrote some new functions for the Blender/Yafray Python API with the
idea to make all Yafray GUI options readable and settable from the
Python API.
I also reimplemented some setter/getter functions as settable/gettable
member variables as I found this kind of duplication to be common in
the API (often with the functions deprecated).
I like verbose names - so the length of the variable names might not
be appreciated. Please change them to whatever you think is more
appropriate.
Thanks, Dietrich
* Here comes a list with the newly implemented variables:
(plus two new getter functions and a constant)
scn.render.yafrayGIQuality - only the setter
`setYafrayGIQuality()' existed
scn.render.getYafrayGIQuality() - only the setter
`setYafrayGIQuality()' existed
scn.render.yafrayExportToXML - neither a setter nor a getter
existed
scn.render.yafrayAutoAntiAliasing - neither a setter nor a getter
existed
scn.render.yafrayClampRGB - neither a setter nor a getter
existed
scn.render.yafrayAntiAliasingPasses - neither a setter nor a getter
existed
scn.render.yafrayAntiAliasingSamples - neither a setter nor a getter
existed
scn.render.yafrayAntiAliasingPixelSize - neither a setter nor a getter
existed
scn.render.yafrayAntiAliasingThreshold - neither a setter nor a getter
existed
scn.render.yafrayNumberOfProcessors - there was already a setter and
a getter: scn.render.yafrayProcessorCount()
scn.render.yafrayGIMethod - only the setter
`setYafrayGIMethod()' existed
scn.render.getYafrayGIMethod() - only the setter
`setYafrayGIMethod()' existed
scn.render.yafrayGICache - only the setter
`enableYafrayGICache()' existed
scn.render.yafrayGICacheBumpNormals - there was neither a setter nor
a getter
scn.render.yafrayGICacheShadowQuality - there was already a setter and
a getter: yafrayGIShadowQuality()
scn.render.yafrayGICachePixelsPerSample - there was already a setter and
a getter: yafrayGIPixelsPerSample()
scn.render.yafrayGICacheRefinement - there was already a setter and
a getter: yafrayGIRefinement()
scn.render.yafrayGIPhotons - there was only a setter:
enableYafrayGIPhotons()
scn.render.yafrayGITunePhotons - there was only a setter:
enableYafrayGITunePhotons()
Blender.Scene.Render.USEAOSETTINGS - new - as this option existed
also in the GUI
* Testing the new functions
This is Blash - the GNU BLender-Again SHell :)
Connection to Blender Server established. (IP address: 127.0.0.1,
port: 6789)
>>> import Blender; scn = Blender.Scene.GetCurrent()
>>> scn.render.yafrayGIQuality = Blender.Scene.Render.NONE;
scn.render.yafrayGIQuality
0
>>> scn.render.yafrayGIQuality = Blender.Scene.Render.LOW;
scn.render.yafrayGIQuality
1
>>> scn.render.yafrayGIQuality = Blender.Scene.Render.MEDIUM;
scn.render.yafrayGIQuality
2
>>> scn.render.yafrayGIQuality = Blender.Scene.Render.HIGH;
scn.render.yafrayGIQuality
3
>>> scn.render.yafrayGIQuality = Blender.Scene.Render.HIGHER;
scn.render.yafrayGIQuality
4
>>> scn.render.yafrayGIQuality = Blender.Scene.Render.BEST;
scn.render.yafrayGIQuality
5
>>> scn.render.yafrayGIQuality = Blender.Scene.Render.USEAOSETTINGS;
scn.render.yafrayGIQuality
6
>>> scn.render.yafrayGIQuality
6
>>> scn.render.getYafrayGIQuality()
6
>>> scn.render.yafrayExportToXML = not scn.render.yafrayExportToXML;
scn.render.yafrayExportToXML;
1
>>> scn.render.yafrayExportToXML = not scn.render.yafrayExportToXML;
scn.render.yafrayExportToXML;
0
>>> scn.render.yafrayExportToXML = not scn.render.yafrayExportToXML;
scn.render.yafrayExportToXML;
1
>>> scn.render.yafrayAutoAntiAliasing = not
scn.render.yafrayAutoAntiAliasing; scn.render.yafrayAutoAntiAliasing
1
>>> scn.render.yafrayAutoAntiAliasing = not
scn.render.yafrayAutoAntiAliasing; scn.render.yafrayAutoAntiAliasing
0
>>> scn.render.yafrayAutoAntiAliasing = not
scn.render.yafrayAutoAntiAliasing; scn.render.yafrayAutoAntiAliasing
1
>>> scn.render.yafrayClampRGB = not scn.render.yafrayClampRGB;
scn.render.yafrayClampRGB
1
>>> scn.render.yafrayClampRGB = not scn.render.yafrayClampRGB;
scn.render.yafrayClampRGB
0
>>> scn.render.yafrayAntiAliasingPasses = 0;
scn.render.yafrayAntiAliasingPasses
0
>>> scn.render.yafrayAntiAliasingPasses = 64;
scn.render.yafrayAntiAliasingPasses
64
>>> scn.render.yafrayAntiAliasingPasses = 65
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: out of range - expected 0 to 64
>>> scn.render.yafrayAntiAliasingSamples = 0;
scn.render.yafrayAntiAliasingSamples
0
>>> scn.render.yafrayAntiAliasingSamples = 2048;
scn.render.yafrayAntiAliasingSamples
2048
>>> scn.render.yafrayAntiAliasingSamples = 2049
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: out of range - expected 0 to 2048
>>> scn.render.yafrayAntiAliasingPixelSize = 1.0;
scn.render.yafrayAntiAliasingPixelSize
1.0
>>> scn.render.yafrayAntiAliasingPixelSize = 2.0;
scn.render.yafrayAntiAliasingPixelSize
2.0
>>> scn.render.yafrayAntiAliasingPixelSize = 0.9
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: out of range - expected 1.000000 to 2.000000
>>> scn.render.yafrayAntiAliasingThreshold = 0.05;
scn.render.yafrayAntiAliasingThreshold
0.05000000074505806
>>> scn.render.yafrayAntiAliasingThreshold = 1.0;
scn.render.yafrayAntiAliasingThreshold
1.0
>>> scn.render.yafrayAntiAliasingThreshold = 0.04
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: out of range - expected 0.050000 to 1.000000
>>> scn.render.yafrayNumberOfProcessors = 1;
scn.render.yafrayNumberOfProcessors
1
>>> scn.render.yafrayNumberOfProcessors = 8;
scn.render.yafrayNumberOfProcessors
8
>>> scn.render.yafrayNumberOfProcessors = 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: out of range - expected 1 to 8
>>> scn.render.yafrayGIMethod = Blender.Scene.Render.NONE;
scn.render.yafrayGIMethod
0
>>> scn.render.yafrayGIMethod = Blender.Scene.Render.SKYDOME;
scn.render.yafrayGIMethod
1
>>> scn.render.yafrayGIMethod = Blender.Scene.Render.GIFULL;
scn.render.yafrayGIMethod
2
>>> scn.render.getYafrayGIMethod()
2
>>> scn.render.yafrayGICache = not scn.render.yafrayGICache;
scn.render.yafrayGICache
1
>>> scn.render.yafrayGICache = not scn.render.yafrayGICache;
scn.render.yafrayGICache
0
>>> scn.render.yafrayGICacheBumpNormals = not
scn.render.yafrayGICacheBumpNormals; scn.render.yafrayGICacheBumpNormals
1
>>> scn.render.yafrayGICacheBumpNormals = not
scn.render.yafrayGICacheBumpNormals; scn.render.yafrayGICacheBumpNormals
0
>>> scn.render.yafrayGICacheShadowQuality = 0.01;
scn.render.yafrayGICacheShadowQuality
0.0099999997764825821
>>> scn.render.yafrayGICacheShadowQuality = 1.0;
scn.render.yafrayGICacheShadowQuality
1.0
>>> scn.render.yafrayGICacheShadowQuality = 0.001
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: out of range - expected 0.010000 to 1.000000
>>> scn.render.yafrayGICachePixelsPerSample = 1;
scn.render.yafrayGICachePixelsPerSample
1
>>> scn.render.yafrayGICachePixelsPerSample = 50;
scn.render.yafrayGICachePixelsPerSample
50
>>> scn.render.yafrayGICachePixelsPerSample = 51
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: out of range - expected 1 to 50
>>> scn.render.yafrayGICacheRefinement = 0.001;
scn.render.yafrayGICacheRefinement
0.0010000000474974513
>>> scn.render.yafrayGICacheRefinement = 1.0;
scn.render.yafrayGICacheRefinement
1.0
>>> scn.render.yafrayGICacheRefinement = 0.0001
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: out of range - expected 0.001000 to 1.000000
>>> scn.render.yafrayGIPhotons = not scn.render.yafrayGIPhotons;
scn.render.yafrayGIPhotons
1
>>> scn.render.yafrayGIPhotons = not scn.render.yafrayGIPhotons;
scn.render.yafrayGIPhotons
0
>>> scn.render.yafrayGITunePhotons = not scn.render.yafrayGITunePhotons;
scn.render.yafrayGITunePhotons
1
>>> scn.render.yafrayGITunePhotons = not scn.render.yafrayGITunePhotons;
scn.render.yafrayGITunePhotons
0
>>> Blender.Scene.Render.USEAOSETTINGS
6
>>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch-blender-yafray-python-api.txt
Type: text/x-patch
Size: 24330 bytes
Desc: not available
Url : http://lists.blender.org/pipermail/bf-committers/attachments/20070606/ec51933f/attachment-0001.bin
More information about the Bf-committers
mailing list