Samples/Math/Vectors.py
 
 
 
Samples/Math/Vectors.py
# Copyright 2009 Autodesk, Inc.  All rights reserved.
# Use of this software is subject to the terms of the Autodesk license agreement 
# provided at the time of installation or download, or which otherwise accompanies
# this software in either electronic or hard copy form.
#
# Script description:
# Show extended functions for Vectors.
#
# Topic: operators and utility functions for FBVector2d, FBVector3d, FBSVector ,FBVector4d, 
# FBNormal, FBVertex, FBUV, FBColor, FBColorAndAlpha.
#

from pyfbsdk import FBVector2d, FBVector3d, FBSVector ,FBVector4d, FBNormal, FBVertex, FBUV, FBColor, FBColorAndAlpha

# FBVector2d
lList = [1.0,1.0]
lVector2dA = FBVector2d()
lVector2dB = FBVector2d()
lVector2dResult = FBVector2d(lList)
print lVector2dResult

lDouble = 1.0
lEqual = True

lVector2dResult = lVector2dA + lVector2dB
lVector2dResult = lVector2dA - lVector2dB
lVector2dResult = lVector2dA * lVector2dB
lVector2dResult = lVector2dA / lVector2dB

lVector2dResult += lVector2dA
lVector2dResult -= lVector2dA
lVector2dResult *= lVector2dA
lVector2dResult /= lVector2dA

lVector2dResult = lVector2dA + lDouble
lVector2dResult = lVector2dA - lDouble
lVector2dResult = lVector2dA * lDouble
lVector2dResult = lVector2dA / lDouble

lVector2dResult += lDouble
lVector2dResult -= lDouble
lVector2dResult *= lDouble
lVector2dResult /= lDouble

lVector2dResult = -lVector2dResult

lVector2dResult.CopyFrom(lVector2dA)
lVector2dResult.CopyFrom(lList)
lEqual = lVector2dA.NotEqual(lVector2dB)
lEqual = lVector2dA.IsEqual(lVector2dB)
lList = lVector2dA.GetList()

print lVector2dA
print lVector2dB
print lVector2dResult
print lDouble
print lEqual
print lList


# FBVector3d
lList = [1.0,1.0,1.0]
lVector3dA = FBVector3d()
lVector3dB = FBVector3d()
lVector3dResult = FBVector3d(lList)
print lVector3dResult

lDouble = 1.0
lEqual = True

lVector3dResult = lVector3dA + lVector3dB
lVector3dResult = lVector3dA - lVector3dB
lVector3dResult = lVector3dA * lVector3dB
lVector3dResult = lVector3dA / lVector3dB

lVector3dResult += lVector3dA
lVector3dResult -= lVector3dA
lVector3dResult *= lVector3dA
lVector3dResult /= lVector3dA

lVector3dResult = lVector3dA + lDouble
lVector3dResult = lVector3dA - lDouble
lVector3dResult = lVector3dA * lDouble
lVector3dResult = lVector3dA / lDouble

lVector3dResult += lDouble
lVector3dResult -= lDouble
lVector3dResult *= lDouble
lVector3dResult /= lDouble

lVector3dResult = -lVector3dResult

lVector3dResult.CopyFrom(lVector3dA)
lVector3dResult.CopyFrom(lList)
lEqual = lVector3dA.NotEqual(lVector3dB)
lEqual = lVector3dA.IsEqual(lVector3dB)
lList = lVector3dA.GetList()

lDouble = lVector3dA.Length()
lDouble = lVector3dA.SquareLength()
lDouble = lVector3dA.Distance(lVector3dB)
lVector3dResult.Normalize()
lDouble = lVector3dA.DotProduct(lVector3dB)
lVector3dResult = lVector3dA.CrossProduct(lVector3dB)


print lVector3dA
print lVector3dB
print lVector3dResult
print lDouble
print lEqual
print lList


# FBSVector
lList = [1.0,1.0,1.0]
lSVectorA = FBSVector()
lSVectorB = FBSVector()
lSVectorResult = FBSVector(lList)
print lSVectorResult

lDouble = 1.0
lEqual = True

lSVectorResult = lSVectorA + lSVectorB
lSVectorResult = lSVectorA - lSVectorB
lSVectorResult = lSVectorA * lSVectorB
lSVectorResult = lSVectorA / lSVectorB

lSVectorResult += lSVectorA
lSVectorResult -= lSVectorA
lSVectorResult *= lSVectorA
lSVectorResult /= lSVectorA

lSVectorResult = lSVectorA + lDouble
lSVectorResult = lSVectorA - lDouble
lSVectorResult = lSVectorA * lDouble
lSVectorResult = lSVectorA / lDouble

lSVectorResult = -lSVectorResult

