# 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. @cvar name: The name of the metaball. @cvar loc: The location of the metaball. @cvar rot: The rotation of the metaball. @cvar 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 """