From 61b3a9f8e19c075f5bdd5316636406e49c845df8 Mon Sep 17 00:00:00 2001 From: Joseph Gilbert Date: Fri, 14 Nov 2003 01:10:59 +0000 Subject: - Lattice documentation --- source/blender/python/api2_2x/doc/Lattice.py | 201 +++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 source/blender/python/api2_2x/doc/Lattice.py (limited to 'source/blender/python/api2_2x/doc/Lattice.py') 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..56f4ee71150 --- /dev/null +++ b/source/blender/python/api2_2x/doc/Lattice.py @@ -0,0 +1,201 @@ +# 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 + from Blender.Lattice import * + from Blender import Object + from Blender import Scene + + myOb = Object.New('Lattice') + myLat = Lattice.New() + myLat.setPartitions(5,5,5) + myLat.setKeyTypes(LINEAR, CARDINAL, BSPLINE) + myLat.setMode(OUTSIDE) + + for y in range(125): + vec = myLat.getPoint(y) + co1 = vec[0] + vec[0] / 5 + co2 = vec[1] - vec[2] * 0.3 + co3 = vec[2] * 3 + myLat.setPoint(y,[co1,co2,co3]) + + myOb.link(myLat) + mySphere = Object.Get('Sphere') + myOb.makeParent([mySphere]) + + myLat.applyDeform() + + sc = Scene.getCurrent() + sc.link(myOb) + 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. + @cvar name: The Lattice name. + @cvar width: The number of x dimension partitions. + @cvar height: The number of y dimension partitions. + @cvar depth: The number of z dimension partitions. + @cvar widthType: The x dimension key type. + @cvar heightType: The y dimension key type. + @cvar depthType: The z dimension key type. + @cvar mode: The current mode of the Lattice. + @cvar latSize: The number of points in this Lattice. + """ + + 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 applyDeform(): + """ + Applies the current Lattice deformation to any child objects that have this + Lattice as the parent. + """ + + 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) + myLat.applyDeform() + + @type frame: int + @param frame: the frame at which the Lattice will be set as a keyframe + """ + + + -- cgit v1.2.3