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

From Reallusion Wiki!
Jump to: navigation, search
m
m
Line 5: Line 5:
 
== Description ==
 
== Description ==
  
This class acts like an union for common data types. A [[IC_Python_API:RLPy_RVariant|RVariant]]object holds a single value of a specified type T at a time. You can use [[#GetType ( self )|GetType]] to find out what type the variant holds, and get its value by one of the ToT() functions, e.g. [[#ToInt32 ( self, pSucess = None )|ToInt32]]. Currently, there are two types supported: float and int.
+
This class acts like an union for common data types. A [[IC_Python_API:RLPy_RVariant|RVariant]] object holds a single value of a specified type T at a time. You can use [[#GetType ( self )|GetType]] to find out what type the variant holds, and get its value by one of the ToT() functions, e.g. [[#ToInt32 ( self, pSucess = None )|ToInt32]]. Currently, there are two types supported: float and int.
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
x = RLPy.RVariant(-10)
 
x = RLPy.RVariant(-10)
 
print(x.GetType() == RLPy.RVariant.Int32)          #true
 
print(x.GetType() == RLPy.RVariant.Int32)          #true
Line 33: Line 33:
 
:*RLPy.RVariantUInt32
 
:*RLPy.RVariantUInt32
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
x = RLPy.RVariant(-10)
 
x = RLPy.RVariant(-10)
 
print(x.GetType() == RLPy.RVariant.Int32)          #true
 
print(x.GetType() == RLPy.RVariant.Int32)          #true
Line 42: Line 42:
 
Convert to float.
 
Convert to float.
  
See Also: [[#ToInt32 ( self, pSucess = None )|ToInt32]], [[#ToUInt32( self, pSucess = None )|ToUInt32]]
+
See Also: [[#ToInt32 ( self, pSucess = None )|ToInt32]], [[#ToUInt32 ( self, pSucess = None )|ToUInt32]]
  
 
==== Parameters ====
 
==== Parameters ====
Line 50: Line 50:
 
:Value after conversion - float
 
:Value after conversion - float
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
x = RLPy.RVariant(-10)  
 
x = RLPy.RVariant(-10)  
 
f = x.ToFloat()
 
f = x.ToFloat()
Line 60: Line 60:
 
Convert to int32_t.
 
Convert to int32_t.
  
See Also: [[#ToFloat ( self, pSucess = None )|ToFloat]], [[#ToUInt32( self, pSucess = None )|ToUInt32]]
+
See Also: [[#ToFloat ( self, pSucess = None )|ToFloat]], [[#ToUInt32 ( self, pSucess = None )|ToUInt32]]
  
 
==== Parameters ====
 
==== Parameters ====
Line 68: Line 68:
 
:Signed integer value after conversion - int32
 
:Signed integer value after conversion - int32
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
f = RLPy.RVariant(-10.0)  
 
f = RLPy.RVariant(-10.0)  
 
x = f.ToInt32()
 
x = f.ToInt32()
Line 74: Line 74:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== ToUInt32( self, pSucess = None ) ===
+
=== ToUInt32 ( self, pSucess = None ) ===
  
 
Convert to uint32_t.
 
Convert to uint32_t.
Line 86: Line 86:
 
:Unsigned integer value after conversion - uint32
 
:Unsigned integer value after conversion - uint32
  
<syntaxhighlight lang="python">
+
<syntaxhighlight lang="python" line='line'>
 
f = RLPy.RVariant(10.0)  
 
f = RLPy.RVariant(10.0)  
 
x = f.ToUInt32()
 
x = f.ToUInt32()
 
print(x)  
 
print(x)  
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 23:25, 13 April 2020

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

Description

This class acts like an union for common data types. A RVariant object holds a single value of a specified type T at a time. You can use GetType to find out what type the variant holds, and get its value by one of the ToT() functions, e.g. ToInt32. Currently, there are two types supported: float and int.

 1 x = RLPy.RVariant(-10)
 2 print(x.GetType() == RLPy.RVariant.Int32)           #true
 3  
 4 f = x.ToFloat()
 5 print(f)                                            #-10.0
 6  
 7 y = RLPy.RVariant(10.0)
 8 print(y.GetType() == RLPy.RVariant.Float)           #true
 9  
10 n = x.ToInt32()
11 print(n)

Member Functions

GetType ( self )

Get type of this RVariant object.

Returns

Type of this RVariant object - int
  • RLPy.RVariant.Float
  • RLPy.RVariant.Int32
  • RLPy.RVariantUInt32
1 x = RLPy.RVariant(-10)
2 print(x.GetType() == RLPy.RVariant.Int32)           #true

ToFloat ( self, pSucess = None )

Convert to float.

See Also: ToInt32, ToUInt32

Parameters

pSucess [IN] success or not - bool

Returns

Value after conversion - float
1 x = RLPy.RVariant(-10) 
2 f = x.ToFloat()
3 print(f)

ToInt32 ( self, pSucess = None )

Convert to int32_t.

See Also: ToFloat, ToUInt32

Parameters

pSucess [IN] success or not - bool

Returns

Signed integer value after conversion - int32
1 f = RLPy.RVariant(-10.0) 
2 x = f.ToInt32()
3 print(x)

ToUInt32 ( self, pSucess = None )

Convert to uint32_t.

See Also: ToFloat, ToInt32

Parameters

pSucess [IN] success or not - bool

Returns

Unsigned integer value after conversion - uint32
1 f = RLPy.RVariant(10.0) 
2 x = f.ToUInt32()
3 print(x)