1
2
3 """
4 The Blender.Camera submodule.
5
6 B{New}: L{Camera.clearScriptLinks} accepts a parameter now.
7
8 Camera Data
9 ===========
10
11 This module provides access to B{Camera Data} objects in Blender.
12
13 Example::
14
15 from Blender import Camera, Object, Scene
16 cam = Camera.New('ortho') # create new ortho camera data
17 cam.scale = 6.0 # set scale value for ortho view
18 scn = Scene.GetCurrent() # get current scene
19 ob = scn.objects.new(cam) # add a new camera object from the data
20 scn.setCurrentCamera(ob) # make this camera the active
21 """
22
23 -def New (type = 'persp', name = 'CamData'):
24 """
25 Create a new Camera Data object.
26 @type type: string
27 @param type: The Camera type: 'persp' or 'ortho'.
28 @type name: string
29 @param name: The Camera Data name.
30 @rtype: Blender Camera
31 @return: The created Camera Data object.
32 """
33
34 -def Get (name = None):
35 """
36 Get the Camera Data object(s) from Blender.
37 @type name: string
38 @param name: The name of the Camera Data.
39 @rtype: Blender Camera or a list of Blender Cameras
40 @return: It depends on the I{name} parameter:
41 - (name): The Camera Data object with the given I{name};
42 - (): A list with all Camera Data objects in the current scene.
43 """
44
46 """
47 The Camera Data object
48 ======================
49 This object gives access to Camera-specific data in Blender.
50 @ivar type: The Camera type: 'persp' or 'ortho'
51 @ivar mode: The mode flags: B{ORed value}: 'showLimits':1, 'showMist':2.
52 @ivar lens: The lens value in [1.0, 250.0], only relevant to *persp* cameras.
53 @ivar angle: The lens value in degrees [7.323871, 172.847331], only relevant to *persp* cameras.
54 @ivar scale: The scale value in [0.01, 1000.00], only relevant to *ortho* cameras.
55 @ivar clipStart: The clip start value in [0.0, 100.0].
56 @ivar clipEnd: The clip end value in [1.0, 5000.0].
57 @ivar dofDist: The dofDist value in [0.0, 5000.0].
58 @ivar shiftX: The horizontal offset of the camera [-2.0, 2.0].
59 @ivar shiftY: The vertical offset of the camera [-2.0, 2.0].
60 @ivar alpha: The PassePart alpha [0.0, 1.0].
61 @ivar drawSize: The display size for the camera an the 3d view [0.1, 10.0].
62 @type ipo: Blender Ipo
63 @ivar ipo: The "camera data" ipo linked to this camera data object.
64 Set to None to clear the ipo.
65
66 @ivar drawLimits: Toggle the option to show limits in the 3d view.
67 @ivar drawName: Toggle the option to show the camera name in the 3d view.
68 @ivar drawMist: Toggle the option to show mist in the 3d view.
69 @ivar drawTileSafe: Toggle the option to show tile safe in the 3d view.
70 @ivar drawPassepartout: Toggle the option to show pass part out in the 3d view.
71
72 @warning: Most member variables assume values in some [Min, Max] interval.
73 When trying to set them, the given parameter will be clamped to lie in
74 that range: if val < Min, then val = Min, if val > Max, then val = Max.
75 """
76
78 """
79 Get the name of this Camera Data object. (B{deprecated}) See the L{name} attribute.
80 @rtype: string
81 """
82
84 """
85 Set the name of this Camera Data object. (B{deprecated}) See the L{name} attribute.
86 @type name: string
87 @param name: The new name.
88 """
89
91 """
92 Get the Ipo associated with this camera data object, if any. (B{deprecated})
93 @rtype: Ipo
94 @return: the wrapped ipo or None. (B{deprecated}) See the L{ipo} attribute.
95 """
96
98 """
99 Link an ipo to this camera data object. (B{deprecated}) See the L{ipo} attribute.
100 @type ipo: Blender Ipo
101 @param ipo: a "camera data" ipo.
102 """
103
105 """
106 Unlink the ipo from this camera data object. (B{deprecated}) See the L{ipo} attribute.
107 @return: True if there was an ipo linked or False otherwise.
108 """
109
111 """
112 Get this Camera's type. (B{deprecated}) See the L{type} attribute.
113 @rtype: int
114 @return: 0 for 'persp' or 1 for 'ortho'.
115 """
116
118 """
119 Set this Camera's type. (B{deprecated}) See the L{type} attribute.
120 @type type: string
121 @param type: The Camera type: 'persp' or 'ortho'.
122 """
123
125 """
126 Get this Camera's mode flags. (B{deprecated}) See the L{mode} attribute.
127 @rtype: int
128 @return: B{OR'ed value}: 'showLimits' is 1, 'showMist' is 2, or
129 respectively, 01 and 10 in binary.
130 """
131
132 - def setMode(mode1 = None, mode2 = None):
133 """
134 Set this Camera's mode flags. Mode strings given are turned 'on'. (B{deprecated}) See the L{mode} attribute.
135 Those not provided are turned 'off', so cam.setMode() -- without
136 arguments -- turns off all mode flags for Camera cam.
137 @type mode1: string
138 @type mode2: string
139 @param mode1: A mode flag: 'showLimits' or 'showMist'.
140 @param mode2: A mode flag: 'showLimits' or 'showMist'.
141 """
142
144 """
145 Get the lens value. (B{deprecated}) See the L{lens} attribute.
146 @rtype: float
147 @warn: lens is only relevant for perspective (L{getType}) cameras.
148 """
149
151 """
152 Set the lens value. (B{deprecated}) See the L{lens} attribute.
153 @type lens: float
154 @param lens: The new lens value.
155 @warn: lens is only relevant for perspective (L{type}) cameras.
156 """
157
159 """
160 Get the scale value. (B{deprecated}) See the L{scale} attribute.
161 @rtype: float
162 @warn: scale is only relevant for ortho (L{type}) cameras.
163 """
164
166 """
167 Set the scale value. (B{deprecated}) See the L{scale} attribute.
168 @type scale: float
169 @param scale: The new scale value in [0.01, 1000.00].
170 @warn: scale is only relevant for ortho (L{getType}) cameras.
171 """
172
174 """
175 Get the clip start value. (B{deprecated}) See the L{clipStart} attribute.
176 @rtype: float
177 """
178
180 """
181 Set the clip start value. (B{deprecated}) See the L{clipStart} attribute.
182 @type clipstart: float
183 @param clipstart: The new lens value.
184 """
185
187 """
188 Get the clip end value. (B{deprecated}) See the L{clipEnd} attribute.
189 @rtype: float
190 """
191
193 """
194 Set the clip end value. (B{deprecated}) See the L{clipEnd} attribute.
195 @type clipend: float
196 @param clipend: The new clip end value.
197 """
198
200 """
201 Get the draw size value. (B{deprecated}) See the L{drawSize} attribute.
202 @rtype: float
203 """
204
206 """
207 Set the draw size value. (B{deprecated}) See the L{drawSize} attribute.
208 @type drawsize: float
209 @param drawsize: The new draw size value.
210 """
211
213 """
214 Get a list with this Camera's script links of type 'event'.
215 @type event: string
216 @param event: "FrameChanged", "Redraw" or "Render".
217 @rtype: list
218 @return: a list with Blender L{Text} names (the script links of the given
219 'event' type) or None if there are no script links at all.
220 """
221
223 """
224 Delete script links from this Camera. If no list is specified, all
225 script links are deleted.
226 @type links: list of strings
227 @param links: None (default) or a list of Blender L{Text} names.
228 """
229
231 """
232 Add a new script link to this Camera.
233 @type text: string
234 @param text: the name of an existing Blender L{Text}.
235 @type event: string
236 @param event: "FrameChanged", "Redraw" or "Render".
237 """
238
240 """
241 Inserts keytype values in camera ipo at curframe. Uses module constants.
242 @type keytype: Integer
243 @param keytype:
244 -LENS
245 -CLIPPING
246 @return: py_none
247 """
248
250 """
251 Make a copy of this camera
252 @rtype: Camera
253 @return: a copy of this camera
254 """
255
256 import id_generics
257 Camera.__doc__ += id_generics.attributes
258