# Blender.Camera module and the Camera PyType object """ The Blender.Camera submodule. B{New}: L{Camera.clearScriptLinks} accepts a parameter now. Camera Data =========== This module provides access to B{Camera Data} objects in Blender. Example:: from Blender import Camera, Object, Scene 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 scn.setCurrentCamera(ob) # make this camera the active """ 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. @rtype: Blender Camera @return: The created Camera Data object. """ def Get (name = None): """ Get the Camera Data object(s) from Blender. @type name: string @param name: The name of the Camera Data. @rtype: Blender Camera or a list of Blender Cameras @return: It depends on the I{name} parameter: - (name): The Camera Data object with the given I{name}; - (): A list with all Camera Data objects in the current scene. """ class Camera: """ The Camera Data object ====================== This object gives access to Camera-specific data in Blender. @ivar type: The Camera type: 'persp' or 'ortho' @ivar mode: The mode flags: B{ORed value}: 'showLimits':1, 'showMist':2. @ivar lens: The lens value in [1.0, 250.0], only relevant to *persp* cameras. @ivar angle: The lens value in degrees [7.323871, 172.847331], only relevant to *persp* cameras. @ivar scale: The scale value in [0.01, 1000.00], only relevant to *ortho* cameras. @ivar clipStart: The clip start value in [0.0, 100.0]. @ivar clipEnd: The clip end value in [1.0, 5000.0]. @ivar dofDist: The dofDist value in [0.0, 5000.0]. @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]. @type ipo: Blender Ipo @ivar ipo: The "camera data" ipo linked to this camera data object. 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. @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. """ def getName(): """ Get the name of this Camera Data object. (B{deprecated}) See the L{name} attribute. @rtype: string """ def setName(name): """ Set the name of this Camera Data object. (B{deprecated}) See the L{name} attribute. @type name: string @param name: The new name. """ def getIpo(): """ Get the Ipo associated with this camera data object, if any. (B{deprecated}) @rtype: Ipo @return: the wrapped ipo or None. (B{deprecated}) See the L{ipo} attribute. """ def setIpo(ipo): """ Link an ipo to this camera data object. (B{deprecated}) See the L{ipo} attribute. @type ipo: Blender Ipo @param ipo: a "camera data" ipo. """ def clearIpo(): """ Unlink the ipo from this camera data object. (B{deprecated}) See the L{ipo} attribute. @return: True if there was an ipo linked or False otherwise. """ def getType(): """ Get this Camera's type. (B{deprecated}) See the L{type} attribute. @rtype: int @return: 0 for 'persp' or 1 for 'ortho'. """ def setType(type): """ Set this Camera's type. (B{deprecated}) See the L{type} attribute. @type type: string @param type: The Camera type: 'persp' or 'ortho'. """ def getMode(): """ Get this Camera's mode flags. (B{deprecated}) See the L{mode} attribute. @rtype: int @return: B{OR'ed value}: 'showLimits' is 1, 'showMist' is 2, or respectively, 01 and 10 in binary. """ def setMode(mode1 = None, mode2 = None): """ Set this Camera's mode flags. Mode strings given are turned 'on'. (B{deprecated}) See the L{mode} attribute. Those not provided are turned 'off', so cam.setMode() -- without 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'. """ def getLens(): """ Get the lens value. (B{deprecated}) See the L{lens} attribute. @rtype: float @warn: lens is only relevant for perspective (L{getType}) cameras. """ def setLens(lens): """ Set the lens value. (B{deprecated}) See the L{lens} attribute. @type lens: float @param lens: The new lens value. @warn: lens is only relevant for perspective (L{type}) cameras. """ def getScale(): """ Get the scale value. (B{deprecated}) See the L{scale} attribute. @rtype: float @warn: scale is only relevant for ortho (L{type}) cameras. """ def setScale(scale): """ Set the scale value. (B{deprecated}) See the L{scale} attribute. @type scale: float @param scale: The new scale value in [0.01, 1000.00]. @warn: scale is only relevant for ortho (L{getType}) cameras. """ def getClipStart(): """ Get the clip start value. (B{deprecated}) See the L{clipStart} attribute. @rtype: float """ def setClipStart(clipstart): """ Set the clip start value. (B{deprecated}) See the L{clipStart} attribute. @type clipstart: float @param clipstart: The new lens value. """ def getClipEnd(): """ Get the clip end value. (B{deprecated}) See the L{clipEnd} attribute. @rtype: float """ def setClipEnd(clipend): """ Set the clip end value. (B{deprecated}) See the L{clipEnd} attribute. @type clipend: float @param clipend: The new clip end value. """ def getDrawSize(): """ Get the draw size value. (B{deprecated}) See the L{drawSize} attribute. @rtype: float """ def setDrawSize(drawsize): """ Set the draw size value. (B{deprecated}) See the L{drawSize} attribute. @type drawsize: float @param drawsize: The new draw size value. """ def getScriptLinks (event): """ Get a list with this Camera's script links of type 'event'. @type event: string @param event: "FrameChanged", "Redraw" or "Render". @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. """ def clearScriptLinks (links = None): """ 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. """ 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 @param event: "FrameChanged", "Redraw" or "Render". """ def insertIpoKey(keytype): """ Inserts keytype values in camera ipo at curframe. Uses module constants. @type keytype: Integer @param keytype: -LENS -CLIPPING @return: py_none """ def __copy__ (): """ Make a copy of this camera @rtype: Camera @return: a copy of this camera """ import id_generics Camera.__doc__ += id_generics.attributes