
no executable code. Martin noticed many of our bpy instance variables were incorrectly marked as class variables in the doc. This commit essentially changes the title of sections of the doc from Class Variables to Instance Variables. Now that we are adding class or module dictionaries for constants, etc. this is a distinction worth making. Plus it is right.
374 lines
9.6 KiB
Python
374 lines
9.6 KiB
Python
# Blender.Metaball module and the Metaball PyType metaball
|
|
|
|
"""
|
|
The Blender.Metaball submodule
|
|
|
|
This module provides access to the B{Metaball Data} in Blender.
|
|
|
|
Example::
|
|
import Blender
|
|
|
|
ob = Blender.Object.New("Mball","mb")
|
|
mb = Blender.Metaball.New()
|
|
for i in range(20):
|
|
mb.addMetaelem([0, float(i),1.0,1.0, 2.0,1,2.0,1.0,1.0,1.0])
|
|
ob.link(mb)
|
|
sc = Blender.Scene.getCurrent()
|
|
sc.link(ob)
|
|
"""
|
|
|
|
|
|
def New (name):
|
|
"""
|
|
Creates a new Metaball.
|
|
@type name: string
|
|
@param name: The name of the metaball. If this parameter is not given (or not valid) blender will assign a name to the metaball.
|
|
@rtype: Blender Metaball
|
|
@return: The created Metaball.
|
|
"""
|
|
|
|
def Get (name):
|
|
"""
|
|
Get the Metaball from Blender.
|
|
@type name: string
|
|
@param name: The name of the requested Metaball.
|
|
@rtype: Blender Metaball or a list of Blender Metaballs
|
|
@return: It depends on the 'name' parameter:
|
|
- (name): The Metaball with the given name;
|
|
- (): A list with all Metaballs in the current scene.
|
|
"""
|
|
|
|
class Metaball:
|
|
"""
|
|
The Metaball object
|
|
===================
|
|
This metaball gives access to generic data from all metaballs in Blender.
|
|
@ivar name: The name of the metaball.
|
|
@ivar loc: The location of the metaball.
|
|
@ivar rot: The rotation of the metaball.
|
|
@ivar size: The size of the metaball.
|
|
"""
|
|
|
|
def addMetaelem(paramslist):
|
|
"""
|
|
Add a new metaelem to this metaball. 'paramslist' must have the
|
|
following ten elements:
|
|
- param 1: int - metaelem type:
|
|
- 0 for a sphere
|
|
- 1 for a tubex
|
|
- 2 for a tubey
|
|
- 3 for a tubez
|
|
- 4 for a regular tube
|
|
- 5 for a plane
|
|
- 6 for an ellipsoid
|
|
- 7 for a cube
|
|
- params 2,3,4: floats - the x, y and z coordinates of the metaelem.
|
|
- param 5: float - the rad value of the metaelem.
|
|
- param 6: int - the lay value.
|
|
- param 7: float - the s value of the metaelem.
|
|
- params 8,9,10: floats - the expx, expy and expz values of the metaelem.
|
|
@type paramslist: list
|
|
@param paramslist: the list of the parameters for creating a new metaelem.
|
|
@rtype: None
|
|
@return: None
|
|
"""
|
|
|
|
|
|
def getMetaElemList():
|
|
"""
|
|
retreives the list of the Metaelems of the Metaball
|
|
@rtype: List
|
|
@return: List of Metaelem classes
|
|
Each Metaelem object has NO function, but 4 read/write fields\n
|
|
coords : a list of three floats, the coordinates of the Metaelem object\n
|
|
dims : a list of three floats, the dimensions of the meteelem object\n
|
|
rad : a float, the radius of the object\n
|
|
stif : a float, the stifness of the object\n
|
|
Example : \n
|
|
import Blender\n
|
|
|
|
mb = Blender.Metaball.Get("mball")\n
|
|
ob = Blender.Object.Get("ob")\n
|
|
ll = mb.getMetaElemList()\n
|
|
me = ll[0]\n
|
|
old = me.coords\n
|
|
new = [old[0],old[1],old[2]-.02]\n
|
|
me.coords = new\n
|
|
|
|
ob.makeDisplayList()\n
|
|
Blender.Window.QRedrawAll()
|
|
"""
|
|
|
|
def getName():
|
|
"""
|
|
Retrieves the name of a metaball object.
|
|
@rtype: string
|
|
@return: the name of a metaball object.
|
|
"""
|
|
|
|
|
|
def setName(name):
|
|
"""
|
|
Sets the name of a metaball object.
|
|
@type name: string
|
|
@param name : the new name
|
|
@rtype: None
|
|
@return: None
|
|
"""
|
|
|
|
|
|
|
|
def getBbox():
|
|
"""
|
|
Retrieves the bounding box of a metaball object.
|
|
@rtype: a list of 24 floats(8 points, 3 coordinates)
|
|
@return: the bounding box of a metaball object
|
|
"""
|
|
|
|
def getNMetaElems():
|
|
"""
|
|
Retrieves the number of metaelems (elementary spheres or cylinders) of a metaball object.
|
|
@rtype: int
|
|
@return: number of metaelems of a metaball object
|
|
"""
|
|
|
|
def getLoc():
|
|
"""
|
|
Retrieves the location of a metaball object.
|
|
@rtype: a list of 3 floats
|
|
@return: location of a metaball object
|
|
"""
|
|
|
|
def setLoc(newloc):
|
|
"""
|
|
Sets the location of a metaball object.
|
|
@type newloc: list of 3 floats
|
|
@param newloc: the new location
|
|
@rtype: None
|
|
@return: None
|
|
"""
|
|
|
|
def getRot():
|
|
"""
|
|
Retrieves the rotation of a metaball object.
|
|
@rtype: a list of 3 floats
|
|
@return: rotation of a metaball object
|
|
"""
|
|
|
|
def setRot(newrot):
|
|
"""
|
|
Sets the rotation of a metaball object.
|
|
@type newrot: list of 3 floats
|
|
@param newrot: the new rotation
|
|
@rtype: None
|
|
@return: None
|
|
"""
|
|
|
|
def getSize():
|
|
"""
|
|
Retrieves the size of a metaball object.
|
|
@rtype: a list of 3 floats
|
|
@return: size a metaball object
|
|
"""
|
|
|
|
def setSize(newsize):
|
|
"""
|
|
Sets the size of a metaball object.
|
|
@type newsize: list of 3 floats
|
|
@param newsize: the new size
|
|
@rtype: None
|
|
@return: None
|
|
"""
|
|
|
|
def getWiresize():
|
|
"""
|
|
Retrieves the wiresize of a metaball object.
|
|
@rtype: float
|
|
@return: wire size a metaball object
|
|
"""
|
|
|
|
def setWiresize(newsize):
|
|
"""
|
|
Sets the wire size of a metaball object.
|
|
@type newsize: float
|
|
@param newsize: the new size
|
|
@rtype: None
|
|
@return: None
|
|
"""
|
|
def getRendersize():
|
|
"""
|
|
Retrieves the rendersize of a metaball object.
|
|
@rtype: float
|
|
@return: render size a metaball object
|
|
"""
|
|
|
|
def setRendersize(newsize):
|
|
"""
|
|
Sets the render size of a metaball object.
|
|
@type newsize: float
|
|
@param newsize: the new size
|
|
@rtype: None
|
|
@return: None
|
|
"""
|
|
|
|
def getThresh():
|
|
"""
|
|
Retrieves the threshold of a metaball object.
|
|
@rtype: float
|
|
@return: threshold of the metaball object
|
|
"""
|
|
|
|
def setThresh(threshold):
|
|
"""
|
|
Sets the threshold of a metaball object.
|
|
@type threshold: float
|
|
@param threshold: the new size
|
|
@rtype: None
|
|
@return: None
|
|
"""
|
|
|
|
def getMetadata(name,num):
|
|
"""
|
|
Retrieves the metadata of a metaball object. A metaball is composed of one or several elementary objects, spheres or cylinders, which interact to create the smooth surface everybody knows. The get/set Metadata functions allow users to read/write the parameters of these elementary objects, called metaelements.
|
|
@type name: string
|
|
@param name: the name of the property to be read. The accepted values are :"type", "x", "y", "z", "expx", "expy", "expz", "rad", "rad2", "s", "len".
|
|
@type num: int
|
|
@param num: the position of the metaelem to be accessed.
|
|
@rtype: float
|
|
@return: the metaelement parameter value, generally a float, except for the parameter "type", which returns an int.
|
|
"""
|
|
|
|
def setMetadata(name,num,val):
|
|
"""
|
|
The setMetadata function has the same semantics as getMetadata, except that it needs the parameter value, and always returns None.
|
|
@type name: string
|
|
@param name: the name of the property to be read. The accepted values are :"type", "x", "y", "z", "expx", "expy", "expz", "rad", "rad2", "s", "len".
|
|
@type num: int
|
|
@param num: the position of the metaelem to be accessed.
|
|
@type val: float, except if name is "type".
|
|
@param val: the new value of the parameter.
|
|
@rtype: None
|
|
@return: None
|
|
"""
|
|
|
|
def getMetatype(pos):
|
|
"""
|
|
Retrieves the type of a metaelem object.
|
|
@type pos: int
|
|
@param pos: the position of the metaelement
|
|
@rtype: int
|
|
@return: type of the metaelem object
|
|
"""
|
|
|
|
def setMetatype(pos,newtype):
|
|
"""
|
|
Sets the type of a metaelem object.
|
|
@type pos: int
|
|
@param pos: the position of the metaelement
|
|
@type newtype: int
|
|
@param newtype: the new type
|
|
@rtype: None
|
|
@return: None
|
|
"""
|
|
|
|
def getMetax(pos):
|
|
"""
|
|
Retrieves the x parameter of a metaelem object.
|
|
@type pos: int
|
|
@param pos: the position of the metaelement
|
|
@rtype: float
|
|
@return: x parameter of the metaelem object
|
|
"""
|
|
|
|
def setMetax(pos,newx):
|
|
"""
|
|
Sets the x parameter of a metaelem object.
|
|
@type pos: int
|
|
@param pos: the position of the metaelement
|
|
@type newx: float
|
|
@param newx: the new x parameter value
|
|
@rtype: None
|
|
@return: None
|
|
"""
|
|
|
|
def getMetay(pos):
|
|
"""
|
|
Retrieves the y parameter of a metaelem object.
|
|
@type pos: int
|
|
@param pos: the position of the metaelement
|
|
@rtype: float
|
|
@return: y parameter of the metaelem object
|
|
"""
|
|
|
|
def setMetay(pos,newy):
|
|
"""
|
|
Sets the y parameter of a metaelem object.
|
|
@type pos: int
|
|
@param pos: the position of the metaelement
|
|
@type newy: float
|
|
@param newy: the new y parameter value
|
|
@rtype: None
|
|
@return: None
|
|
"""
|
|
|
|
def getMetaz(pos):
|
|
"""
|
|
Retrieves the z parameter of a metaelem object.
|
|
@type pos: int
|
|
@param pos: the position of the metaelement
|
|
@rtype: float
|
|
@return: z parameter of the metaelem object
|
|
"""
|
|
|
|
def setMetaz(pos,newz):
|
|
"""
|
|
Sets the z parameter of a metaelem object.
|
|
@type pos: int
|
|
@param pos: the position of the metaelement
|
|
@type newz: float
|
|
@param newz: the new z parameter value
|
|
@rtype: None
|
|
@return: None
|
|
"""
|
|
|
|
|
|
def getMetas(pos):
|
|
"""
|
|
Retrieves the s parameter of a metaelem object.
|
|
@type pos: int
|
|
@param pos: the position of the metaelement
|
|
@rtype: float
|
|
@return: s parameter of the metaelem object
|
|
"""
|
|
|
|
def setMetas(pos,news):
|
|
"""
|
|
Sets the s parameter of a metaelem object.
|
|
@type pos: int
|
|
@param pos: the position of the metaelement
|
|
@type news: float
|
|
@param news: the new x parameter value
|
|
@rtype: None
|
|
@return: None
|
|
"""
|
|
|
|
def getMetalen(pos):
|
|
"""
|
|
Retrieves the len parameter of a metaelem object.
|
|
@type pos: int
|
|
@param pos: the position of the metaelement
|
|
@rtype: float
|
|
@return: len parameter of the metaelem object
|
|
"""
|
|
|
|
def setMetalen(pos,newlen):
|
|
"""
|
|
Sets the len parameter of a metaelem object.
|
|
@type pos: int
|
|
@param pos: the position of the metaelement
|
|
@type newlen: float
|
|
@param newlen: the new x parameter value
|
|
@rtype: None
|
|
@return: None
|
|
"""
|