2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								/**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  $ Id $ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  * * * * *  BEGIN  GPL  LICENSE  BLOCK  * * * * * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  This  program  is  free  software ;  you  can  redistribute  it  and / or 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  modify  it  under  the  terms  of  the  GNU  General  Public  License 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  as  published  by  the  Free  Software  Foundation ;  either  version  2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  of  the  License ,  or  ( at  your  option )  any  later  version . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  This  program  is  distributed  in  the  hope  that  it  will  be  useful , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  but  WITHOUT  ANY  WARRANTY ;  without  even  the  implied  warranty  of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR  PURPOSE .   See  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  GNU  General  Public  License  for  more  details . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  You  should  have  received  a  copy  of  the  GNU  General  Public  License 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  along  with  this  program ;  if  not ,  write  to  the  Free  Software  Foundation , 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-12 13:34:04 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								 *  Inc . ,  51  Franklin  Street ,  Fifth  Floor ,  Boston ,  MA  02110 - 1301 ,  USA . 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  Contributor ( s ) :  Blender  Foundation  ( 2008 ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 *  * * * * *  END  GPL  LICENSE  BLOCK  * * * * * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  <stdlib.h> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  "RNA_define.h" 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  "rna_internal.h" 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# include  "DNA_controller_types.h" 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								EnumPropertyItem  controller_type_items [ ]  = { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									{ CONT_LOGIC_AND ,  " LOGIC_AND " ,  0 ,  " And " ,  " Logic And " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									{ CONT_LOGIC_OR ,  " LOGIC_OR " ,  0 ,  " Or " ,  " Logic Or " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									{ CONT_LOGIC_NAND ,  " LOGIC_NAND " ,  0 ,  " Nand " ,  " Logic Nand " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									{ CONT_LOGIC_NOR ,  " LOGIC_NOR " ,  0 ,  " Nor " ,  " Logic Nor " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									{ CONT_LOGIC_XOR ,  " LOGIC_XOR " ,  0 ,  " Xor " ,  " Logic Xor " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									{ CONT_LOGIC_XNOR ,  " LOGIC_XNOR " ,  0 ,  " Xnor " ,  " Logic Xnor " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									{ CONT_EXPRESSION ,  " EXPRESSION " ,  0 ,  " Expression " ,  " " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									{ CONT_PYTHON ,  " PYTHON " ,  0 ,  " Python Script " ,  " " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									{ 0 ,  NULL ,  0 ,  NULL ,  NULL } } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								# ifdef RNA_RUNTIME 
 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								# include  "BKE_sca.h" 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								static  struct  StructRNA *  rna_Controller_refine ( struct  PointerRNA  * ptr ) 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									bController  * controller =  ( bController * ) ptr - > data ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									switch ( controller - > type )  { 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
										case  CONT_LOGIC_AND : 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
											return  & RNA_AndController ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
										case  CONT_LOGIC_OR : 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
											return  & RNA_OrController ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
										case  CONT_LOGIC_NAND : 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
											return  & RNA_NandController ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
										case  CONT_LOGIC_NOR : 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
											return  & RNA_NorController ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
										case  CONT_LOGIC_XOR : 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
											return  & RNA_XorController ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
										case  CONT_LOGIC_XNOR : 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
											return  & RNA_XnorController ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-03-22 09:30:00 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
										 case  CONT_EXPRESSION : 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
											return  & RNA_ExpressionController ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
										case  CONT_PYTHON : 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
											return  & RNA_PythonController ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										default : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
											return  & RNA_Controller ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								static  void  rna_Controller_type_update ( Main  * bmain ,  Scene  * scene ,  PointerRNA  * ptr ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									bController  * cont =  ( bController  * ) ptr - > data ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									init_controller ( cont ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								# else 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								void  RNA_def_controller ( BlenderRNA  * brna ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									StructRNA  * srna ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									PropertyRNA  * prop ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									static  EnumPropertyItem  python_controller_modes [ ]  = { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										{ CONT_PY_SCRIPT ,  " SCRIPT " ,  0 ,  " Script " ,  " " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
										{ CONT_PY_MODULE ,  " MODULE " ,  0 ,  " Module " ,  " " } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-06-16 00:52:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
										{ 0 ,  NULL ,  0 ,  NULL ,  NULL } } ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									/* Controller */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-19 04:06:24 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									srna =  RNA_def_struct ( brna ,  " Controller " ,  NULL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_struct_sdna ( srna ,  " bController " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-01-01 15:52:51 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_struct_refine_func ( srna ,  " rna_Controller_refine " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-10 21:15:44 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_struct_ui_text ( srna ,  " Controller " ,  " Game engine logic brick to process events, connecting sensors to actuators " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									prop =  RNA_def_property ( srna ,  " name " ,  PROP_STRING ,  PROP_NONE ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_property_ui_text ( prop ,  " Name " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_struct_name_property ( srna ,  prop ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									prop =  RNA_def_property ( srna ,  " type " ,  PROP_ENUM ,  PROP_NONE ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_property_clear_flag ( prop ,  PROP_ANIMATABLE ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_property_enum_items ( prop ,  controller_type_items ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_property_ui_text ( prop ,  " Type " ,  " " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_property_update ( prop ,  0 ,  " rna_Controller_type_update " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									prop =  RNA_def_property ( srna ,  " expanded " ,  PROP_BOOLEAN ,  PROP_NONE ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_property_boolean_sdna ( prop ,  NULL ,  " flag " ,  CONT_SHOW ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_property_ui_text ( prop ,  " Expanded " ,  " Set controller expanded in the user interface " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_property_ui_icon ( prop ,  ICON_TRIA_RIGHT ,  1 ) ; 	
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									prop =  RNA_def_property ( srna ,  " priority " ,  PROP_BOOLEAN ,  PROP_NONE ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_property_boolean_sdna ( prop ,  NULL ,  " flag " ,  CONT_PRIO ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_property_ui_text ( prop ,  " Priority " ,  " Mark controller for execution before all non-marked controllers (good for startup scripts) " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_property_ui_icon ( prop ,  ICON_BOOKMARKS ,  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									/* Expression Controller */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-19 04:06:24 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									srna =  RNA_def_struct ( brna ,  " ExpressionController " ,  " Controller " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_struct_sdna_from ( srna ,  " bExpressionCont " ,  " data " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-10 21:15:44 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_struct_ui_text ( srna ,  " Expression Controller " ,  " Controller passing on events based on the evaluation of an expression " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									prop =  RNA_def_property ( srna ,  " expression " ,  PROP_STRING ,  PROP_NONE ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_property_string_sdna ( prop ,  NULL ,  " str " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_property_string_maxlength ( prop ,  127 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_property_ui_text ( prop ,  " Expression " ,  " " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									/* Python Controller */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-19 04:06:24 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									srna =  RNA_def_struct ( brna ,  " PythonController " ,  " Controller "  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_struct_sdna_from ( srna ,  " bPythonCont " ,  " data " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-10 21:15:44 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_struct_ui_text ( srna ,  " Python Controller " ,  " Controller executing a python script " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									prop =  RNA_def_property ( srna ,  " mode " ,  PROP_ENUM ,  PROP_NONE ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_property_enum_items ( prop ,  python_controller_modes ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_property_ui_text ( prop ,  " Execution Method " ,  " Python script type (textblock or module - faster) " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
									prop =  RNA_def_property ( srna ,  " text " ,  PROP_POINTER ,  PROP_NONE ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-05 23:50:33 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_property_struct_type ( prop ,  " Text " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-05-28 23:23:47 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_property_flag ( prop ,  PROP_EDITABLE ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-10 21:15:44 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_property_ui_text ( prop ,  " Text " ,  " Text datablock with the python script " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-02-05 23:50:33 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									prop =  RNA_def_property ( srna ,  " module " ,  PROP_STRING ,  PROP_NONE ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_property_ui_text ( prop ,  " Module " ,  " Module name and function to run e.g.  \" someModule.main \" . Internal texts and external python files can be used " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_struct_name_property ( srna ,  prop ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									prop =  RNA_def_property ( srna ,  " debug " ,  PROP_BOOLEAN ,  PROP_NONE ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									RNA_def_property_boolean_sdna ( prop ,  NULL ,  " flag " ,  CONT_PY_DEBUG ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-10 21:15:44 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_property_ui_text ( prop ,  " D " ,  " Continuously reload the module from disk for editing external modules without restarting " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-05 23:50:33 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									/* Other Controllers */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-19 04:06:24 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									srna =  RNA_def_struct ( brna ,  " AndController " ,  " Controller " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-10 21:15:44 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_struct_ui_text ( srna ,  " And Controller " ,  " Controller passing on events based on a logical AND operation " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-19 04:06:24 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									srna =  RNA_def_struct ( brna ,  " OrController " ,  " Controller " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-10 21:15:44 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_struct_ui_text ( srna ,  " Or Controller " ,  " Controller passing on events based on a logical OR operation " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-19 04:06:24 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									srna =  RNA_def_struct ( brna ,  " NorController " ,  " Controller " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-10 21:15:44 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_struct_ui_text ( srna ,  " Nor Controller " ,  " Controller passing on events based on a logical NOR operation " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-19 04:06:24 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									srna =  RNA_def_struct ( brna ,  " NandController " ,  " Controller " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-10 21:15:44 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_struct_ui_text ( srna ,  " Nand Controller " ,  " Controller passing on events based on a logical NAND operation " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-19 04:06:24 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									srna =  RNA_def_struct ( brna ,  " XorController " ,  " Controller " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-10 21:15:44 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_struct_ui_text ( srna ,  " Xor Controller " ,  " Controller passing on events based on a logical XOR operation " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-19 04:06:24 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
									srna =  RNA_def_struct ( brna ,  " XnorController " ,  " Controller " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-10 21:15:44 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
									RNA_def_struct_ui_text ( srna ,  " Xnor Controller " ,  " Controller passing on events based on a logical XNOR operation " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# endif