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

From Reallusion Wiki!
Jump to: navigation, search
m
m
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
 
== Description ==
 
== Description ==
  
This is the base class for all scene objects such as '''RIAvatar''', '''RIProp''', '''RICamera''', etc.  Deployed objects might come across some points of operation failure during the course of one's work with the scene, e.g. deletion, undo/redo operations, file importation, etc.  Therefore, '''RIBase''' provides '''IsValid()''' to detect for scene objects' validity.
+
This is the base class for all scene objects such as [[IC_Python_API:RLPy_RIAvatar|RIAvatar]], [[IC_Python_API:RLPy_RIProp|RIProp]], [[IC_Python_API:RLPy_RICamera|RICamera]], etc.  Deployed objects might come across some points of operation failure during the course of one's work with the scene, i.e. deletion, undo/redo operations, file importation, etc.  Therefore, [[IC_Python_API:RLPy_RIBase|RIBase]] provides [[#IsValid ( self )|IsValid]] to detect for scene objects' validity.
 +
 
 +
== Inheritance ==
 +
 
 +
[[IC_Python_API:RLPy_RIBase|RIBase]] > [[IC_Python_API:RLPy_RIClip|RIClip]] | [[IC_Python_API:RLPy_RIMaterialComponent|RIMaterialComponent]] | [[IC_Python_API:RLPy_RIMaterialComponent|RIMaterialComponent]] | [[IC_Python_API:RLPy_RINode|RINode]] | [[IC_Python_API:RLPy_RISkeletonComponent|RISkeletonComponent]] | [[IC_Python_API:RLPy_RIVisemeComponent|RIVisemeComponent]]
 +
[[IC_Python_API:RLPy_RIBase|RIBase]] > [[IC_Python_API:RLPy_RIObject|RIObject]] > [[IC_Python_API:RLPy_RIAvatar|RIAvatar]] | [[IC_Python_API:RLPy_RICamera|RICamera]] | [[IC_Python_API:RLPy_RIParticle|RIParticle]] | [[IC_Python_API:RLPy_RIProp|RIProp]]
 +
[[IC_Python_API:RLPy_RIBase|RIBase]] > [[IC_Python_API:RLPy_RIObject|RIObject]] > [[IC_Python_API:RLPy_RILight|RILight]] > [[IC_Python_API:RLPy_RIDirectionalLight|RIDirectionalLight]] | [[IC_Python_API:RLPy_RIPointLight|RIPointLight]] | [[IC_Python_API:RLPy_RISpotLight|RISpotLight]]
  
 
== Member Functions ==
 
== Member Functions ==
Line 11: Line 17:
 
=== IsValid ( self ) ===
 
=== IsValid ( self ) ===
  
Check whether or not the scene object exists; If detection fails, return '''False'''.  Call '''IsValid()''' to determine the validity of the object or use an EventCallback to update the state of the object after an event is triggered.
+
Check whether or not the scene object exists; If detection fails, return '''False'''.
  
 
==== Returns ====
 
==== Returns ====
:Valid or not - bool
+
:'''True''' if valid, else '''False''' - bool
 
+
<syntaxhighlight lang="Python">
+
import RLPy
+
  
 +
<syntaxhighlight lang="python" line='line'>
 
avatar = None
 
avatar = None
 
event_callback = None
 
event_callback = None

Latest revision as of 23:40, 14 April 2020

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

Description

This is the base class for all scene objects such as RIAvatar, RIProp, RICamera, etc. Deployed objects might come across some points of operation failure during the course of one's work with the scene, i.e. deletion, undo/redo operations, file importation, etc. Therefore, RIBase provides IsValid to detect for scene objects' validity.

Inheritance

RIBase > RIClip | RIMaterialComponent | RIMaterialComponent | RINode | RISkeletonComponent | RIVisemeComponent 
RIBase > RIObject > RIAvatar | RICamera | RIParticle | RIProp 
RIBase > RIObject > RILight > RIDirectionalLight | RIPointLight | RISpotLight 

Member Functions

IsValid ( self )

Check whether or not the scene object exists; If detection fails, return False.

Returns

True if valid, else False - bool
 1 avatar = None
 2 event_callback = None
 3 
 4 class REventCallbackSampleCode(RLPy.REventCallback):
 5     def __init__(self):
 6         RLPy.REventCallback.__init__(self)
 7     def OnObjectDeleted(self):
 8         global avatar
 9         if not avatar.IsValid():
10             print ("The avatar has been deleted")
11 
12 def run_script():
13     global avatar
14     global event_callback
15     avatar_list = RLPy.RScene.GetAvatars()
16     avatar = avatar_list[0] 
17     event_callback = REventCallbackSampleCode()
18     id = RLPy.REventHandler.RegisterCallback(event_callback)