2011-02-23 10:52:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/*
  
						 
					
						
							
								
									
										
										
										
											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  * * * * * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-02-27 20:20:01 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/** \file blender/makesrna/intern/rna_controller.c
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *   \ ingroup  RNA 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# include  <stdlib.h> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-05-08 19:52:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  "WM_types.h" 
  
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# include  "RNA_define.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "rna_internal.h" 
  
						 
					
						
							
								
									
										
										
										
											2010-06-16 08:29:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  "DNA_object_types.h" 
  
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# include  "DNA_controller_types.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								EnumPropertyItem  controller_type_items [ ]  = {  
						 
					
						
							
								
									
										
										
										
											2010-07-14 23:51:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									{ 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 " } , 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									{ CONT_EXPRESSION ,  " EXPRESSION " ,  0 ,  " Expression " ,  " " } , 
							 
						 
					
						
							
								
									
										
										
										
											2011-03-02 01:42:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									{ CONT_PYTHON ,  " PYTHON " ,  0 ,  " Python " ,  " " } , 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									{ 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 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2011-04-21 15:53:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									case  CONT_LOGIC_AND : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  & RNA_AndController ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  CONT_LOGIC_OR : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  & RNA_OrController ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  CONT_LOGIC_NAND : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  & RNA_NandController ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  CONT_LOGIC_NOR : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  & RNA_NorController ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  CONT_LOGIC_XOR : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  & RNA_XorController ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  CONT_LOGIC_XNOR : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  & RNA_XnorController ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  CONT_EXPRESSION : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  & RNA_ExpressionController ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									case  CONT_PYTHON : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										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-06 19:12:08 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  void  rna_Controller_type_set ( struct  PointerRNA  * ptr ,  int  value )  
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bController  * cont =  ( bController  * ) ptr - > data ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-06 19:12:08 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if  ( value  ! =  cont - > type ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										cont - > type  =  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										init_controller ( cont ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 08:34:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  void  rna_Controller_mode_set ( struct  PointerRNA  * ptr ,  int  value )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bController  * cont =  ( bController  * ) ptr - > data ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bPythonCont  * pycon =  ( bPythonCont  * ) cont - > data ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// if mode changed and previous mode were Script
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( value  ! =  pycon - > mode  & &  pycon - > mode  = =  CONT_PY_SCRIPT ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// clear script to avoid it to get linked with the controller
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										pycon - > text  =  NULL ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									pycon - > mode  =  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-06-16 08:29:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  int  rna_Controller_state_number_get ( struct  PointerRNA  * ptr )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bController  * cont =  ( bController  * ) ptr - > data ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  bit ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for  ( bit = 0 ;  bit < 32 ;  bit + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( cont - > state_mask  &  ( 1 < < bit ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  bit + 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-06-17 04:31:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  void  rna_Controller_state_number_set ( struct  PointerRNA  * ptr ,  const  int  value )  
						 
					
						
							
								
									
										
										
										
											2010-06-16 08:29:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bController  * cont =  ( bController  * ) ptr - > data ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if  ( value  <  1  | |  value  >  OB_MAX_STATES ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									cont - > state_mask  =  ( 1  < <  ( value  -  1 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-07-17 00:38:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								#if 0  /* editable is set to false, comment for now. */
  
						 
					
						
							
								
									
										
										
										
											2010-06-16 08:29:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  void  rna_Controller_state_get ( PointerRNA  * ptr ,  int  * values )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bController  * cont =  ( bController  * ) ptr - > data ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  i ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									memset ( values ,  0 ,  sizeof ( int ) * OB_MAX_STATES ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for ( i = 0 ;  i < OB_MAX_STATES ;  i + + ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										values [ i ]  =  ( cont - > state_mask  &  ( 1 < < i ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  void  rna_Controller_state_set ( PointerRNA  * ptr ,  const  int  * values )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									bController  * cont =  ( bController  * ) ptr - > data ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int  i ,  tot =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* ensure we always have some state selected */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for ( i = 0 ;  i < OB_MAX_STATES ;  i + + ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( values [ i ] ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											tot + + ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( tot = = 0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* only works for one state at once */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( tot > 1 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									for ( i = 0 ;  i < OB_MAX_STATES ;  i + + )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( values [ i ] )  cont - > state_mask  | =  ( 1 < < i ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										else  cont - > state_mask  & =  ~ ( 1 < < i ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2010-06-27 21:03:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
									
										
										
										
											2010-06-16 08:29:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-07-10 21:15:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_api_controller ( srna ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											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 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-08 19:52:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_update ( prop ,  NC_LOGIC ,  NULL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											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 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-06 19:12:08 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_enum_funcs ( prop ,  NULL ,  " rna_Controller_type_set " ,  NULL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_enum_items ( prop ,  controller_type_items ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RNA_def_property_ui_text ( prop ,  " Type " ,  " " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-08 19:52:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_update ( prop ,  NC_LOGIC ,  NULL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-30 14:40:00 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-08-17 16:27:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									prop =  RNA_def_property ( srna ,  " show_expanded " ,  PROP_BOOLEAN ,  PROP_NONE ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									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 ) ; 	
							 
						 
					
						
							
								
									
										
										
										
											2010-05-08 19:52:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_update ( prop ,  NC_LOGIC ,  NULL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-08-17 16:27:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									prop =  RNA_def_property ( srna ,  " use_priority " ,  PROP_BOOLEAN ,  PROP_NONE ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									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 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-08 19:52:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_update ( prop ,  NC_LOGIC ,  NULL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-06-16 08:29:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* State */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// array of OB_MAX_STATES
 
							 
						 
					
						
							
								
									
										
										
										
											2010-08-17 16:27:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//prop= RNA_def_property(srna, "states", PROP_BOOLEAN, PROP_LAYER_MEMBER);
 
							 
						 
					
						
							
								
									
										
										
										
											2010-07-13 11:06:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									//RNA_def_property_array(prop, OB_MAX_STATES);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//RNA_def_property_clear_flag(prop, PROP_EDITABLE);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//RNA_def_property_ui_text(prop, "", "Set Controller state index (1 to 30)");
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//RNA_def_property_boolean_funcs(prop, "rna_Controller_state_get", "rna_Controller_state_set");
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									//RNA_def_property_update(prop, NC_LOGIC, NULL);
 
							 
						 
					
						
							
								
									
										
										
										
											2010-06-16 08:29:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									// number of the state
 
							 
						 
					
						
							
								
									
										
										
										
											2010-08-17 16:27:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									prop =  RNA_def_property ( srna ,  " states " ,  PROP_INT ,  PROP_UNSIGNED ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-06-16 08:29:40 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_int_sdna ( prop ,  NULL ,  " state_mask " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RNA_def_property_range ( prop ,  1 ,  OB_MAX_STATES ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RNA_def_property_ui_text ( prop ,  " " ,  " Set Controller state index (1 to 30) " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RNA_def_property_int_funcs ( prop ,  " rna_Controller_state_number_get " ,  " rna_Controller_state_number_set " ,  NULL ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RNA_def_property_update ( prop ,  NC_LOGIC ,  NULL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											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 " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-02 23:45:11 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_ui_text ( prop ,  " Expression " ,  " " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-08 19:52:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_update ( prop ,  NC_LOGIC ,  NULL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											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 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-06-12 08:34:53 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_enum_funcs ( prop ,  NULL ,  " rna_Controller_mode_set " ,  NULL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_ui_text ( prop ,  " Execution Method " ,  " Python script type (textblock or module - faster) " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-08 19:52:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_update ( prop ,  NC_LOGIC ,  NULL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-04 00:06:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											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 " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-08 19:52:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_update ( prop ,  NC_LOGIC ,  NULL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											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 " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-05-08 19:52:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_update ( prop ,  NC_LOGIC ,  NULL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-05 23:50:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-08-17 16:27:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									prop =  RNA_def_property ( srna ,  " use_debug " ,  PROP_BOOLEAN ,  PROP_NONE ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2010-02-05 23:50:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									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-05-08 19:52:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RNA_def_property_update ( prop ,  NC_LOGIC ,  NULL ) ; 
							 
						 
					
						
							
								
									
										
										
										
											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