| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  | # Blender.Camera module and the Camera PyType object | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | """
 | 
					
						
							| 
									
										
										
										
											2003-06-28 07:38:21 +00:00
										 |  |  | The Blender.Camera submodule. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-21 19:44:52 +00:00
										 |  |  | B{New}: L{Camera.clearScriptLinks} accepts a parameter now. | 
					
						
							| 
									
										
											  
											
												New scripts:
- hotkeys, obdatacopier and renameobjectbyblock, all from Jean-Michel Soler (jms);
- bevel_center by Loic Berthe, suggested for inclusion by jms;
- doc_browser, by Daniel Dunbar (Zr)
  Thanks to them for the new contributions!
  (I included doc_browser at 'Misc' because only users interested in script writing would actually use it, but it could also be under 'Help'.  Opinions?)
BPython related:
- Added scriptlink methods to object, lamp, camera and world.
- Object: added object.makeTrack and object.clearTrack (old track method).
- sys: made sys.exists(path) return 0 for not found; 1 for file, 2 for dir and -1 for neither.
- doc updates and fixes.
- made ONLOAD event work.  G.f's SCENESCRIPT bit was being zeroed in set_app_data.
- Blender: updated functions Load and Save to support the builtin importers and exporters besides .blend (dxf, videoscape, vrml 1.0, stl, ...)
- Draw: added mouse wheel events.
- Scene: added scene.play to play back animations (like ALT+A and SHIFT+ALT+A).  Makes a good counter, too, when the 'win' attribute is set to a space that doesn't "animate".
The scene.play() addition and the fix to ONLOAD scriptlinks is part of the work for a Blender demo mode.  It already works, but I'll still add support for Radiosity calculations and fix a thing in main(): it executes onload scripts too early (BIF_Init), giving funny results in alt+a animations and renderings when firing up Blender.  Loading after the program is up has no such problems.  When I finish I'll post examples of demo mode scripts.
											
										 
											2004-07-03 05:17:04 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-28 07:38:21 +00:00
										 |  |  | Camera Data | 
					
						
							|  |  |  | =========== | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | This module provides access to B{Camera Data} objects in Blender. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Example:: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   from Blender import Camera, Object, Scene | 
					
						
							| 
									
										
										
										
											2007-01-27 02:15:14 +00:00
										 |  |  |   cam = Camera.New('ortho')   # create new ortho camera data | 
					
						
							|  |  |  |   cam.scale = 6.0             # set scale value for ortho view | 
					
						
							|  |  |  |   scn = Scene.GetCurrent()    # get current scene | 
					
						
							|  |  |  |   ob = scn.objects.new(cam)   # add a new camera object from the data | 
					
						
							|  |  |  |   cur.setCurrentCamera(ob)    # make this camera the active | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  | """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def New (type = 'persp', name = 'CamData'): | 
					
						
							|  |  |  |   """
 | 
					
						
							|  |  |  |   Create a new Camera Data object. | 
					
						
							|  |  |  |   @type type: string | 
					
						
							|  |  |  |   @param type: The Camera type: 'persp' or 'ortho'. | 
					
						
							|  |  |  |   @type name: string | 
					
						
							|  |  |  |   @param name: The Camera Data name. | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   @rtype: Blender Camera | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |   @return: The created Camera Data object. | 
					
						
							|  |  |  |   """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def Get (name = None): | 
					
						
							|  |  |  |   """
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   Get the Camera Data object(s) from Blender. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |   @type name: string | 
					
						
							|  |  |  |   @param name: The name of the Camera Data. | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   @rtype: Blender Camera or a list of Blender Cameras | 
					
						
							| 
									
										
										
										
											2003-07-12 18:02:54 +00:00
										 |  |  |   @return: It depends on the I{name} parameter: | 
					
						
							|  |  |  |       - (name): The Camera Data object with the given I{name}; | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |       - ():     A list with all Camera Data objects in the current scene. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |   """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Camera: | 
					
						
							|  |  |  |   """
 | 
					
						
							|  |  |  |   The Camera Data object | 
					
						
							|  |  |  |   ====================== | 
					
						
							|  |  |  |     This object gives access to Camera-specific data in Blender. | 
					
						
							| 
									
										
										
										
											2005-06-15 06:22:26 +00:00
										 |  |  |   @ivar name: The Camera Data name. | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |   @ivar type: The Camera type: 'persp' or 'ortho' | 
					
						
							| 
									
										
										
										
											2006-07-12 01:36:07 +00:00
										 |  |  |   @ivar mode: The mode flags: B{ORed value}: 'showLimits':1, 'showMist':2. | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |   @ivar lens: The lens value in [1.0, 250.0], only relevant to *persp* cameras. | 
					
						
							|  |  |  |   @ivar scale: The scale value in [0.01, 1000.00], only relevant to *ortho* cameras. | 
					
						
							| 
									
										
										
										
											2005-06-15 06:22:26 +00:00
										 |  |  |   @ivar clipStart: The clip start value in [0.0, 100.0]. | 
					
						
							|  |  |  |   @ivar clipEnd: The clip end value in [1.0, 5000.0]. | 
					
						
							| 
									
										
										
										
											2006-12-24 03:25:53 +00:00
										 |  |  |   @ivar dofDist: The dofDist value in [0.0, 5000.0]. | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |   @ivar shiftx: The horizontal offset of the camera [-2.0, 2.0]. | 
					
						
							|  |  |  |   @ivar shifty: The vertical offset of the camera [-2.0, 2.0]. | 
					
						
							|  |  |  |   @ivar alpha: The PassePart alpha [0.0, 1.0]. | 
					
						
							|  |  |  |   @ivar drawSize: The display size for the camera an the 3d view [0.1, 10.0]. | 
					
						
							| 
									
										
										
										
											2003-10-28 00:29:37 +00:00
										 |  |  |   @type ipo: Blender Ipo | 
					
						
							| 
									
										
										
										
											2005-06-15 06:22:26 +00:00
										 |  |  |   @ivar ipo: The "camera data" ipo linked to this camera data object. | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Set to None to clear the ipo. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   @ivar drawLimits: Toggle the option to show limits in the 3d view. | 
					
						
							|  |  |  |   @ivar drawName: Toggle the option to show the camera name in the 3d view. | 
					
						
							|  |  |  |   @ivar drawMist: Toggle the option to show mist in the 3d view. | 
					
						
							|  |  |  |   @ivar drawTileSafe: Toggle the option to show tile safe in the 3d view. | 
					
						
							|  |  |  |   @ivar drawPassepartout: Toggle the option to show pass part out in the 3d view. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   @warning: Most member variables assume values in some [Min, Max] interval. | 
					
						
							|  |  |  |       When trying to set them, the given parameter will be clamped to lie in | 
					
						
							|  |  |  |       that range: if val < Min, then val = Min, if val > Max, then val = Max. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |   """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   def getName(): | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Get the name of this Camera Data object.  (B{deprecated}) See the L{name} attribute. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     @rtype: string | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   def setName(name): | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Set the name of this Camera Data object. (B{deprecated}) See the L{name} attribute. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     @type name: string | 
					
						
							|  |  |  |     @param name: The new name. | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-10-28 00:29:37 +00:00
										 |  |  |   def getIpo(): | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Get the Ipo associated with this camera data object, if any. (B{deprecated}) | 
					
						
							| 
									
										
										
										
											2003-10-28 00:29:37 +00:00
										 |  |  |     @rtype: Ipo | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     @return: the wrapped ipo or None. (B{deprecated}) See the L{ipo} attribute. | 
					
						
							| 
									
										
										
										
											2003-10-28 00:29:37 +00:00
										 |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def setIpo(ipo): | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Link an ipo to this camera data object.  (B{deprecated}) See the L{ipo} attribute. | 
					
						
							| 
									
										
										
										
											2003-10-28 00:29:37 +00:00
										 |  |  |     @type ipo: Blender Ipo | 
					
						
							|  |  |  |     @param ipo: a "camera data" ipo. | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def clearIpo(): | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Unlink the ipo from this camera data object.  (B{deprecated}) See the L{ipo} attribute. | 
					
						
							| 
									
										
										
										
											2003-10-28 00:29:37 +00:00
										 |  |  |     @return: True if there was an ipo linked or False otherwise. | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   def getType(): | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Get this Camera's type.  (B{deprecated}) See the L{type} attribute. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     @rtype: int | 
					
						
							|  |  |  |     @return: 0 for 'persp' or 1 for 'ortho'. | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   def setType(type): | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Set this Camera's type.  (B{deprecated}) See the L{type} attribute. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     @type type: string | 
					
						
							|  |  |  |     @param type: The Camera type: 'persp' or 'ortho'. | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   def getMode(): | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Get this Camera's mode flags. (B{deprecated}) See the L{mode} attribute. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     @rtype: int | 
					
						
							|  |  |  |     @return: B{OR'ed value}: 'showLimits' is 1, 'showMist' is 2, or | 
					
						
							| 
									
										
										
										
											2006-07-12 01:36:07 +00:00
										 |  |  |        respectively, 01 and 10 in binary. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   def setMode(mode1 = None, mode2 = None): | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Set this Camera's mode flags. Mode strings given are turned 'on'.  (B{deprecated}) See the L{mode} attribute. | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |     Those not provided are turned 'off', so cam.setMode() -- without  | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     arguments -- turns off all mode flags for Camera cam. | 
					
						
							|  |  |  |     @type mode1: string | 
					
						
							|  |  |  |     @type mode2: string | 
					
						
							|  |  |  |     @param mode1: A mode flag: 'showLimits' or 'showMist'. | 
					
						
							|  |  |  |     @param mode2: A mode flag: 'showLimits' or 'showMist'. | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   def getLens(): | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Get the lens value.  (B{deprecated}) See the L{lens} attribute. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     @rtype: float | 
					
						
							| 
									
										
										
										
											2005-02-09 05:19:24 +00:00
										 |  |  |     @warn: lens is only relevant for perspective (L{getType}) cameras. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   def setLens(lens): | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Set the lens value. (B{deprecated}) See the L{lens} attribute. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     @type lens: float | 
					
						
							|  |  |  |     @param lens: The new lens value.  | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     @warn: lens is only relevant for perspective (L{type}) cameras. | 
					
						
							| 
									
										
										
										
											2005-02-09 05:19:24 +00:00
										 |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def getScale(): | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Get the scale value. (B{deprecated}) See the L{scale} attribute. | 
					
						
							| 
									
										
										
										
											2005-02-09 05:19:24 +00:00
										 |  |  |     @rtype: float | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     @warn: scale is only relevant for ortho (L{type}) cameras. | 
					
						
							| 
									
										
										
										
											2005-02-09 05:19:24 +00:00
										 |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def setScale(scale): | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Set the scale value. (B{deprecated}) See the L{scale} attribute. | 
					
						
							| 
									
										
										
										
											2005-02-09 05:19:24 +00:00
										 |  |  |     @type scale: float | 
					
						
							|  |  |  |     @param scale: The new scale value in [0.01, 1000.00].  | 
					
						
							|  |  |  |     @warn: scale is only relevant for ortho (L{getType}) cameras. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   def getClipStart(): | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Get the clip start value. (B{deprecated}) See the L{clipStart} attribute. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     @rtype: float | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   def setClipStart(clipstart): | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Set the clip start value. (B{deprecated}) See the L{clipStart} attribute. | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |     @type clipstart: float | 
					
						
							|  |  |  |     @param clipstart: The new lens value. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   def getClipEnd(): | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Get the clip end value. (B{deprecated}) See the L{clipEnd} attribute. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     @rtype: float | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   def setClipEnd(clipend): | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Set the clip end value. (B{deprecated}) See the L{clipEnd} attribute. | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |     @type clipend: float | 
					
						
							|  |  |  |     @param clipend: The new clip end value. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   def getDrawSize(): | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Get the draw size value. (B{deprecated}) See the L{drawSize} attribute. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     @rtype: float | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |   def setDrawSize(drawsize): | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2006-12-26 07:00:32 +00:00
										 |  |  |     Set the draw size value. (B{deprecated}) See the L{drawSize} attribute. | 
					
						
							| 
									
										
										
										
											2003-06-24 07:21:17 +00:00
										 |  |  |     @type drawsize: float | 
					
						
							|  |  |  |     @param drawsize: The new draw size value. | 
					
						
							| 
									
										
										
										
											2003-06-20 02:01:22 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
											  
											
												New scripts:
- hotkeys, obdatacopier and renameobjectbyblock, all from Jean-Michel Soler (jms);
- bevel_center by Loic Berthe, suggested for inclusion by jms;
- doc_browser, by Daniel Dunbar (Zr)
  Thanks to them for the new contributions!
  (I included doc_browser at 'Misc' because only users interested in script writing would actually use it, but it could also be under 'Help'.  Opinions?)
BPython related:
- Added scriptlink methods to object, lamp, camera and world.
- Object: added object.makeTrack and object.clearTrack (old track method).
- sys: made sys.exists(path) return 0 for not found; 1 for file, 2 for dir and -1 for neither.
- doc updates and fixes.
- made ONLOAD event work.  G.f's SCENESCRIPT bit was being zeroed in set_app_data.
- Blender: updated functions Load and Save to support the builtin importers and exporters besides .blend (dxf, videoscape, vrml 1.0, stl, ...)
- Draw: added mouse wheel events.
- Scene: added scene.play to play back animations (like ALT+A and SHIFT+ALT+A).  Makes a good counter, too, when the 'win' attribute is set to a space that doesn't "animate".
The scene.play() addition and the fix to ONLOAD scriptlinks is part of the work for a Blender demo mode.  It already works, but I'll still add support for Radiosity calculations and fix a thing in main(): it executes onload scripts too early (BIF_Init), giving funny results in alt+a animations and renderings when firing up Blender.  Loading after the program is up has no such problems.  When I finish I'll post examples of demo mode scripts.
											
										 
											2004-07-03 05:17:04 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def getScriptLinks (event): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Get a list with this Camera's script links of type 'event'. | 
					
						
							|  |  |  |     @type event: string | 
					
						
							| 
									
										
										
										
											2005-05-22 07:22:34 +00:00
										 |  |  |     @param event: "FrameChanged", "Redraw" or "Render". | 
					
						
							| 
									
										
											  
											
												New scripts:
- hotkeys, obdatacopier and renameobjectbyblock, all from Jean-Michel Soler (jms);
- bevel_center by Loic Berthe, suggested for inclusion by jms;
- doc_browser, by Daniel Dunbar (Zr)
  Thanks to them for the new contributions!
  (I included doc_browser at 'Misc' because only users interested in script writing would actually use it, but it could also be under 'Help'.  Opinions?)
BPython related:
- Added scriptlink methods to object, lamp, camera and world.
- Object: added object.makeTrack and object.clearTrack (old track method).
- sys: made sys.exists(path) return 0 for not found; 1 for file, 2 for dir and -1 for neither.
- doc updates and fixes.
- made ONLOAD event work.  G.f's SCENESCRIPT bit was being zeroed in set_app_data.
- Blender: updated functions Load and Save to support the builtin importers and exporters besides .blend (dxf, videoscape, vrml 1.0, stl, ...)
- Draw: added mouse wheel events.
- Scene: added scene.play to play back animations (like ALT+A and SHIFT+ALT+A).  Makes a good counter, too, when the 'win' attribute is set to a space that doesn't "animate".
The scene.play() addition and the fix to ONLOAD scriptlinks is part of the work for a Blender demo mode.  It already works, but I'll still add support for Radiosity calculations and fix a thing in main(): it executes onload scripts too early (BIF_Init), giving funny results in alt+a animations and renderings when firing up Blender.  Loading after the program is up has no such problems.  When I finish I'll post examples of demo mode scripts.
											
										 
											2004-07-03 05:17:04 +00:00
										 |  |  |     @rtype: list | 
					
						
							|  |  |  |     @return: a list with Blender L{Text} names (the script links of the given | 
					
						
							|  |  |  |         'event' type) or None if there are no script links at all. | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-21 19:44:52 +00:00
										 |  |  |   def clearScriptLinks (links = None): | 
					
						
							| 
									
										
											  
											
												New scripts:
- hotkeys, obdatacopier and renameobjectbyblock, all from Jean-Michel Soler (jms);
- bevel_center by Loic Berthe, suggested for inclusion by jms;
- doc_browser, by Daniel Dunbar (Zr)
  Thanks to them for the new contributions!
  (I included doc_browser at 'Misc' because only users interested in script writing would actually use it, but it could also be under 'Help'.  Opinions?)
BPython related:
- Added scriptlink methods to object, lamp, camera and world.
- Object: added object.makeTrack and object.clearTrack (old track method).
- sys: made sys.exists(path) return 0 for not found; 1 for file, 2 for dir and -1 for neither.
- doc updates and fixes.
- made ONLOAD event work.  G.f's SCENESCRIPT bit was being zeroed in set_app_data.
- Blender: updated functions Load and Save to support the builtin importers and exporters besides .blend (dxf, videoscape, vrml 1.0, stl, ...)
- Draw: added mouse wheel events.
- Scene: added scene.play to play back animations (like ALT+A and SHIFT+ALT+A).  Makes a good counter, too, when the 'win' attribute is set to a space that doesn't "animate".
The scene.play() addition and the fix to ONLOAD scriptlinks is part of the work for a Blender demo mode.  It already works, but I'll still add support for Radiosity calculations and fix a thing in main(): it executes onload scripts too early (BIF_Init), giving funny results in alt+a animations and renderings when firing up Blender.  Loading after the program is up has no such problems.  When I finish I'll post examples of demo mode scripts.
											
										 
											2004-07-03 05:17:04 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2005-04-21 19:44:52 +00:00
										 |  |  |     Delete script links from this Camera.  If no list is specified, all | 
					
						
							|  |  |  |     script links are deleted. | 
					
						
							|  |  |  |     @type links: list of strings | 
					
						
							|  |  |  |     @param links: None (default) or a list of Blender L{Text} names. | 
					
						
							| 
									
										
											  
											
												New scripts:
- hotkeys, obdatacopier and renameobjectbyblock, all from Jean-Michel Soler (jms);
- bevel_center by Loic Berthe, suggested for inclusion by jms;
- doc_browser, by Daniel Dunbar (Zr)
  Thanks to them for the new contributions!
  (I included doc_browser at 'Misc' because only users interested in script writing would actually use it, but it could also be under 'Help'.  Opinions?)
BPython related:
- Added scriptlink methods to object, lamp, camera and world.
- Object: added object.makeTrack and object.clearTrack (old track method).
- sys: made sys.exists(path) return 0 for not found; 1 for file, 2 for dir and -1 for neither.
- doc updates and fixes.
- made ONLOAD event work.  G.f's SCENESCRIPT bit was being zeroed in set_app_data.
- Blender: updated functions Load and Save to support the builtin importers and exporters besides .blend (dxf, videoscape, vrml 1.0, stl, ...)
- Draw: added mouse wheel events.
- Scene: added scene.play to play back animations (like ALT+A and SHIFT+ALT+A).  Makes a good counter, too, when the 'win' attribute is set to a space that doesn't "animate".
The scene.play() addition and the fix to ONLOAD scriptlinks is part of the work for a Blender demo mode.  It already works, but I'll still add support for Radiosity calculations and fix a thing in main(): it executes onload scripts too early (BIF_Init), giving funny results in alt+a animations and renderings when firing up Blender.  Loading after the program is up has no such problems.  When I finish I'll post examples of demo mode scripts.
											
										 
											2004-07-03 05:17:04 +00:00
										 |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def addScriptLink (text, event): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Add a new script link to this Camera. | 
					
						
							|  |  |  |     @type text: string | 
					
						
							|  |  |  |     @param text: the name of an existing Blender L{Text}. | 
					
						
							|  |  |  |     @type event: string | 
					
						
							| 
									
										
										
										
											2005-05-22 07:22:34 +00:00
										 |  |  |     @param event: "FrameChanged", "Redraw" or "Render". | 
					
						
							| 
									
										
											  
											
												New scripts:
- hotkeys, obdatacopier and renameobjectbyblock, all from Jean-Michel Soler (jms);
- bevel_center by Loic Berthe, suggested for inclusion by jms;
- doc_browser, by Daniel Dunbar (Zr)
  Thanks to them for the new contributions!
  (I included doc_browser at 'Misc' because only users interested in script writing would actually use it, but it could also be under 'Help'.  Opinions?)
BPython related:
- Added scriptlink methods to object, lamp, camera and world.
- Object: added object.makeTrack and object.clearTrack (old track method).
- sys: made sys.exists(path) return 0 for not found; 1 for file, 2 for dir and -1 for neither.
- doc updates and fixes.
- made ONLOAD event work.  G.f's SCENESCRIPT bit was being zeroed in set_app_data.
- Blender: updated functions Load and Save to support the builtin importers and exporters besides .blend (dxf, videoscape, vrml 1.0, stl, ...)
- Draw: added mouse wheel events.
- Scene: added scene.play to play back animations (like ALT+A and SHIFT+ALT+A).  Makes a good counter, too, when the 'win' attribute is set to a space that doesn't "animate".
The scene.play() addition and the fix to ONLOAD scriptlinks is part of the work for a Blender demo mode.  It already works, but I'll still add support for Radiosity calculations and fix a thing in main(): it executes onload scripts too early (BIF_Init), giving funny results in alt+a animations and renderings when firing up Blender.  Loading after the program is up has no such problems.  When I finish I'll post examples of demo mode scripts.
											
										 
											2004-07-03 05:17:04 +00:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2005-03-27 13:34:59 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def insertIpoKey(keytype): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Inserts keytype values in camera ipo at curframe. Uses module constants. | 
					
						
							|  |  |  |     @type keytype: Integer | 
					
						
							|  |  |  |     @param keytype: | 
					
						
							|  |  |  |            -LENS | 
					
						
							|  |  |  |            -CLIPPING | 
					
						
							|  |  |  |     @return: py_none | 
					
						
							|  |  |  |     """  
 | 
					
						
							| 
									
										
										
										
											2007-01-02 13:12:23 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def __copy__ (): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Make a copy of this camera | 
					
						
							|  |  |  |     @rtype: Camera | 
					
						
							|  |  |  |     @return:  a copy of this camera | 
					
						
							|  |  |  |     """
 |