Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Camera.py « doc « api2_2x « python « blender « source - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: c4e664efa66ebb6b764ef3e9abac8ca359da478f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
# 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