lSVectorResult.CopyFrom(lSVectorA)
lSVectorResult.CopyFrom(lList)
lEqual = lSVectorA.NotEqual(lSVectorB)
lEqual = lSVectorA.IsEqual(lSVectorB)
lList = lSVectorA.GetList()

lDouble = lSVectorA.Length()
lDouble = lSVectorA.SquareLength()
lSVectorResult.Normalize()
lDouble = lSVectorA.DotProduct(lSVectorB)

print lSVectorA
print lSVectorB
print lSVectorResult
print lDouble
print lEqual
print lList

# FBVector4d
lList = [1.0,1.0,1.0,1.0]
lVector4dA = FBVector4d()
lVector4dB = FBVector4d()
lVector4dResult = FBVector4d(lList)
print lVector4dResult

lDouble = 1.0
lEqual = True

lVector4dResult = lVector4dA + lVector4dB
lVector4dResult = lVector4dA - lVector4dB
lVector4dResult = lVector4dA * lVector4dB
lVector4dResult = lVector4dA / lVector4dB

lVector4dResult += lVector4dA
lVector4dResult -= lVector4dA
lVector4dResult *= lVector4dA
lVector4dResult /= lVector4dA

lVector4dResult = lVector4dA + lDouble
lVector4dResult = lVector4dA - lDouble
lVector4dResult = lVector4dA * lDouble
lVector4dResult = lVector4dA / lDouble

lVector4dResult += lDouble
lVector4dResult -= lDouble
lVector4dResult *= lDouble
lVector4dResult /= lDouble

lVector4dResult = -lVector4dResult

lVector4dResult.CopyFrom(lVector4dA)
lVector4dResult.CopyFrom(lList)
lEqual = lVector4dA.NotEqual(lVector4dB)
lEqual = lVector4dA.IsEqual(lVector4dB)
lList = lVector4dA.GetList()

lDouble = lVector4dA.Length()
lDouble = lVector4dA.SquareLength()
lDouble = lVector4dA.Distance(lVector4dB)
lVector4dResult.Normalize()
lDouble = lVector4dA.DotProduct(lVector4dB)
lVector4dResult = lVector4dA.CrossProduct(lVector4dB)

print lVector4dA
print lVector4dB
print lVector4dResult
print lDouble
print lEqual
print lList


# FBNormal
lList = [1.0,1.0,1.0]
lNormalA = FBNormal()
lNormalB = FBNormal()
lNormalResult = FBNormal(lList)
print lNormalResult

lDouble = 1.0
lEqual = True

lNormalResult = lNormalA + lNormalB
lNormalResult = lNormalA - lNormalB
lNormalResult = lNormalA * lNormalB
lNormalResult = lNormalA / lNormalB

lNormalResult += lNormalA
lNormalResult -= lNormalA
lNormalResult *= lNormalA
lNormalResult /= lNormalA

lNormalResult = lNormalA + lDouble
lNormalResult = lNormalA - lDouble
lNormalResult = lNormalA * lDouble
lNormalResult = lNormalA / lDouble

lNormalResult += lDouble
lNormalResult -= lDouble
lNormalResult *= lDouble
lNormalResult /= lDouble

lNormalResult = -lNormalResult

lNormalResult.CopyFrom(lNormalA)
lNormalResult.CopyFrom(lList)
lEqual = lNormalA.NotEqual(lNormalB)
lEqual = lNormalA.IsEqual(lNormalB)
lList = lNormalA.GetList()

lDouble = lNormalA.Length()
lDouble = lNormalA.SquareLength()
lNormalResult.Normalize()
lDouble = lNormalA.DotProduct(lNormalB)
lNormalResult = lNormalA.CrossProduct(lNormalB)

print lNormalA
print lNormalB
print lNormalResult
print lDouble
print lEqual
print lList


# FBVertex
lList = [1.0,1.0,1.0,1.0]
lVertexA = FBVertex()
lVertexB = FBVertex()
lVertexResult = FBVertex(lList)
print lVertexResult

lDouble = 1.0
lEqual = True

lVertexResult = lVertexA + lVertexB
lVertexResult = lVertexA - lVertexB
lVertexResult = lVertexA * lVertexB
lVertexResult = lVertexA / lVertexB

lVertexResult += lVertexA
lVertexResult -= lVertexA
lVertexResult *= lVertexA
lVertexResult /= lVertexA

lVertexResult = lVertexA + lDouble
lVertexResult = lVertexA - lDouble
lVertexResult = lVertexA * lDouble
lVertexResult = lVertexA / lDouble

lVertexResult += lDouble
lVertexResult -= lDouble
lVertexResult *= lDouble
lVertexResult /= lDouble

