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/Modifier.py

159 lines
4.8 KiB
Python
Raw Normal View History

# Blender.Modifier module and the Modifier PyType object
"""
The Blender.Modifier submodule
B{New}:
- provides access to Blender's modifier stack
This module provides access to the Modifier Data in Blender.
Example::
from Blender import *
ob = Object.Get('Cube') # retrieve an object
mods = ob.modifiers # get the object's modifiers
for mod in mods:
print mod,mod.name # print each modifier and its name
mod = mods.append(Modifier.Type.SUBSURF) # add a new subsurf modifier
mod[Modifier.Settings.LEVELS] = 3 # set subsurf subdivision levels to 3
@type Type: readonly dictionary
@var Type: Constant Modifier dict used for L{ModSeq.append()} to a modifier sequence and comparing with L{Modifier.type}:
- ARMATURE - type value for Armature modifiers
- BOOLEAN - type value for Boolean modifiers
- BUILD - type value for Build modifiers
- CURVE - type value for Curve modifiers
- DECIMATE - type value for Decimate modifiers
- LATTICE - type value for Lattice modifiers
- SUBSURF - type value for Subsurf modifiers
- WAVE - type value for Wave modifiers
@type Settings: readonly dictionary
@var Settings: Constant Modifier dict used for changing modifier settings.
- EXPP_MOD_RENDER - Used for all modifiers
- EXPP_MOD_REALTIME - Used for all modifiers
- EXPP_MOD_EDITMODE - Used for all modifiers
- EXPP_MOD_ONCAGE - Used for all modifiers
- EXPP_MOD_OBJECT - Used for Armature, Lattice, Curve, Boolean and Array
- EXPP_MOD_VERTGROUP - Used for Armature, Lattice and Curve
- EXPP_MOD_LIMIT - Array and Mirror
- EXPP_MOD_FLAG - Mirror and Wave
- EXPP_MOD_COUNT - Decimator and Array
- EXPP_MOD_TYPES - Used for Subsurf only
- EXPP_MOD_LEVELS - Used for Subsurf only
- EXPP_MOD_RENDLEVELS - Used for Subsurf only
- EXPP_MOD_OPTIMAL - Used for Subsurf only
- EXPP_MOD_UV - Used for Subsurf only
- EXPP_MOD_ENVELOPES - Used for Armature only
- EXPP_MOD_START - Used for Build only
- EXPP_MOD_LENGTH - Used for Build only
- EXPP_MOD_SEED - Used for Build only
- EXPP_MOD_RANDOMIZE - Used for Build only
- EXPP_MOD_AXIS - Used for Mirror only
- EXPP_MOD_RATIO - Used for Decimate only
- EXPP_MOD_STARTX - Used for Wave only
- EXPP_MOD_STARTY - Used for Wave only
- EXPP_MOD_HEIGHT - Used for Wave only
- EXPP_MOD_WIDTH - Used for Wave only
- EXPP_MOD_NARROW - Used for Wave only
- EXPP_MOD_SPEED - Used for Wave only
- EXPP_MOD_DAMP - Used for Wave only
- EXPP_MOD_LIFETIME - Used for Wave only
- EXPP_MOD_TIMEOFFS - Used for Wave only
- EXPP_MOD_OPERATION - Used for Wave only
"""
class ModSeq:
"""
The ModSeq object
=================
This object provides access to list of L{modifiers<Modifier.Modifier>} for a particular object.
Only accessed from L{Object.Object.modifiers}.
"""
def __getitem__(index):
"""
This operator returns one of the object's modifiers.
@type index: int
@return: an Modifier object
@rtype: Modifier
@raise KeyError: index was out of range
"""
def __len__():
"""
Returns the number of modifiers in the object's modifier stack.
@return: number of Modifiers
@rtype: int
"""
def append(type):
"""
Appends a new modifier to the end of the object's modifier stack.
@type type: a constant specifying the type of modifier to create. as from L{Type}
@rtype: Modifier
@return: the new Modifier
"""
def remove(modifier):
"""
Remove a modifier from this objects modifier sequence.
@type modifier: a modifier from this sequence to remove.
@note: Accessing attributes of the modifier after removing will raise an error.
"""
class Modifier:
"""
The Modifier object
===================
This object provides access to a modifier for a particular object accessed from L{ModSeq}.
@ivar name: The name of this modifier. 31 chars max.
@type name: string
@ivar type: The type of this modifier. Read-only. The returned value
matches the types in L{Type}.
@type type: int
"""
def __getitem__(key):
"""
This operator returns one of the modifier's data attributes.
@type key: value from modifier's L{Modifier.Settings} constant
@return: the requested data
@rtype: varies
@raise KeyError: the key does not exist for the modifier
"""
def __setitem__(key):
"""
This operator modifiers one of the modifier's data attributes.
@type key: value from modifier's L{Modifier.Settings} constant
@raise KeyError: the key does not exist for the modifier
"""
def up():
"""
Moves the modifier up in the object's modifier stack.
@rtype: PyNone
@raise RuntimeError: request to move above another modifier requiring
original data
"""
def down():
"""
Moves the modifier down in the object's modifier stack.
@rtype: PyNone
@raise RuntimeError: request to move modifier beyond a non-deforming
modifier
"""