diff options
Diffstat (limited to 'source/blender/python/api2_2x/doc/Lattice.py')
-rw-r--r-- | source/blender/python/api2_2x/doc/Lattice.py | 209 |
1 files changed, 209 insertions, 0 deletions
diff --git a/source/blender/python/api2_2x/doc/Lattice.py b/source/blender/python/api2_2x/doc/Lattice.py new file mode 100644 index 00000000000..8666254ec0d --- /dev/null +++ b/source/blender/python/api2_2x/doc/Lattice.py @@ -0,0 +1,209 @@ +# Blender.Lattice module and the Lattice PyType object + +""" +The Blender.Lattice submodule. + +Lattice Object +============== + +This module provides access to B{Lattice} object in Blender. + +Example:: + import Blender + from Blender import Lattice, Object, Scene, Modifier + + # Make new lattice data + lattice_data = Lattice.New() + lattice_data.setPartitions(5,5,5) + lattice_data.setKeyTypes(Lattice.LINEAR, Lattice.CARDINAL, Lattice.BSPLINE) + lattice_data.setMode(Lattice.OUTSIDE) + + for y in range(125): + vec = lattice_data.getPoint(y) + co1 = vec[0] + vec[0] / 5 + co2 = vec[1] - vec[2] * 0.3 + co3 = vec[2] * 3 + lattice_data.setPoint(y,[co1,co2,co3]) + + # Create a new object from the lattice in the current scene + scn = Scene.GetCurrent() + ob_lattice = scn.objects.new(lattice_data) + + # Get an object to deform with this lattice + mySphere = Object.Get('Sphere') + + # Apply lattice modifier + mod= mySphere.modifiers.append(Modifier.Type.LATTICE) + mod[Modifier.Settings.OBJECT] = ob_lattice + mySphere.makeDisplayList() + + Blender.Redraw() +""" + +def New (name = None): + """ + Create a new Lattice object. + Passing a name to this function will name the Lattice + datablock, otherwise the Lattice data will be given a + default name. + @type name: string + @param name: The Lattice name. + @rtype: Blender Lattice + @return: The created Lattice Data object. + """ + +def Get (name = None): + """ + Get the Lattice object(s) from Blender. + @type name: string + @param name: The name of the Lattice object. + @rtype: Blender Lattice or a list of Blender Lattices + @return: It depends on the 'name' parameter: + - (name): The Lattice object with the given name; + - (): A list with all Lattice objects in the current scene. + """ + +class Lattice: + """ + The Lattice object + ================== + This object gives access to Lattices in Blender. + @ivar width: The number of x dimension partitions. + @ivar height: The number of y dimension partitions. + @ivar depth: The number of z dimension partitions. + @ivar widthType: The x dimension key type. + @ivar heightType: The y dimension key type. + @ivar depthType: The z dimension key type. + @ivar mode: The current mode of the Lattice. + @ivar latSize: The number of points in this Lattice (width*height*depth). + @cvar key: The L{Key.Key} object associated with this Lattice or None. + """ + + def getName(): + """ + Get the name of this Lattice datablock. + @rtype: string + @return: The name of the Lattice datablock. + """ + + def setName(name): + """ + Set the name of this Lattice datablock. + @type name: string + @param name: The new name. + """ + + def getPartitions(): + """ + Gets the number of 'walls' or partitions that the Lattice has + in the x, y, and z dimensions. + @rtype: list of ints + @return: A list corresponding to the number of partitions: [x,y,z] + """ + + def setPartitions(x,y,z): + """ + Set the number of 'walls' or partitions that the + Lattice will be created with in the x, y, and z dimensions. + @type x: int + @param x: The number of partitions in the x dimension of the Lattice. + @type y: int + @param y: The number of partitions in the y dimension of the Lattice. + @type z: int + @param z: The number of partitions in the z dimension of the Lattice. + """ + + def getKeyTypes(): + """ + Returns the deformation key types for the x, y, and z dimensions of the + Lattice. + @rtype: list of strings + @return: A list corresponding to the key types will be returned: [x,y,z] + """ + + def setKeyTypes(xType,yType,zType): + """ + Sets the deformation key types for the x, y, and z dimensions of the + Lattice. + There are three key types possible: + - Lattice.CARDINAL + - Lattice.LINEAR + - Lattice.BSPLINE + @type xType: enum constant + @param xType: the deformation key type for the x dimension of the Lattice + @type yType: enum constant + @param yType: the deformation key type for the y dimension of the Lattice + @type zType: enum constant + @param zType: the deformation key type for the z dimension of the Lattice + """ + + def getMode(): + """ + Returns the current Lattice mode + @rtype: string + @return: A string representing the current Lattice mode + """ + + def setMode(modeType): + """ + Sets the current Lattice mode + There are two Lattice modes possible: + - Lattice.GRID + - Lattice.OUTSIDE + @type modeType: enum constant + @param modeType: the Lattice mode + """ + + def getPoint(index): + """ + Returns the coordinates of a point in the Lattice by index. + @type index: int + @param index: The index of the point on the Lattice you want returned + @rtype: list of floats + @return: The x,y,z coordiates of the Lattice point : [x,y,z] + """ + + def setPoint(index, position): + """ + Sets the coordinates of a point in the Lattice by index. + @type index: int + @param index: The index of the point on the Lattice you want set + @type position: list of floats + @param position: The x,y,z coordinates that you want the point to be: [x,y,z] + """ + + def getKey(): + """ + Returns the L{Key.Key} object associated with this Lattice. + @rtype: L{Key.Key} + @return: A key object representing the keyframes of the lattice or None. + """ + + def insertKey(frame): + """ + Inserts the current state of the Lattice as a new absolute keyframe + + B{Example}:: + for z in range(5): + for y in range(125): + vec = myLat.getPoint(y) + co1 = vec[0] + vec[2] + co2 = vec[1] - vec[2] + co3 = vec[2] + vec[1] + myLat.setPoint(y,[co1,co2,co3]) + w = (z + 1) * 10 + myLat.insertKey(w) + + @type frame: int + @param frame: the frame at which the Lattice will be set as a keyframe + """ + + def __copy__ (): + """ + Make a copy of this lattice + @rtype: Lattice + @return: a copy of this lattice + """ + +import id_generics +Lattice.__doc__ += id_generics.attributes |