Difference between revisions of "IC Python API:RLPy RVector3"

From Reallusion Wiki!
Jump to: navigation, search
m
m
 
Line 40: Line 40:
 
=== __init__ ( self ) ===
 
=== __init__ ( self ) ===
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3()
 
a = RLPy.RVector3()
 
</syntaxhighlight>
 
</syntaxhighlight>
Line 51: Line 51:
 
:'''z''' [IN] A numerical value for z coordinate - float or int
 
:'''z''' [IN] A numerical value for z coordinate - float or int
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 2, 3)
 
a = RLPy.RVector3(1, 2, 3)
 
</syntaxhighlight>
 
</syntaxhighlight>
Line 62: Line 62:
 
:'''args''' [IN] a [[IC_Python_API:RLPy_RVector3|RVector3]]object - [[IC_Python_API:RLPy_RVector3|RVector3]]
 
:'''args''' [IN] a [[IC_Python_API:RLPy_RVector3|RVector3]]object - [[IC_Python_API:RLPy_RVector3|RVector3]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 2, 3)
 
a = RLPy.RVector3(1, 2, 3)
 
b = RLPy.RVector3(a)
 
b = RLPy.RVector3(a)
Line 75: Line 75:
 
See Also: [[#!=|!=]]
 
See Also: [[#!=|!=]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 2, 3)
 
a = RLPy.RVector3(1, 2, 3)
 
b = a
 
b = a
Line 88: Line 88:
 
See Also: [[#==|==]]
 
See Also: [[#==|==]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3()
 
a = RLPy.RVector3()
 
b = RLPy.RVector3(1, 2, 3)
 
b = RLPy.RVector3(1, 2, 3)
Line 101: Line 101:
 
See Also: [[#<=|<=]]
 
See Also: [[#<=|<=]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(0, 1, 5)
 
a = RLPy.RVector3(0, 1, 5)
 
b = RLPy.RVector3(0, 2, 0)
 
b = RLPy.RVector3(0, 2, 0)
Line 118: Line 118:
 
See Also: [[#>=|>=]]
 
See Also: [[#>=|>=]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(0, 1, 5)
 
a = RLPy.RVector3(0, 1, 5)
 
b = RLPy.RVector3(0, 1, 7)
 
b = RLPy.RVector3(0, 1, 7)
Line 135: Line 135:
 
See Also: [[#<|<]]
 
See Also: [[#<|<]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(0, 1, 5)
 
a = RLPy.RVector3(0, 1, 5)
 
b = RLPy.RVector3(0, 2, 0)
 
b = RLPy.RVector3(0, 2, 0)
Line 152: Line 152:
 
See Also: [[#>|>]]
 
See Also: [[#>|>]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(0, 1, 5)
 
a = RLPy.RVector3(0, 1, 5)
 
b = RLPy.RVector3(0, 1, 7)
 
b = RLPy.RVector3(0, 1, 7)
Line 169: Line 169:
 
See Also: [[#+=|+=]]
 
See Also: [[#+=|+=]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(0, 1, 2)
 
a = RLPy.RVector3(0, 1, 2)
 
b = RLPy.RVector3(1, 2, 3)
 
b = RLPy.RVector3(1, 2, 3)
Line 183: Line 183:
 
See Also: [[#-=|-=]]
 
See Also: [[#-=|-=]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(0, 1, 2)
 
a = RLPy.RVector3(0, 1, 2)
 
b = RLPy.RVector3(3, 2, 1)
 
b = RLPy.RVector3(3, 2, 1)
Line 197: Line 197:
 
See Also: [[#*=|*=]]
 
See Also: [[#*=|*=]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 2, 3)
 
a = RLPy.RVector3(1, 2, 3)
 
b = a * 2
 
b = a * 2
Line 212: Line 212:
 
See Also: [[#/=|/=]]
 
See Also: [[#/=|/=]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 2, 3)
 
a = RLPy.RVector3(1, 2, 3)
 
b = a / 2
 
b = a / 2
Line 226: Line 226:
 
The "unary minus" operator. Inverse the sign of each element.
 
The "unary minus" operator. Inverse the sign of each element.
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 2, 3)
 
a = RLPy.RVector3(1, 2, 3)
 
b = -a
 
b = -a
Line 239: Line 239:
 
See Also: [[#+|+]]
 
See Also: [[#+|+]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(0, 1, 2)
 
a = RLPy.RVector3(0, 1, 2)
 
b = RLPy.RVector3(1, 2, 3)
 
b = RLPy.RVector3(1, 2, 3)
Line 253: Line 253:
 
See Also: [[#-|-]]
 
See Also: [[#-|-]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(0, 1, 4)
 
a = RLPy.RVector3(0, 1, 4)
 
b = RLPy.RVector3(1, 2, 3)
 
b = RLPy.RVector3(1, 2, 3)
Line 267: Line 267:
 
See Also: [[#*|*]]
 
See Also: [[#*|*]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 2, 3)
 
a = RLPy.RVector3(1, 2, 3)
 
a *= 2
 
a *= 2
Line 284: Line 284:
 
See Also: [[#/|/]]
 
See Also: [[#/|/]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 2, 3)
 
a = RLPy.RVector3(1, 2, 3)
 
a /= 2
 
a /= 2
Line 304: Line 304:
 
:'''True''' if the 3D vectors are almost the same, else '''False''' - bool
 
:'''True''' if the 3D vectors are almost the same, else '''False''' - bool
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 2, 3)
 
a = RLPy.RVector3(1, 2, 3)
 
b = RLPy.RVector3(1, 2, 3.000000001)
 
b = RLPy.RVector3(1, 2, 3.000000001)
Line 322: Line 322:
 
:'''True''' if this 3D vector is a zeroed 3D vector, else '''False''' - bool
 
:'''True''' if this 3D vector is a zeroed 3D vector, else '''False''' - bool
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(0.00000001, 0, 0.00000003)
 
a = RLPy.RVector3(0.00000001, 0, 0.00000003)
 
b = RLPy.RVector3(0.00001, 0, 0)
 
b = RLPy.RVector3(0.00001, 0, 0)
Line 342: Line 342:
 
:New 3D vector which is the cross product of this and another 3D vector - [[IC_Python_API:RLPy_RVector3|RVector3]]
 
:New 3D vector which is the cross product of this and another 3D vector - [[IC_Python_API:RLPy_RVector3|RVector3]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 0, 0)
 
a = RLPy.RVector3(1, 0, 0)
 
b = RLPy.RVector3(0, 1, 0)
 
b = RLPy.RVector3(0, 1, 0)
Line 360: Line 360:
 
:The distance between this and another 3D vector - float
 
:The distance between this and another 3D vector - float
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(3, 0, 0)
 
a = RLPy.RVector3(3, 0, 0)
 
b = RLPy.RVector3(0, 4, 0)
 
b = RLPy.RVector3(0, 4, 0)
Line 377: Line 377:
 
:The value of the dot product - float
 
:The value of the dot product - float
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 2, 3)
 
a = RLPy.RVector3(1, 2, 3)
 
b = RLPy.RVector3(1, 2, 3)
 
b = RLPy.RVector3(1, 2, 3)
Line 395: Line 395:
 
:New vector which is the cross product this and another vector - [[IC_Python_API:RLPy_RVector3|RVector3]]
 
:New vector which is the cross product this and another vector - [[IC_Python_API:RLPy_RVector3|RVector3]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(10, 20, 30)
 
a = RLPy.RVector3(10, 20, 30)
 
b = RLPy.RVector3(1, 2, 3)
 
b = RLPy.RVector3(1, 2, 3)
Line 410: Line 410:
 
:The inverse of this 3D vector - [[IC_Python_API:RLPy_RVector3|RVector3]]
 
:The inverse of this 3D vector - [[IC_Python_API:RLPy_RVector3|RVector3]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 2, 3)
 
a = RLPy.RVector3(1, 2, 3)
 
b = a.Inverse()
 
b = a.Inverse()
Line 423: Line 423:
 
:Length of this vector - float
 
:Length of this vector - float
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 1, 1)
 
a = RLPy.RVector3(1, 1, 1)
  
Line 436: Line 436:
 
:The normalized 3D vector - float
 
:The normalized 3D vector - float
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 1, 1)
 
a = RLPy.RVector3(1, 1, 1)
  
Line 450: Line 450:
 
:'''tX''' [IN] The value of the x-axis - float
 
:'''tX''' [IN] The value of the x-axis - float
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 1, 1)
 
a = RLPy.RVector3(1, 1, 1)
 
a.SetX(10)
 
a.SetX(10)
Line 466: Line 466:
 
:'''tZ''' [IN] The value of the z-axis - float
 
:'''tZ''' [IN] The value of the z-axis - float
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 1, 1)
 
a = RLPy.RVector3(1, 1, 1)
 
a.SetXYZ(10, 20, 30)
 
a.SetXYZ(10, 20, 30)
Line 480: Line 480:
 
:'''tX''' [IN] the value of the y-axis.
 
:'''tX''' [IN] the value of the y-axis.
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 1, 1)
 
a = RLPy.RVector3(1, 1, 1)
 
a.SetY(10)
 
a.SetY(10)
Line 494: Line 494:
 
:tX[IN] The value for the z-axis.
 
:tX[IN] The value for the z-axis.
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 1, 1)
 
a = RLPy.RVector3(1, 1, 1)
 
a.SetZ(10)
 
a.SetZ(10)
Line 511: Line 511:
 
:The squared distance of this and another 3D vector - float
 
:The squared distance of this and another 3D vector - float
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 1, 1)
 
a = RLPy.RVector3(1, 1, 1)
  
Line 524: Line 524:
 
:The squared length of this vector - float
 
:The squared length of this vector - float
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 1, 1)
 
a = RLPy.RVector3(1, 1, 1)
  
Line 537: Line 537:
 
:A 2D vector composed of this 3D vector's x and y elements - [[IC_Python_API:RLPy_RVector2|RVector2]]
 
:A 2D vector composed of this 3D vector's x and y elements - [[IC_Python_API:RLPy_RVector2|RVector2]]
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
a = RLPy.RVector3(1, 2, 3)
 
a = RLPy.RVector3(1, 2, 3)
 
b = a.XY()
 
b = a.XY()

Latest revision as of 18:55, 13 April 2020

Main article: Modules.
Last modified: 04/13/2020

Description

This class represent the 3D vector (x, y, z). This class provides access to RLPy's internal 3D vector math library allowing 3D vectors to be handled easily, in a manner compatible with internal RLPy data structures. It also supports operators and provides some constants for your convenience:

Constant Description
RVector3.ZERO 3D zero vector: (0, 0, 0)
RVector3.UNIT_X 3D x unit vector: (1, 0, 0)
RVector3.UNIT_Y 3D y unit vector: (0, 1, 0)
RVector3.UNIT_Z 3D z unit vector: (0, 0, 1)
RVector3.UNIT_XY 3D vector: (1, 1, 0)
RVector3.UNIT_YZ 3D vector: (0, 1, 1)
RVector3.UNIT_XZ 3D vector: (1, 0, 1)
RVector3.UNIT_XYZ 3D vector: (1, 1, 1)

Constructor & Destructor

__init__ ( self )

1 a = RLPy.RVector3()

__init__ ( self, x, y, z )

Parameters

x [IN] A numerical value for x coordinate - float or int
y [IN] A numerical value for y coordinate - float or int
z [IN] A numerical value for z coordinate - float or int
1 a = RLPy.RVector3(1, 2, 3)

__init__ ( self, args )

The constructor. Initialize a new RVector3object with another RVector3object: args. This new RVector3object has the same value as args.

Parameters

args [IN] a RVector3object - RVector3
1 a = RLPy.RVector3(1, 2, 3)
2 b = RLPy.RVector3(a)

Operators

==

The "equal to" operator.

See Also: !=

1 a = RLPy.RVector3(1, 2, 3)
2 b = a
3 
4 print(a == b) #True

!=

The "not equal to" operator.

See Also: ==

1 a = RLPy.RVector3()
2 b = RLPy.RVector3(1, 2, 3)
3 
4 print(a != b) #True

<

The "less than" operator. Similar to string comparison: Returns True upon the first match that is less than and False if it is greater than. If the current comparison is equal, continue onto the next element. If all elements are equal then return False.

See Also: <=

1 a = RLPy.RVector3(0, 1, 5)
2 b = RLPy.RVector3(0, 2, 0)
3 c = RLPy.RVector3(1, 0, 1)
4 d = RLPy.RVector3(0, 1, 5)
5 
6 print(a < b) #True
7 print(b < c) #True
8 print(a < d) #False

>

The "greater than" operator. Similar to string comparison: Returns True upon the first match that is greater than and False if it is less than. If the current comparison is equal, continue onto the next element. If all elements are equal then return False.

See Also: >=

1 a = RLPy.RVector3(0, 1, 5)
2 b = RLPy.RVector3(0, 1, 7)
3 c = RLPy.RVector3(1, 0, 1)
4 d = RLPy.RVector3(0, 1, 5)
5 
6 print(b > a) #True
7 print(c > b) #True
8 print(d > a) #False

<=

The "less than or equal" operator. Similar to string comparison: Returns True upon the first match that is less than and False if it is greater than. If the current comparison is equal, continue onto the next element. If all elements are equal then return True.

See Also: <

1 a = RLPy.RVector3(0, 1, 5)
2 b = RLPy.RVector3(0, 2, 0)
3 c = RLPy.RVector3(1, 0, 1)
4 d = RLPy.RVector3(0, 1, 5)
5 
6 print(a<= b) #True
7 print(b<= c) #True
8 print(a<= d) #True

>=

The "greater than or equal" operator. Similar to string comparison: Returns True upon the first match that is greater than and False if it is less than. If the current comparison is equal, continue onto the next element. If all elements are equal then return True.

See Also: >

1 a = RLPy.RVector3(0, 1, 5)
2 b = RLPy.RVector3(0, 1, 7)
3 c = RLPy.RVector3(1, 0, 1)
4 d = RLPy.RVector3(0, 1, 5)
5 
6 print(b >= a) #True
7 print(c >= b) #True
8 print(d >= a) #True

+

The "addition" operator. Perform 3D vector addition.

See Also: +=

1 a = RLPy.RVector3(0, 1, 2)
2 b = RLPy.RVector3(1, 2, 3)
3 c = a + b
4 
5 print(str(c.x) + ', ' + str(c.y) + ', ' + str(c.z)) #1.0, 3.0, 5.0

-

The "subtraction" operator. Perform 3D vector subtraction.

See Also: -=

1 a = RLPy.RVector3(0, 1, 2)
2 b = RLPy.RVector3(3, 2, 1)
3 c = b - a
4 
5 print(str(c.x) + ', ' + str(c.y) + ', ' + str(c.z)) #3.0, 1.0, -1.0

*

The "multiplication" operator. Perform a scalar multiplication when the second operand is an integer or float. If the second operand is another 3D vector, then the respective x, y, z elements are multiplied.

See Also: *=

1 a = RLPy.RVector3(1, 2, 3)
2 b = a * 2
3 c = a * a
4 
5 print(str(b.x) + ', ' + str(b.y) + ', ' + str(b.z)) #2.0, 4.0, 6.0
6 print(str(c.x) + ', ' + str(c.y) + ', ' + str(c.z)) #1.0, 4.0, 9.0

/

The "division" operator. Perform a scalar division when the second operand is an integer or float. If the second operand is another 3D vector, then the respective x, y, z elements are divided.

See Also: /=

1 a = RLPy.RVector3(1, 2, 3)
2 b = a / 2
3 c = RLPy.RVector3(2, 2, 10)
4 d = a / c
5 
6 print(str(b.x) + ', ' + str(b.y) + ', ' + str(b.z)) #0.5, 1.0, 1.5
7 print(str(d.x) + ', ' + str(d.y) + ', ' + str(d.z)) #0.5, 1.0, 0.3

-

The "unary minus" operator. Inverse the sign of each element.

1 a = RLPy.RVector3(1, 2, 3)
2 b = -a
3 
4 print(str(b.x) + ', ' + str(b.y) + ', ' + str(b.z)) #-1.0, -2.0, -3.0

+=

The "addition assignment" operator.

See Also: +

1 a = RLPy.RVector3(0, 1, 2)
2 b = RLPy.RVector3(1, 2, 3)
3 a += b
4 
5 print(str(a.x) + ', ' + str(a.y)+ ', ' + str(a.z)) #1.0, 3.0, 5.0

-=

The "subtraction assignment" operator.

See Also: -

1 a = RLPy.RVector3(0, 1, 4)
2 b = RLPy.RVector3(1, 2, 3)
3 a -= b
4 
5 print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z)) #-1.0, -1.0, 1.0

*=

The "multiplication assignment" operator. For calculation method, refer to the * operator.

See Also: *

1 a = RLPy.RVector3(1, 2, 3)
2 a *= 2
3 b = RLPy.RVector3(1, 2, 3)
4 c = RLPy.RVector3(2, 3, 4)
5 b *= c
6 
7 print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z)) #2.0, 4.0, 6.0
8 print(str(b.x) + ', ' + str(b.y) + ', ' + str(b.z)) #2.0, 6.0, 12.0

/=

The "division assignment" operator. For calculation method, refer to the / operator.

See Also: /

1 a = RLPy.RVector3(1, 2, 3)
2 a /= 2
3 b = RLPy.RVector3(1, 2, 3)
4 c = RLPy.RVector3(2, 4, 2)
5 b /= c
6 
7 print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z)) #0.5, 1.0, 1.5
8 print(str(b.x) + ', ' + str(b.y) + ', ' + str(b.z)) #0.5, 0.5, 1.5

Member Functions

AlmostTheSame ( self, vV )

Determine if this and another 3D vector is the equivalent withing a tolerance.

Returns

True if the 3D vectors are almost the same, else False - bool
1 a = RLPy.RVector3(1, 2, 3)
2 b = RLPy.RVector3(1, 2, 3.000000001)
3 c = RLPy.RVector3(1, 2, 3.00001)
4 
5 if a.AlmostTheSame(b):  #True
6     print("a ≈ b")
7 if a.AlmostTheSame(c):  #False
8     print("a ≈ c")

AlmostZero ( self )

Determine if this 3D vector is a zeroed 3D vector.

Returns

True if this 3D vector is a zeroed 3D vector, else False - bool
1 a = RLPy.RVector3(0.00000001, 0, 0.00000003)
2 b = RLPy.RVector3(0.00001, 0, 0)
3 
4 if a.AlmostZero():                 #True
5     print("a is ZERO vector.")
6 if b.AlmostZero():                 #False
7     print("a is ZERO vector.")

Cross ( self, vV )

Calculate the cross production of this and another 3D vector.

Parameters

vV [IN] The vector - RVector3

Returns

New 3D vector which is the cross product of this and another 3D vector - RVector3
1 a = RLPy.RVector3(1, 0, 0)
2 b = RLPy.RVector3(0, 1, 0)
3 c = a.Cross(b)
4 
5 print(str(c.x) + ', ' + str(c.y) + ', ' + str(c.z))   # 0.0, 0.0, 1.0

Distance ( self, vV )

Calculate the distance between this and another 3D vector.

Parameters

vV [IN] The vector - RVector3

Returns

The distance between this and another 3D vector - float
1 a = RLPy.RVector3(3, 0, 0)
2 b = RLPy.RVector3(0, 4, 0)
3 
4 print(a.Distance(b))    # 5.0

Dot (self, vV)

Calculate the dot production of this and another 3D vector.

Parameters

vV [IN] The 3D vector with which to compute the dot product - RVector3

Returns

The value of the dot product - float
1 a = RLPy.RVector3(1, 2, 3)
2 b = RLPy.RVector3(1, 2, 3)
3 
4 print(a.Dot(b)) # 14.0

Interpolate ( self, vRatio, vV )

Calculate the interpolate of this and another 3D vector.

Parameters

vRatio [IN] ratio value - float
vV [IN] Another 3D vector - RVector3

Returns

New vector which is the cross product this and another vector - RVector3
1 a = RLPy.RVector3(10, 20, 30)
2 b = RLPy.RVector3(1, 2, 3)
3 c = a.Interpolate(0.1, b)
4 
5 print(str(c.x) + ', ' + str(c.y) + ', ' + str(c.z))   # 9.100000381469727, 18.200000762939453, 27.299999237060547

Inverse ( self )

Invert all the elements of this 3D vector.

Returns

The inverse of this 3D vector - RVector3
1 a = RLPy.RVector3(1, 2, 3)
2 b = a.Inverse()
3 print(str(b.x) + ', ' + str(b.y) + ', ' + str(b.z))  # 1.0, 0.5, 0.3333333432674408

Length ( self )

Length of the vector.

Returns

Length of this vector - float
1 a = RLPy.RVector3(1, 1, 1)
2 
3 print(a.Length())   # 1.7320507764816284

Normalize ( self )

Normalize this 3D vector.

Returns

The normalized 3D vector - float
1 a = RLPy.RVector3(1, 1, 1)
2 
3 print(a.Normalize())    #1.7320507764816284
4 print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z))   # 0.5773502588272095, 0.5773502588272095, 0.5773502588272095

SetX ( self, tX )

Set the value of the x-axis for this 3D vector.

Parameters

tX [IN] The value of the x-axis - float
1 a = RLPy.RVector3(1, 1, 1)
2 a.SetX(10)
3 
4 print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z))  # 10.0, 1.0, 1.0

SetXYZ ( self, tX, tY, tZ )

Set the value of the all axes for this 3D vector.

Parameters

tX [IN] The value of the x-axis - float
tY [IN] The value of the y-axis - float
tZ [IN] The value of the z-axis - float
1 a = RLPy.RVector3(1, 1, 1)
2 a.SetXYZ(10, 20, 30)
3 
4 print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z)) # 10.0, 20.0, 30.0

SetY ( self, tY )

Set the value of the y-axis for this 3D vector.

Parameters

tX [IN] the value of the y-axis.
1 a = RLPy.RVector3(1, 1, 1)
2 a.SetY(10)
3 
4 print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z))  # 1.0, 10.0, 1.0

SetZ ( self, tZ )

Set the value of the z-axis for this 3D vector.

Parameters

tX[IN] The value for the z-axis.
1 a = RLPy.RVector3(1, 1, 1)
2 a.SetZ(10)
3 
4 print(str(a.x) + ', ' + str(a.y) + ', ' + str(a.z))  # 1.0, 1.0, 10.0

SquaredDistance ( self, vV )

Get the squared distance between this and another 3D vector.

Parameters

vV [IN] The vector - RVector3

Returns

The squared distance of this and another 3D vector - float
1 a = RLPy.RVector3(1, 1, 1)
2 
3 print(a.SquaredLength())        # 3.0

SquaredLength ( self )

Get the squared length of this 3D vector.

Returns

The squared length of this vector - float
1 a = RLPy.RVector3(1, 1, 1)
2 
3 print(a.SquaredLength())    # 3.0

XY ( self )

Get the x and y elements of this 3D vector.

Returns

A 2D vector composed of this 3D vector's x and y elements - RVector2
1 a = RLPy.RVector3(1, 2, 3)
2 b = a.XY()
3 
4 print(str(b.x) + ', ' + str(b.y))   # 1.0, 2.0