This repository has been archived on 2023-10-09. You can view files and clone it, but cannot push or open issues or pull requests.
Files
blender-archive/source/blender/python/api2_2x/doc/Radio.py
Willian Padovani Germano 7b943f2a6d Scripts:
- Ben Omari sent an update version of his DirectX8.py, Jean-Michel Soler updated his disp_paint.py and Campbell Barton contributed a new one: sel_same.py (for now it's in the UV menu).  Thanks all, great scripts;
- small updates in some other scripts.

BPython:
- Finished wrapping radiosity functions for the Radio submodule;
- doc updates.
2004-07-27 03:13:45 +00:00

352 lines
7.8 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. It is necessary to call L{collectMeshes}
first.
"""
def collectMeshes():
"""
Convert B{selected} visible meshes to patches for radiosity calculation.
@note: L{Object.Object.select} can be used to (un)select objects via
bpython.
"""
def freeData():
"""
Release all memory used by radiosity.
"""
def addMesh():
"""
Add the new mesh created by the radiosity simulation (see L{go}) to
Blender. The radiosity results are stored in this mesh's vertex colors.
@note: see L{replaceMeshes} for a destructive alternative.
"""
def replaceMeshes():
"""
Replace the original input meshes with the B{one} calculated by the
radiosity simulation. The radiosity results are stored in this mesh's
vertex colors.
@note: see L{addMesh} for a non-destructive alternative.
"""
def limitSubdivide():
"""
Subdivide patches (optional, it may improve results).
"""
def filterFaces():
"""
Force an extra smoothing. This method can be called only after the
simulation has been calculated (L{go}).
"""
def filterElems():
"""
Filter elements to remove aliasing artifacts. This method can be called
only after the simulation has been calculated (L{go}).
"""
def subdividePatches():
"""
Pre-subdivision: detect high-energy patches and subdivide them
(optional, it may improve results).
"""
def subdivideElems():
"""
Pre-subdivision: detect high-energy elements (nodes) and subdivide them
(optional, it may improve results).
"""
def removeDoubles():
"""
Join elements (nodes) which differ less than the defined element limit.
This method can be called only after the simulation has been calculated
(L{go}).
"""
def getHemiRes():
"""
Get hemicube size.
@rtype: int
@return: the current hemicube size.
"""
def setHemiRes(ival):
"""
Set hemicube size. The range is [100, 1000].
@type ival: int
@param ival: the new size.
"""
def getMaxIter():
"""
Get maximum number of radiosity rounds.
@rtype: int
@return: the current maxiter value.
"""
def setMaxIter(ival):
"""
Set maximum number of radiosity rounds. The range is [0, 10000].
@type ival: int
@param ival: the maxiter new value.
"""
def getSubShPatch():
"""
Get maximum number of times the environment is tested to detect patches.
@rtype: int
@return: the current value.
"""
def setSubShPatch(ival):
"""
Set the maximum number of times the environment is tested to detect
patches. The range is [0, 10].
@type ival: int
@param ival: the new value.
"""
def getSubShElem():
"""
Get the number of times the environment is tested to detect elements.
@rtype: int
@return: the current value.
"""
def setSubShElem(ival):
"""
Set number of times the environment is tested to detect elements. The
range is [0, 10].
@type ival: int
@param ival: the new value.
"""
def getElemLimit():
"""
Get the range for removing doubles.
@rtype: int
@return: the current value.
"""
def setElemLimit(ival):
"""
Set the range for removing doubles. The range is [0, 50].
@type ival: int
@param ival: the new value.
"""
def getMaxSubdivSh():
"""
Get the maximum number of initial shoot patches evaluated.
@rtype: int
@return: the current value.
"""
def setMaxSubdivSh(ival):
"""
Set the maximum number of initial shoot patches evaluated. The range is
[1, 250].
@type ival: int
@param ival: the new value.
"""
def getPatchMax():
"""
Get the maximum size of a patch.
@rtype: int
@return: the current value.
"""
def setPatchMax(ival):
"""
Set the maximum size of a patch. The range is [10, 1000].
@type ival: int
@param ival: the new value.
"""
def getPatchMin():
"""
Get the minimum size of a patch.
@rtype: int
@return: the current value.
"""
def setPatchMin(ival):
"""
Set the minimum size of a patch. The range is [10, 1000].
@type ival: int
@param ival: the new value.
"""
def getElemMax():
"""
Get the maximum size of an element.
@rtype: int
@return: the current value.
"""
def setElemMax(ival):
"""
Set the maximum size of an element. The range is [1, 100].
@type ival: int
@param ival: the new value.
"""
def getElemMin():
"""
Get the minimum size of an element. The range is [1, 100].
@rtype: int
@return: the current value.
"""
def setElemMin(ival):
"""
Set the minimum size of an element. The range is [1, 100].
@type ival: int
@param ival: the new value.
"""
def getMaxElems():
"""
Get the maximum number of elements.
@rtype: int
@return: the current value.
"""
def setMaxElems(ival):
"""
Set the maximum number of elements. The range is [1, 250000].
@type ival: int
@param ival: the new value.
"""
def getConvergence():
"""
Get lower thresholdo of unshot energy.
@rtype: float
@return: the current value.
"""
def setConvergence(fval):
"""
Set lower threshold of unshot energy. The range is [0.0, 1.0].
@type fval: float
@param fval: the new value.
"""
def getMult():
"""
Get the energy value multiplier.
@rtype: float
@return: the current value.
"""
def setMult (fval):
"""
Set the energy value multiplier. The range is [0.001, 250.0].
@type fval: float
@param fval: the new value.
"""
def getGamma():
"""
Get change in the contrast of energy values.
@rtype: float
@return: the current value.
"""
def setGamma (fval):
"""
Set change in the contrast of energy values. The range is [0.2, 10.0].
@type fval: float
@param fval: the new value.
"""
def getDrawType():
"""
Get the draw type: Wire, Solid or Gouraud as an int value, see L{DrawTypes}.
@rtype: int
@return: the current draw type.
"""
def setDrawType (dt):
"""
Set the draw type.
@type dt: string or int
@param dt: either 'Wire', 'Solid' or 'Gouraud' or the equivalent entry in
the L{DrawTypes} dictionary.
"""
def getMode():
"""
Get mode as an int (or'ed bitflags), see L{Modes} dictionary.
@rtype: int
@return: the current value.
"""
def setMode (mode1 = None, mode2 = None):
"""
Set mode flags as strings: 'ShowLimits' and 'Z'. To set one give it as
only argument. Strings not passed in are unset, so setMode() unsets
both.
@type mode1: string
@param mode1: optional mode string.
@type mode2: string
@param mode2: optional mode string.
"""