Difference between revisions of "IC Python API:RLPy RVariant"
From Reallusion Wiki!
Chuck (RL) (Talk | contribs) (Created page with "{{TOC}} {{Parent|IC_Python_API:RL_Python_Modules|Modules}} == Detailed Description == The class acts like a union for the most common data types. A RVariant object holds a sin...") |
Chuck (RL) (Talk | contribs) m |
||
Line 1: | Line 1: | ||
{{TOC}} | {{TOC}} | ||
{{Parent|IC_Python_API:RL_Python_Modules|Modules}} | {{Parent|IC_Python_API:RL_Python_Modules|Modules}} | ||
− | + | {{last_modified}} | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | == 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. | |
− | + | ||
+ | <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() | n = x.ToInt32() | ||
− | print(n) | + | print(n) |
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | == Member Functions == | |
− | + | ||
− | ==Member Functions== | + | === GetType ( self ) === |
− | ===GetType=== | + | |
+ | Get type of a RVariant object. | ||
+ | |||
+ | ==== Returns ==== | ||
+ | :Type of a RVariant object - int | ||
+ | :RLPy.RVariant.Float, RLPy.RVariant.Int32, or RLPy.RVariantUInt32 | ||
+ | |||
<syntaxhighlight lang="Python"> | <syntaxhighlight lang="Python"> | ||
− | RLPy.RVariant.GetType ( | + | x = RLPy.RVariant(-10) |
− | + | print(x.GetType() == RLPy.RVariant.Int32) #true | |
− | + | ||
− | == | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | RLPy.RVariant. | + | |
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | === ToFloat ( self, pSucess = None ) === | ||
+ | |||
Convert to float. | Convert to float. | ||
− | |||
− | |||
− | + | See Also: [[#ToInt32 ( self, pSucess = None )|ToInt32 ( self, pSucess = None )]], [[#ToUInt32( self, pSucess = None )|ToUInt32( self, pSucess = None )]] | |
− | + | ||
− | ====Returns==== | + | ==== Parameters ==== |
− | + | :pSucess [IN] success or not - bool | |
− | + | ||
− | + | ==== Returns ==== | |
− | + | :Value after conversion - float | |
+ | |||
<syntaxhighlight lang="Python"> | <syntaxhighlight lang="Python"> | ||
− | RLPy.RVariant | + | x = RLPy.RVariant(-10) |
+ | f = x.ToFloat() | ||
+ | print(f) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | === ToInt32 ( self, pSucess = None ) === | ||
+ | |||
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 )]] | |
− | + | ||
− | ====Returns==== | + | ==== Parameters ==== |
− | + | :pSucess [IN] success or not - bool | |
− | + | ||
− | + | ==== Returns ==== | |
− | + | :Signed integer value after conversion - int32 | |
+ | |||
<syntaxhighlight lang="Python"> | <syntaxhighlight lang="Python"> | ||
− | RLPy.RVariant | + | f = RLPy.RVariant(-10.0) |
+ | x = f.ToInt32() | ||
+ | print(x) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | === 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 )]] | |
− | + | ||
− | ====Returns==== | + | ==== Parameters ==== |
− | + | :pSucess [IN] success or not - bool | |
− | </ | + | |
+ | ==== Returns ==== | ||
+ | :Unsigned integer value after conversion - uint32 | ||
+ | |||
+ | <syntaxhighlight lang="Python"> | ||
+ | f = RLPy.RVariant(10.0) | ||
+ | x = f.ToUInt32() | ||
+ | print(x) | ||
+ | </syntaxhighlight> |
Revision as of 23:34, 22 March 2020
- Main article: Modules.
- Last modified: 03/22/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.
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)
Member Functions
GetType ( self )
Get type of a RVariant object.
Returns
- Type of a RVariant object - int
- RLPy.RVariant.Float, RLPy.RVariant.Int32, or RLPy.RVariantUInt32
x = RLPy.RVariant(-10)
print(x.GetType() == RLPy.RVariant.Int32) #true
ToFloat ( self, pSucess = None )
Convert to float.
See Also: ToInt32 ( self, pSucess = None ), ToUInt32( self, pSucess = None )
Parameters
- pSucess [IN] success or not - bool
Returns
- Value after conversion - float
x = RLPy.RVariant(-10)
f = x.ToFloat()
print(f)
ToInt32 ( self, pSucess = None )
Convert to int32_t.
See Also: ToFloat ( self, pSucess = None ), ToUInt32( self, pSucess = None )
Parameters
- pSucess [IN] success or not - bool
Returns
- Signed integer value after conversion - int32
f = RLPy.RVariant(-10.0)
x = f.ToInt32()
print(x)
ToUInt32( self, pSucess = None )
Convert to uint32_t.
See Also: ToFloat ( self, pSucess = None ), ToInt32 ( self, pSucess = None )
Parameters
- pSucess [IN] success or not - bool
Returns
- Unsigned integer value after conversion - uint32
f = RLPy.RVariant(10.0)
x = f.ToUInt32()
print(x)