
- new submodule Scene.Radio, for radiosity: still incomplete, but in shape for demos, updated SConscript to include it; - new functions in Window module; - doc updates: adding a todo file and a new start page for our docs: API_intro.py + other updates; - small fix in Ipo.c provided by Damien McGuinnes (thanks!): Nathan has a patch with IPO additions and fixes for this and more, but until it is committed, there's this fix for Ipo.getCurve('LocX'), LocY, Z and QuatW,X,Y,Z too, according to Damien. Other files: - radpreprocess.c: added check for "during_script()" so eventual msgs don't popup during scripts; - drawmesh.c: made a pointer (display list) be checked before accessed, fixes crash in scripts that forget to update display lists for subsurf meshes when a 3d view is in textured view mode. Script: updated bevel_center by Loic Berthe.
67 lines
1.2 KiB
Python
67 lines
1.2 KiB
Python
# Blender.Scene.Radio module and the Radiosity PyType object
|
|
|
|
"""
|
|
The Blender.Scene.Radio submodule.
|
|
|
|
Radio
|
|
=====
|
|
|
|
This module gives access to B{Scene Radiosity Contexts} in Blender.
|
|
|
|
Example::
|
|
import Blender
|
|
from Blender import Scene
|
|
|
|
# Only the current scene has a radiosity context.
|
|
# Naturally, any scene can be made the current one
|
|
# with scene.makeCurrent()
|
|
|
|
scn = Scene.GetCurrent()
|
|
|
|
# this is the only way to access the radiosity object:
|
|
|
|
radio = scn.getRadiosityContext()
|
|
|
|
radio.setDrawType('Gouraud')
|
|
radio.setMode('ShowLimits', 'Z')
|
|
|
|
radio.collectMeshes() # prepare patches
|
|
radio.go() # calculate radiosity
|
|
Blender.Redraw(-1)
|
|
|
|
|
|
@type Modes: readonly dictionary
|
|
@var Modes:
|
|
- ShowLimits
|
|
- Z
|
|
|
|
@type DrawTypes: readonly dictionary
|
|
@var DrawTypes:
|
|
- Wire
|
|
- Solid
|
|
- Gouraud
|
|
"""
|
|
|
|
class Radio:
|
|
"""
|
|
The Radiosity object
|
|
====================
|
|
This object wraps the current Scene's radiosity context in Blender.
|
|
"""
|
|
|
|
def go():
|
|
"""
|
|
Start the radiosity simulation. Remember to call L{collectMeshes} first.
|
|
"""
|
|
|
|
def collectMeshes():
|
|
"""
|
|
Convert selected visible meshes to patches for radiosity calculation.
|
|
"""
|
|
|
|
def freeData():
|
|
"""
|
|
Release all memory used by radiosity.
|
|
"""
|
|
|