lVertexResult = -lVertexResult
print lList
lVertexResult.CopyFrom(lVertexA)
lVertexResult.CopyFrom(lList)
lEqual = lVertexA.NotEqual(lVertexB)
lEqual = lVertexA.IsEqual(lVertexB)
lList = lVertexA.GetList()

lDouble = lVertexA.Length()
lDouble = lVertexA.SquareLength()
lDouble = lVertexA.Distance(lVertexB)
lVertexResult.Normalize()
lDouble = lVertexA.DotProduct(lVertexB)
lVertexResult = lVertexA.CrossProduct(lVertexB)

print lVertexA
print lVertexB
print lVertexResult
print lDouble
print lEqual
print lList


# FBUV
lList = [1.0,1.0]
lUVA = FBUV()
lUVB = FBUV()
lUVResult = FBUV(lList)
print lUVResult

lDouble = 1.0
lEqual = True

lUVResult = lUVA + lUVB
lUVResult = lUVA - lUVB
lUVResult = lUVA * lUVB
lUVResult = lUVA / lUVB

lUVResult += lUVA
lUVResult -= lUVA
lUVResult *= lUVA
lUVResult /= lUVA

lUVResult = lUVA + lDouble
lUVResult = lUVA - lDouble
lUVResult = lUVA * lDouble
lUVResult = lUVA / lDouble

lUVResult += lDouble
lUVResult -= lDouble
lUVResult *= lDouble
lUVResult /= lDouble

lUVResult = -lUVResult

lUVResult.CopyFrom(lUVA)
lUVResult.CopyFrom(lList)
lEqual = lUVA.NotEqual(lUVB)
lEqual = lUVA.IsEqual(lUVB)
lList = lUVA.GetList()

print lUVA
print lUVB
print lUVResult
print lDouble
print lEqual
print lList

# FBColor
lList = [1.0,1.0,1.0]
lColorA = FBColor()
lColorB = FBColor()
lColorResult = FBColor(lList)
print lColorResult

lDouble = 1.0
lEqual = True

lColorResult = lColorA + lColorB
lColorResult = lColorA - lColorB
lColorResult = lColorA * lColorB
lColorResult = lColorA / lColorB

lColorResult += lColorA
lColorResult -= lColorA
lColorResult *= lColorA
lColorResult /= lColorA

lColorResult = lColorA + lDouble
lColorResult = lColorA - lDouble
lColorResult = lColorA * lDouble
lColorResult = lColorA / lDouble

lColorResult += lDouble
lColorResult -= lDouble
lColorResult *= lDouble
lColorResult /= lDouble

lColorResult = -lColorResult

lColorResult.CopyFrom(lColorA)
lColorResult.CopyFrom(lList)
lEqual = lColorA.NotEqual(lColorB)
lEqual = lColorA.IsEqual(lColorB)
lList = lColorA.GetList()

print lColorA
print lColorB
print lColorResult
print lDouble
print lEqual
print lList

# FBColorAndAlpha
lList = [1.0,1.0,1.0,1.0]
lColorAndAlphaA = FBColorAndAlpha()
lColorAndAlphaB = FBColorAndAlpha()
lColorAndAlphaResult = FBColorAndAlpha(lList)
print lColorAndAlphaResult

lDouble = 1.0
lEqual = True

lColorAndAlphaResult = lColorAndAlphaA + lColorAndAlphaB
lColorAndAlphaResult = lColorAndAlphaA - lColorAndAlphaB
lColorAndAlphaResult = lColorAndAlphaA * lColorAndAlphaB
lColorAndAlphaResult = lColorAndAlphaA / lColorAndAlphaB

lColorAndAlphaResult += lColorAndAlphaA
lColorAndAlphaResult -= lColorAndAlphaA
lColorAndAlphaResult *= lColorAndAlphaA
lColorAndAlphaResult /= lColorAndAlphaA

lColorAndAlphaResult = lColorAndAlphaA + lDouble
lColorAndAlphaResult = lColorAndAlphaA - lDouble
lColorAndAlphaResult = lColorAndAlphaA * lDouble
lColorAndAlphaResult = lColorAndAlphaA / lDouble

lColorAndAlphaResult += lDouble
lColorAndAlphaResult -= lDouble
lColorAndAlphaResult *= lDouble
lColorAndAlphaResult /= lDouble

lColorAndAlphaResult = -lColorAndAlphaResult

lColorAndAlphaResult.CopyFrom(lColorAndAlphaA)
lColorAndAlphaResult.CopyFrom(lList)
lEqual = lColorAndAlphaA.NotEqual(lColorAndAlphaB)
lEqual = lColorAndAlphaA.IsEqual(lColorAndAlphaB)
lList = lColorAndAlphaA.GetList()

print lColorAndAlphaA
print lColorAndAlphaB
print lColorAndAlphaResult
print lDouble
print lEqual
print lList