Samples/Math/Vectors.py

Samples/Math/Vectors.py
1 # Copyright 2009 Autodesk, Inc. All rights reserved.
2 # Use of this software is subject to the terms of the Autodesk license agreement
3 # provided at the time of installation or download, or which otherwise accompanies
4 # this software in either electronic or hard copy form.
5 #
6 # Script description:
7 # Show extended functions for Vectors.
8 #
9 # Topic: operators and utility functions for FBVector2d, FBVector3d, FBSVector ,FBVector4d,
10 # FBNormal, FBVertex, FBUV, FBColor, FBColorAndAlpha.
11 #
12 
13 from pyfbsdk import FBVector2d, FBVector3d, FBSVector ,FBVector4d, FBNormal, FBVertex, FBUV, FBColor, FBColorAndAlpha
14 
15 # FBVector2d
16 lList = [1.0,1.0]
17 lVector2dA = FBVector2d()
18 lVector2dB = FBVector2d()
19 lVector2dResult = FBVector2d(lList)
20 print lVector2dResult
21 
22 lDouble = 1.0
23 lEqual = True
24 
25 lVector2dResult = lVector2dA + lVector2dB
26 lVector2dResult = lVector2dA - lVector2dB
27 lVector2dResult = lVector2dA * lVector2dB
28 lVector2dResult = lVector2dA / lVector2dB
29 
30 lVector2dResult += lVector2dA
31 lVector2dResult -= lVector2dA
32 lVector2dResult *= lVector2dA
33 lVector2dResult /= lVector2dA
34 
35 lVector2dResult = lVector2dA + lDouble
36 lVector2dResult = lVector2dA - lDouble
37 lVector2dResult = lVector2dA * lDouble
38 lVector2dResult = lVector2dA / lDouble
39 
40 lVector2dResult += lDouble
41 lVector2dResult -= lDouble
42 lVector2dResult *= lDouble
43 lVector2dResult /= lDouble
44 
45 lVector2dResult = -lVector2dResult
46 
47 lVector2dResult.CopyFrom(lVector2dA)
48 lVector2dResult.CopyFrom(lList)
49 lEqual = lVector2dA.NotEqual(lVector2dB)
50 lEqual = lVector2dA.IsEqual(lVector2dB)
51 lList = lVector2dA.GetList()
52 
53 print lVector2dA
54 print lVector2dB
55 print lVector2dResult
56 print lDouble
57 print lEqual
58 print lList
59 
60 
61 # FBVector3d
62 lList = [1.0,1.0,1.0]
63 lVector3dA = FBVector3d()
64 lVector3dB = FBVector3d()
65 lVector3dResult = FBVector3d(lList)
66 print lVector3dResult
67 
68 lDouble = 1.0
69 lEqual = True
70 
71 lVector3dResult = lVector3dA + lVector3dB
72 lVector3dResult = lVector3dA - lVector3dB
73 lVector3dResult = lVector3dA * lVector3dB
74 lVector3dResult = lVector3dA / lVector3dB
75 
76 lVector3dResult += lVector3dA
77 lVector3dResult -= lVector3dA
78 lVector3dResult *= lVector3dA
79 lVector3dResult /= lVector3dA
80 
81 lVector3dResult = lVector3dA + lDouble
82 lVector3dResult = lVector3dA - lDouble
83 lVector3dResult = lVector3dA * lDouble
84 lVector3dResult = lVector3dA / lDouble
85 
86 lVector3dResult += lDouble
87 lVector3dResult -= lDouble
88 lVector3dResult *= lDouble
89 lVector3dResult /= lDouble
90 
91 lVector3dResult = -lVector3dResult
92 
93 lVector3dResult.CopyFrom(lVector3dA)
94 lVector3dResult.CopyFrom(lList)
95 lEqual = lVector3dA.NotEqual(lVector3dB)
96 lEqual = lVector3dA.IsEqual(lVector3dB)
97 lList = lVector3dA.GetList()
98 
99 lDouble = lVector3dA.Length()
100 lDouble = lVector3dA.SquareLength()
101 lDouble = lVector3dA.Distance(lVector3dB)
102 lVector3dResult.Normalize()
103 lDouble = lVector3dA.DotProduct(lVector3dB)
104 lVector3dResult = lVector3dA.CrossProduct(lVector3dB)
105 
106 
107 print lVector3dA
108 print lVector3dB
109 print lVector3dResult
110 print lDouble
111 print lEqual
112 print lList
113 
114 
115 # FBSVector
116 lList = [1.0,1.0,1.0]
117 lSVectorA = FBSVector()
118 lSVectorB = FBSVector()
119 lSVectorResult = FBSVector(lList)
120 print lSVectorResult
121 
122 lDouble = 1.0
123 lEqual = True
124 
125 lSVectorResult = lSVectorA + lSVectorB
126 lSVectorResult = lSVectorA - lSVectorB
127 lSVectorResult = lSVectorA * lSVectorB
128 lSVectorResult = lSVectorA / lSVectorB
129 
130 lSVectorResult += lSVectorA
131 lSVectorResult -= lSVectorA
132 lSVectorResult *= lSVectorA
133 lSVectorResult /= lSVectorA
134 
135 lSVectorResult = lSVectorA + lDouble
136 lSVectorResult = lSVectorA - lDouble
137 lSVectorResult = lSVectorA * lDouble
138 lSVectorResult = lSVectorA / lDouble
139 
140 lSVectorResult = -lSVectorResult
141 
142 lSVectorResult.CopyFrom(lSVectorA)
143 lSVectorResult.CopyFrom(lList)
144 lEqual = lSVectorA.NotEqual(lSVectorB)
145 lEqual = lSVectorA.IsEqual(lSVectorB)
146 lList = lSVectorA.GetList()
147 
148 lDouble = lSVectorA.Length()
149 lDouble = lSVectorA.SquareLength()
150 lSVectorResult.Normalize()
151 lDouble = lSVectorA.DotProduct(lSVectorB)
152 
153 print lSVectorA
154 print lSVectorB
155 print lSVectorResult
156 print lDouble
157 print lEqual
158 print lList
159 
160 # FBVector4d
161 lList = [1.0,1.0,1.0,1.0]
162 lVector4dA = FBVector4d()
163 lVector4dB = FBVector4d()
164 lVector4dResult = FBVector4d(lList)
165 print lVector4dResult
166 
167 lDouble = 1.0
168 lEqual = True
169 
170 lVector4dResult = lVector4dA + lVector4dB
171 lVector4dResult = lVector4dA - lVector4dB
172 lVector4dResult = lVector4dA * lVector4dB
173 lVector4dResult = lVector4dA / lVector4dB
174 
175 lVector4dResult += lVector4dA
176 lVector4dResult -= lVector4dA
177 lVector4dResult *= lVector4dA
178 lVector4dResult /= lVector4dA
179 
180 lVector4dResult = lVector4dA + lDouble
181 lVector4dResult = lVector4dA - lDouble
182 lVector4dResult = lVector4dA * lDouble
183 lVector4dResult = lVector4dA / lDouble
184 
185 lVector4dResult += lDouble
186 lVector4dResult -= lDouble
187 lVector4dResult *= lDouble
188 lVector4dResult /= lDouble
189 
190 lVector4dResult = -lVector4dResult
191 
192 lVector4dResult.CopyFrom(lVector4dA)
193 lVector4dResult.CopyFrom(lList)
194 lEqual = lVector4dA.NotEqual(lVector4dB)
195 lEqual = lVector4dA.IsEqual(lVector4dB)
196 lList = lVector4dA.GetList()
197 
198 lDouble = lVector4dA.Length()
199 lDouble = lVector4dA.SquareLength()
200 lDouble = lVector4dA.Distance(lVector4dB)
201 lVector4dResult.Normalize()
202 lDouble = lVector4dA.DotProduct(lVector4dB)
203 lVector4dResult = lVector4dA.CrossProduct(lVector4dB)
204 
205 print lVector4dA
206 print lVector4dB
207 print lVector4dResult
208 print lDouble
209 print lEqual
210 print lList
211 
212 
213 # FBNormal
214 lList = [1.0,1.0,1.0]
215 lNormalA = FBNormal()
216 lNormalB = FBNormal()
217 lNormalResult = FBNormal(lList)
218 print lNormalResult
219 
220 lDouble = 1.0
221 lEqual = True
222 
223 lNormalResult = lNormalA + lNormalB
224 lNormalResult = lNormalA - lNormalB
225 lNormalResult = lNormalA * lNormalB
226 lNormalResult = lNormalA / lNormalB
227 
228 lNormalResult += lNormalA
229 lNormalResult -= lNormalA
230 lNormalResult *= lNormalA
231 lNormalResult /= lNormalA
232 
233 lNormalResult = lNormalA + lDouble
234 lNormalResult = lNormalA - lDouble
235 lNormalResult = lNormalA * lDouble
236 lNormalResult = lNormalA / lDouble
237 
238 lNormalResult += lDouble
239 lNormalResult -= lDouble
240 lNormalResult *= lDouble
241 lNormalResult /= lDouble
242 
243 lNormalResult = -lNormalResult
244 
245 lNormalResult.CopyFrom(lNormalA)
246 lNormalResult.CopyFrom(lList)
247 lEqual = lNormalA.NotEqual(lNormalB)
248 lEqual = lNormalA.IsEqual(lNormalB)
249 lList = lNormalA.GetList()
250 
251 lDouble = lNormalA.Length()
252 lDouble = lNormalA.SquareLength()
253 lNormalResult.Normalize()
254 lDouble = lNormalA.DotProduct(lNormalB)
255 lNormalResult = lNormalA.CrossProduct(lNormalB)
256 
257 print lNormalA
258 print lNormalB
259 print lNormalResult
260 print lDouble
261 print lEqual
262 print lList
263 
264 
265 # FBVertex
266 lList = [1.0,1.0,1.0,1.0]
267 lVertexA = FBVertex()
268 lVertexB = FBVertex()
269 lVertexResult = FBVertex(lList)
270 print lVertexResult
271 
272 lDouble = 1.0
273 lEqual = True
274 
275 lVertexResult = lVertexA + lVertexB
276 lVertexResult = lVertexA - lVertexB
277 lVertexResult = lVertexA * lVertexB
278 lVertexResult = lVertexA / lVertexB
279 
280 lVertexResult += lVertexA
281 lVertexResult -= lVertexA
282 lVertexResult *= lVertexA
283 lVertexResult /= lVertexA
284 
285 lVertexResult = lVertexA + lDouble
286 lVertexResult = lVertexA - lDouble
287 lVertexResult = lVertexA * lDouble
288 lVertexResult = lVertexA / lDouble
289 
290 lVertexResult += lDouble
291 lVertexResult -= lDouble
292 lVertexResult *= lDouble
293 lVertexResult /= lDouble
294 
295 lVertexResult = -lVertexResult
296 print lList
297 lVertexResult.CopyFrom(lVertexA)
298 lVertexResult.CopyFrom(lList)
299 lEqual = lVertexA.NotEqual(lVertexB)
300 lEqual = lVertexA.IsEqual(lVertexB)
301 lList = lVertexA.GetList()
302 
303 lDouble = lVertexA.Length()
304 lDouble = lVertexA.SquareLength()
305 lDouble = lVertexA.Distance(lVertexB)
306 lVertexResult.Normalize()
307 lDouble = lVertexA.DotProduct(lVertexB)
308 lVertexResult = lVertexA.CrossProduct(lVertexB)
309 
310 print lVertexA
311 print lVertexB
312 print lVertexResult
313 print lDouble
314 print lEqual
315 print lList
316 
317 
318 # FBUV
319 lList = [1.0,1.0]
320 lUVA = FBUV()
321 lUVB = FBUV()
322 lUVResult = FBUV(lList)
323 print lUVResult
324 
325 lDouble = 1.0
326 lEqual = True
327 
328 lUVResult = lUVA + lUVB
329 lUVResult = lUVA - lUVB
330 lUVResult = lUVA * lUVB
331 lUVResult = lUVA / lUVB
332 
333 lUVResult += lUVA
334 lUVResult -= lUVA
335 lUVResult *= lUVA
336 lUVResult /= lUVA
337 
338 lUVResult = lUVA + lDouble
339 lUVResult = lUVA - lDouble
340 lUVResult = lUVA * lDouble
341 lUVResult = lUVA / lDouble
342 
343 lUVResult += lDouble
344 lUVResult -= lDouble
345 lUVResult *= lDouble
346 lUVResult /= lDouble
347 
348 lUVResult = -lUVResult
349 
350 lUVResult.CopyFrom(lUVA)
351 lUVResult.CopyFrom(lList)
352 lEqual = lUVA.NotEqual(lUVB)
353 lEqual = lUVA.IsEqual(lUVB)
354 lList = lUVA.GetList()
355 
356 print lUVA
357 print lUVB
358 print lUVResult
359 print lDouble
360 print lEqual
361 print lList
362 
363 # FBColor
364 lList = [1.0,1.0,1.0]
365 lColorA = FBColor()
366 lColorB = FBColor()
367 lColorResult = FBColor(lList)
368 print lColorResult
369 
370 lDouble = 1.0
371 lEqual = True
372 
373 lColorResult = lColorA + lColorB
374 lColorResult = lColorA - lColorB
375 lColorResult = lColorA * lColorB
376 lColorResult = lColorA / lColorB
377 
378 lColorResult += lColorA
379 lColorResult -= lColorA
380 lColorResult *= lColorA
381 lColorResult /= lColorA
382 
383 lColorResult = lColorA + lDouble
384 lColorResult = lColorA - lDouble
385 lColorResult = lColorA * lDouble
386 lColorResult = lColorA / lDouble
387 
388 lColorResult += lDouble
389 lColorResult -= lDouble
390 lColorResult *= lDouble
391 lColorResult /= lDouble
392 
393 lColorResult = -lColorResult
394 
395 lColorResult.CopyFrom(lColorA)
396 lColorResult.CopyFrom(lList)
397 lEqual = lColorA.NotEqual(lColorB)
398 lEqual = lColorA.IsEqual(lColorB)
399 lList = lColorA.GetList()
400 
401 print lColorA
402 print lColorB
403 print lColorResult
404 print lDouble
405 print lEqual
406 print lList
407 
408 # FBColorAndAlpha
409 lList = [1.0,1.0,1.0,1.0]
410 lColorAndAlphaA = FBColorAndAlpha()
411 lColorAndAlphaB = FBColorAndAlpha()
412 lColorAndAlphaResult = FBColorAndAlpha(lList)
413 print lColorAndAlphaResult
414 
415 lDouble = 1.0
416 lEqual = True
417 
418 lColorAndAlphaResult = lColorAndAlphaA + lColorAndAlphaB
419 lColorAndAlphaResult = lColorAndAlphaA - lColorAndAlphaB
420 lColorAndAlphaResult = lColorAndAlphaA * lColorAndAlphaB
421 lColorAndAlphaResult = lColorAndAlphaA / lColorAndAlphaB
422 
423 lColorAndAlphaResult += lColorAndAlphaA
424 lColorAndAlphaResult -= lColorAndAlphaA
425 lColorAndAlphaResult *= lColorAndAlphaA
426 lColorAndAlphaResult /= lColorAndAlphaA
427 
428 lColorAndAlphaResult = lColorAndAlphaA + lDouble
429 lColorAndAlphaResult = lColorAndAlphaA - lDouble
430 lColorAndAlphaResult = lColorAndAlphaA * lDouble
431 lColorAndAlphaResult = lColorAndAlphaA / lDouble
432 
433 lColorAndAlphaResult += lDouble
434 lColorAndAlphaResult -= lDouble
435 lColorAndAlphaResult *= lDouble
436 lColorAndAlphaResult /= lDouble
437 
438 lColorAndAlphaResult = -lColorAndAlphaResult
439 
440 lColorAndAlphaResult.CopyFrom(lColorAndAlphaA)
441 lColorAndAlphaResult.CopyFrom(lList)
442 lEqual = lColorAndAlphaA.NotEqual(lColorAndAlphaB)
443 lEqual = lColorAndAlphaA.IsEqual(lColorAndAlphaB)
444 lList = lColorAndAlphaA.GetList()
445 
446 print lColorAndAlphaA
447 print lColorAndAlphaB
448 print lColorAndAlphaResult
449 print lDouble
450 print lEqual
451 print lList
452 
453