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

From Reallusion Wiki!
Jump to: navigation, search
m
m
 
(3 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
== Description ==
 
== 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.
+
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">
+
x = RLPy.RVariant(-10)
+
print(x.GetType() == RLPy.RVariant.Int32)          #true
+
+
f = x.ToFloat()
+
print(f)                                            #-10.0
+
+
y = RLPy.RVariant(10.0)
+
print(y.GetType() == RLPy.RVariant.Float)          #true
+
+
n = x.ToInt32()
+
print(n)
+
</syntaxhighlight>
+
  
 
== Member Functions ==
 
== Member Functions ==
Line 25: Line 11:
 
=== GetType ( self ) ===
 
=== GetType ( self ) ===
  
Get type of a RVariant object.
+
Get type of this [[IC_Python_API:RLPy_RVariant|RVariant]] object.
  
 
==== Returns ====
 
==== Returns ====
:Type of a RVariant object - int  
+
:Type of this [[IC_Python_API:RLPy_RVariant|RVariant]] object - int  
*RLPy.RVariant.Float
+
:*RLPy.RVariant.Float
*RLPy.RVariant.Int32
+
:*RLPy.RVariant.Int32
*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
 +
 +
y = RLPy.RVariant(10.0)
 +
print(y.GetType() == RLPy.RVariant.Float)          #true
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 42: Line 31:
 
Convert to float.
 
Convert to float.
  
See Also: [[#ToInt32 ( self, pSucess = None )|ToInt32 ( self, pSucess = None )]], [[#ToUInt32( self, pSucess = None )|ToUInt32( self, pSucess = None )]]
+
See Also: [[#ToInt32 ( self, pSucess = None )|ToInt32]], [[#ToUInt32 ( self, pSucess = None )|ToUInt32]]
  
 
==== Parameters ====
 
==== Parameters ====
:pSucess [IN] success or not - bool
+
:'''pSucess''' [IN] success or not - bool
  
 
==== Returns ====
 
==== Returns ====
 
: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 49:
 
Convert to int32_t.
 
Convert to int32_t.
  
See Also: [[#ToFloat ( self, pSucess = None )|ToFloat ( self, pSucess = None )]], [[#ToUInt32( self, pSucess = None )|ToUInt32( self, pSucess = None )]]
+
See Also: [[#ToFloat ( self, pSucess = None )|ToFloat]], [[#ToUInt32 ( self, pSucess = None )|ToUInt32]]
  
 
==== Parameters ====
 
==== Parameters ====
:pSucess [IN] success or not - bool
+
:'''pSucess''' [IN] success or not - bool
  
 
==== Returns ====
 
==== Returns ====
 
: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 63:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== ToUInt32( self, pSucess = None ) ===
+
=== ToUInt32 ( self, pSucess = None ) ===
  
 
Convert to uint32_t.
 
Convert to uint32_t.
  
See Also: [[#ToFloat ( self, pSucess = None )|ToFloat ( self, pSucess = None )]], [[#ToInt32 ( self, pSucess = None )|ToInt32 ( self, pSucess = None )]]
+
See Also: [[#ToFloat ( self, pSucess = None )|ToFloat]], [[#ToInt32 ( self, pSucess = None )|ToInt32]]
  
 
==== Parameters ====
 
==== Parameters ====
:pSucess [IN] success or not - bool
+
:'''pSucess''' [IN] success or not - bool
  
 
==== Returns ====
 
==== Returns ====
 
: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>

Latest revision as of 00:27, 14 April 2020

Main article: Modules. Last modified: 04/14/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.

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
3 
4 y = RLPy.RVariant(10.0)
5 print(y.GetType() == RLPy.RVariant.Float)           #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)