Trees | Indices | Help |
---|
|
This object gives access to Ipo data from all objects in Blender.
Note: Blender Materials, Lamps and Worlds have texture channels which allow the user to assign textures to them. The Blender Ipo Window allows the user to access the IpoCurves for these channels by specifying a number between 0 and 9 (the number appears next to the Ipo type in the window header). Prior to Version 2.42, the BPy API did not allow users to access these texture channels in a predictable manner. A new attribute named channel was added to the API in Version 2.42 to correct this problem.
The current channel setting has an effect on the operators [], len() and others. For example, suppose a Material has three IpoCurves (R, G, and B), and two texture channels (numbered 0 and 1), and furthermore channel 0 has one Ipocurve (Col). The IpoCurve Col can only be "seen" through the API when ipo.channel is 0. Setting ipo.channel to 1 will cause this curve to be ignored by len(ipo):
from Blender import Ipo ipo = Ipo.Get('MatIpo') for channel in xrange(2): ipo.channel = channel print 'channel is',channel print ' len is',len(ipo) names = dict([(x[1],x[0]) for x in ipo.curveConsts.items()]) for curve in [Ipo.MA_R,Ipo.MA_COL]: print ' ',names[curve],'is',curve in ipo
will output:
channel is 0 len is 4 MA_R is True MA_COL is True channel is 1 len is 3 MA_R is True MA_COL is False
|
|||
Boolean |
|
||
IpoCurve or None |
|
||
IpoCurve |
|
||
int |
|
||
string |
|
||
None |
|
||
list of IpoCurves |
|
||
IpoCurve object |
|
||
IpoCurve object |
|
||
None |
|
||
int |
|
||
None |
|
||
list of floats |
|
||
None |
|
||
int |
|
||
|
|||
list of 9 floats |
|
||
None |
|
||
float |
|
||
float |
|
|
|||
int or None |
channel the current texture channel for Blender object which support textures (materials, lamps and worlds). |
||
constant or list of strings. Read-only. |
curveConsts The valid Ipo curves for this Ipo. |
||
list of Ipocurves. |
curves Ipo curves currently defined for the Ipo. |
||
bool |
fakeUser When set to True, this datablock wont be removed, even if nothing is using it. |
||
string or None |
lib path to the blend file this datablock is stored in (readonly). |
||
string |
name unique name within each blend file. |
||
IDGroup |
properties Returns an IDGroup reference to this datablocks's ID Properties. |
||
bool |
tag A temporary tag that to flag data as being used within a loop. |
||
int |
users The number of users this datablock has. |
|
The "in" operator for Ipos. It returns True if the specified IpoCurve exists for the Ipo. This operator should not be used to test for whether a curve constant is valid for a particular Ipo type. Many constants for different Ipo types have the same value, and it is the constant's value used internally. No exceptions are raised if the argument is not a valid curve constant or or string, nor does the operator return True when the curve constant is valid but does not currently exist. As such, it should only be used to test for specific curves when the Ipo type is known: ipo = Object.Get('Cube').ipo # get Object-type Ipo if ipo: print Ipo.OB_LOCX in ipo # prints "True" if 'LocX' curve exists print Ipo.MA_R in ipo # also prints "True" since MA_R and OB_LOCX are have the same value print 'hiccup' in ipo # always prints "False" since argument is not a constant
|
This operator is similar to the Python dictionary mapping operator [], except that the user cannot assign arbitrary keys. Each Ipo type has a pre-defined set of IpoCurves which may or may not exist at a given time. This operator will either return an IpoCurve object if the specified curve exists, return None if the curve does not exists, or throws a KeyError exception if the curve is not valid for this Ipo type.
|
Iterator for Ipos. It returns all the defined IpoCurve objects associated with the Ipo. For example: from Blender import Ipo ipo = Ipo.Get() if len(ipo) > 0: ipo = ipo[0] print 'ipo name is',ipo.name for icu in ipo: print ' curve name is',icu.name might result in: ipo name is ObIpo curve name is LocX curve name is LocY curve name is LocZ
|
Returns the number of curves defined for the Ipo.
|
Gets the name of the Ipo (deprecated). See the name attribute.
|
Sets the name of the Ipo (deprecated). See the name attribute.
|
Gets all the IpoCurves of the Ipo (deprecated). Use the iterator operator [] instead.
|
Return the specified IpoCurve (deprecated). Use the mapping operator [] instead. If the curve does not exist in the Ipo, None is returned. curve can be either a string or an integer, denoting either the name of the Ipo curve or its internal adrcode. The possible Ipo curve names are:
The adrcode for the Ipo curve can also be given; this is useful for accessing curves for Shape Key Ipos. The adrcodes for Shape Key Ipo are numbered consecutively starting at 0.
|
Add a new curve to the Ipo object. The possible values for curvename are:
For Key IPOs, the name must be an existing KeyBlock name. Use curveConsts to determine the set of valid names.
|
Delete an existing curve from the Ipo object (deprecated). Use the mapping operator [] instead: from Blender import Ipo ipo = Ipo.Get('ObIpo') ipo[Ipo.LOCX] = None
|
Gets the blocktype of the Ipo.
|
Sets the blocktype of the Ipo.
Warning: 'newblocktype' should not be changed unless you really know what you are doing ... |
Gets the rctf of the Ipo. Kind of bounding box...
|
Sets the rctf of the Ipo.
Warning: rctf should not be changed unless you really know what you are doing ... |
Gets the number of curves of the Ipo (deprecated). Use len(ipo) instead.
|
This method is unsupported. BPoint Ipo curves are not implemented. Calling this method throws a NotImplementedError exception.
|
Gets a beztriple of the Ipo (deprecated). Note: Use IpoCurve.bezierPoints instead.
|
Sets the beztriple of the Ipo (deprecated). Note: use IpoCurve.bezierPoints to get a BezTriple point, then use the BezTriple API to set the point's attributes.
|
Gets the current value of a curve of the Ipo (deprecated). Note: new scripts should use IpoCurve.evaluate().
|
Gets the value at a specific time of a curve of the Ipo (deprecated). Note: new scripts should use IpoCurve.evaluate().
|
|
channelthe current texture channel for Blender object which support textures (materials, lamps and worlds). Returns None if the Ipo does not support texture channels. Value must be in the range [0,9].
|
curveConstsThe valid Ipo curves for this Ipo. These can be used by the [] mapping operator. The value depends on the Ipo curve type. If the Ipo is any type other than a Key or Shape Ipo, this attribute returns a set of constants that can be used to specify a particular curve. For Key or Shape Ipos, the attribute returns a list of all defined keys by name.
|
fakeUserWhen set to True, this datablock wont be removed, even if nothing is using it. All data has this disabled by default except for Actions.
|
libpath to the blend file this datablock is stored in (readonly).lib will be None unless you are using external blend files with (File, Append/Link) Note: the path may be relative, to get the full path use Blender.sys.expandpath
|
nameunique name within each blend file.The name is case sensitive and 21 characters maximum length. Note: a blend file may have naming collisions when external library data is used, be sure to check the value of lib. Note: Setting a value longer then 21 characters will be shortened
|
tagA temporary tag that to flag data as being used within a loop. always set all tags to True or False before using since blender uses this flag for its own internal operations.
|
usersThe number of users this datablock has. (readonly) Zero user datablocks are de-allocated after reloading and saving.
|
Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Fri Oct 24 10:23:51 2008 | http://epydoc.sourceforge.net |