BGE Docs: Adding docs for the KX_GameObject.playAction() play_mode constants.
[blender.git] / doc / python_api / rst / bge.logic.rst
1
2 Game Logic (bge.logic)
3 ======================
4
5 ************
6 Introduction
7 ************
8
9 Module to access logic functions, imported automatically into the python controllers namespace.
10
11 .. module:: bge.logic
12
13 .. code-block:: python
14
15    # To get the controller thats running this python script:
16    cont = bge.logic.getCurrentController() # bge.logic is automatically imported
17    
18    # To get the game object this controller is on:
19    obj = cont.owner
20
21 :class:`~bge.types.KX_GameObject` and :class:`~bge.types.KX_Camera` or :class:`~bge.types.KX_LightObject` methods are available depending on the type of object
22
23 .. code-block:: python
24
25    # To get a sensor linked to this controller.
26    # "sensorname" is the name of the sensor as defined in the Blender interface.
27    # +---------------------+  +--------+
28    # | Sensor "sensorname" +--+ Python +
29    # +---------------------+  +--------+
30    sens = cont.sensors["sensorname"]
31
32    # To get a sequence of all sensors:
33    sensors = co.sensors
34
35 See the sensor's reference for available methods:
36
37 .. hlist::
38    :columns: 3
39
40    * :class:`~bge.types.KX_MouseFocusSensor`
41    * :class:`~bge.types.KX_NearSensor`
42    * :class:`~bge.types.KX_NetworkMessageSensor`
43    * :class:`~bge.types.KX_RadarSensor`
44    * :class:`~bge.types.KX_RaySensor`
45    * :class:`~bge.types.KX_TouchSensor`
46    * :class:`~bge.types.SCA_DelaySensor`
47    * :class:`~bge.types.SCA_JoystickSensor`
48    * :class:`~bge.types.SCA_KeyboardSensor`
49    * :class:`~bge.types.SCA_MouseSensor`
50    * :class:`~bge.types.SCA_PropertySensor`
51    * :class:`~bge.types.SCA_RandomSensor`
52
53 You can also access actuators linked to the controller
54
55 .. code-block:: python
56
57    # To get an actuator attached to the controller:
58    #                          +--------+  +-------------------------+
59    #                          + Python +--+ Actuator "actuatorname" |
60    #                          +--------+  +-------------------------+
61    actuator = co.actuators["actuatorname"]
62    
63    # Activate an actuator
64    controller.activate(actuator)
65
66 See the actuator's reference for available methods
67
68 .. hlist::
69    :columns: 3
70    
71    * :class:`~bge.types.BL_ActionActuator`
72    * :class:`~bge.types.KX_CameraActuator`
73    * :class:`~bge.types.KX_ConstraintActuator`
74    * :class:`~bge.types.KX_GameActuator`
75    * :class:`~bge.types.KX_NetworkMessageActuator`
76    * :class:`~bge.types.KX_ObjectActuator`
77    * :class:`~bge.types.KX_ParentActuator`
78    * :class:`~bge.types.KX_SCA_AddObjectActuator`
79    * :class:`~bge.types.KX_SCA_DynamicActuator`
80    * :class:`~bge.types.KX_SCA_EndObjectActuator`
81    * :class:`~bge.types.KX_SCA_ReplaceMeshActuator`
82    * :class:`~bge.types.KX_SceneActuator`
83    * :class:`~bge.types.KX_SoundActuator`
84    * :class:`~bge.types.KX_StateActuator`
85    * :class:`~bge.types.KX_TrackToActuator`
86    * :class:`~bge.types.KX_VisibilityActuator`
87    * :class:`~bge.types.SCA_2DFilterActuator`
88    * :class:`~bge.types.SCA_PropertyActuator`
89    * :class:`~bge.types.SCA_RandomActuator`
90
91 Most logic brick's methods are accessors for the properties available in the logic buttons.
92 Consult the logic bricks documentation for more information on how each logic brick works.
93
94 There are also methods to access the current :class:`bge.types.KX_Scene`
95
96 .. code-block:: python
97
98    # Get the current scene
99    scene = bge.logic.getCurrentScene()
100
101    # Get the current camera
102    cam = scene.active_camera
103
104 Matricies as used by the game engine are **row major**
105 ``matrix[row][col] = float``
106
107 :class:`bge.types.KX_Camera` has some examples using matrices.
108
109 *********
110 Variables
111 *********
112
113 .. data:: globalDict
114
115    A dictionary that is saved between loading blend files so you can use it to store inventory and other variables you want to store between scenes and blend files.
116    It can also be written to a file and loaded later on with the game load/save actuators.
117
118    .. note:: only python built in types such as int/string/bool/float/tuples/lists can be saved, GameObjects, Actuators etc will not work as expected.
119
120 .. data:: keyboard
121
122    The current keyboard wrapped in an :class:`~bge.types.SCA_PythonKeyboard` object.
123
124 .. data:: mouse
125
126    The current mouse wrapped in an :class:`~bge.types.SCA_PythonMouse` object.
127
128 *****************
129 General functions
130 *****************
131
132 .. function:: getCurrentController()
133
134    Gets the Python controller associated with this Python script.
135    
136    :rtype: :class:`bge.types.SCA_PythonController`
137
138 .. function:: getCurrentScene()
139
140    Gets the current Scene.
141    
142    :rtype: :class:`bge.types.KX_Scene`
143
144 .. function:: getSceneList()
145
146    Gets a list of the current scenes loaded in the game engine.
147    
148    :rtype: list of :class:`bge.types.KX_Scene`
149    
150    .. note:: Scenes in your blend file that have not been converted wont be in this list. This list will only contain scenes such as overlays scenes.
151
152 .. function:: loadGlobalDict()
153
154    Loads bge.logic.globalDict from a file.
155
156 .. function:: saveGlobalDict()
157
158    Saves bge.logic.globalDict to a file.
159
160 .. function:: startGame(blend)
161
162    Loads the blend file.
163    
164    :arg blend: The name of the blend file
165    :type blend: string
166
167 .. function:: endGame()
168
169    Ends the current game.
170
171 .. function:: restartGame()
172
173    Restarts the current game by reloading the .blend file (the last saved version, not what is currently running).
174    
175 .. function:: LibLoad(blend, type, data, load_actions=False, verbose=False, load_scripts=True)
176    
177    Converts the all of the datablocks of the given type from the given blend.
178    
179    :arg blend: The path to the blend file (or the name to use for the library if data is supplied)
180    :type blend: string
181    :arg type: The datablock type (currently only "Action", "Mesh" and "Scene" are supported)
182    :type type: string
183    :arg data: Binary data from a blend file (optional)
184    :type data: bytes
185    :arg load_actions: Search for and load all actions in a given Scene and not just the "active" actions (Scene type only)
186    :type load_actions: bool
187    :arg verbose: Whether or not to print debugging information (e.g., "SceneName: Scene")
188    :type verbose: bool
189    :arg load_scripts: Whether or not to load text datablocks as well (can be disabled for some extra security)
190    :type load_scripts: bool
191    
192 .. function:: LibNew(name, type, data)
193
194    Uses existing datablock data and loads in as a new library.
195    
196    :arg name: A unique library name used for removal later
197    :type name: string
198    :arg type: The datablock type (currently only "Mesh" is supported)
199    :type type: string
200    :arg data: A list of names of the datablocks to load
201    :type data: list of strings
202    
203 .. function:: LibFree(name)
204
205    Frees a library, removing all objects and meshes from the currently active scenes.
206
207    :arg name: The name of the library to free (the name used in LibNew)
208    :type name: string
209    
210 .. function:: LibList()
211
212    Returns a list of currently loaded libraries.
213    
214    :rtype: list [str]
215
216 .. function:: addScene(name, overlay=1)
217
218    Loads a scene into the game engine.
219
220    .. note::
221
222       This function is not effective immediately, the scene is queued
223       and added on the next logic cycle where it will be available
224       from `getSceneList`
225
226    :arg name: The name of the scene
227    :type name: string
228    :arg overlay: Overlay or underlay (optional)
229    :type overlay: integer
230
231 .. function:: sendMessage(subject, body="", to="", message_from="")
232
233    Sends a message to sensors in any active scene.
234    
235    :arg subject: The subject of the message
236    :type subject: string
237    :arg body: The body of the message (optional)
238    :type body: string
239    :arg to: The name of the object to send the message to (optional)
240    :type to: string
241    :arg message_from: The name of the object that the message is coming from (optional)
242    :type message_from: string
243
244 .. function:: setGravity(gravity)
245
246    Sets the world gravity.
247    
248    :type gravity: list [fx, fy, fz]
249
250 .. function:: getSpectrum()
251
252    Returns a 512 point list from the sound card.
253    This only works if the fmod sound driver is being used.
254    
255    :rtype: list [float], len(getSpectrum()) == 512
256
257 .. function:: getMaxLogicFrame()
258
259    Gets the maximum number of logic frames per render frame.
260    
261    :return: The maximum number of logic frames per render frame
262    :rtype: integer
263
264 .. function:: setMaxLogicFrame(maxlogic)
265
266    Sets the maximum number of logic frames that are executed per render frame.
267    This does not affect the physic system that still runs at full frame rate.   
268     
269    :arg maxlogic: The new maximum number of logic frames per render frame. Valid values: 1..5
270    :type maxlogic: integer
271
272 .. function:: getMaxPhysicsFrame()
273
274    Gets the maximum number of physics frames per render frame.
275    
276    :return: The maximum number of physics frames per render frame
277    :rtype: integer
278
279 .. function:: setMaxPhysicsFrame(maxphysics)
280
281    Sets the maximum number of physics timestep that are executed per render frame.
282    Higher value allows physics to keep up with realtime even if graphics slows down the game.
283    Physics timestep is fixed and equal to 1/tickrate (see setLogicTicRate)
284    maxphysics/ticrate is the maximum delay of the renderer that physics can compensate.
285     
286    :arg maxphysics: The new maximum number of physics timestep per render frame. Valid values: 1..5.
287    :type maxphysics: integer
288
289 .. function:: getLogicTicRate()
290
291    Gets the logic update frequency.
292    
293    :return: The logic frequency in Hz
294    :rtype: float
295
296 .. function:: setLogicTicRate(ticrate)
297
298    Sets the logic update frequency.
299    
300    The logic update frequency is the number of times logic bricks are executed every second.
301    The default is 60 Hz.
302    
303    :arg ticrate: The new logic update frequency (in Hz).
304    :type ticrate: float
305
306 .. function:: getPhysicsTicRate()
307
308    Gets the physics update frequency
309    
310    :return: The physics update frequency in Hz
311    :rtype: float
312    
313    .. warning: Not implimented yet
314
315 .. function:: setPhysicsTicRate(ticrate)
316
317    Sets the physics update frequency
318    
319    The physics update frequency is the number of times the physics system is executed every second.
320    The default is 60 Hz.
321    
322    :arg ticrate: The new update frequency (in Hz).
323    :type ticrate: float
324
325    .. warning: Not implimented yet
326
327 .. function:: getExitKey()
328
329    Gets the key used to exit the game engine
330
331    :return: The key (defaults to :mod:`bge.events.ESCKEY`)
332    :rtype: int
333
334 .. function:: setExitKey(key)
335
336    Sets the key used to exit the game engine
337
338    :arg key: A key constant from :mod:`bge.events`
339    :rtype key: int
340
341
342 *****************
343 Utility functions
344 *****************
345
346 .. function:: expandPath(path)
347
348    Converts a blender internal path into a proper file system path.
349
350    Use / as directory separator in path
351    You can use '//' at the start of the string to define a relative path;
352    Blender replaces that string by the directory of the startup .blend or runtime file
353    to make a full path name (doesn't change during the game, even if you load other .blend).
354    The function also converts the directory separator to the local file system format.
355
356    :arg path: The path string to be converted/expanded.
357    :type path: string
358    :return: The converted string
359    :rtype: string
360
361 .. function:: getAverageFrameRate()
362
363    Gets the estimated/average framerate for all the active scenes, not only the current scene.
364
365    :return: The estimated average framerate in frames per second
366    :rtype: float
367
368 .. function:: getBlendFileList(path = "//")
369
370    Returns a list of blend files in the same directory as the open blend file, or from using the option argument.
371
372    :arg path: Optional directory argument, will be expanded (like expandPath) into the full path.
373    :type path: string
374    :return: A list of filenames, with no directory prefix
375    :rtype: list
376
377 .. function:: getRandomFloat()
378
379    Returns a random floating point value in the range [0 - 1)
380
381 .. function:: PrintGLInfo()
382
383    Prints GL Extension Info into the console
384    
385 *********
386 Constants
387 *********
388
389 .. data:: KX_TRUE
390
391    True value used by some modules.
392
393 .. data:: KX_FALSE
394
395    False value used by some modules.
396
397 =======
398 Sensors
399 ======= 
400
401 .. _sensor-status:
402
403 -------------
404 Sensor Status
405 -------------
406
407 .. data:: KX_SENSOR_INACTIVE
408 .. data:: KX_SENSOR_JUST_ACTIVATED
409 .. data:: KX_SENSOR_ACTIVE
410 .. data:: KX_SENSOR_JUST_DEACTIVATED
411
412 -------------
413 Armature Sensor
414 -------------
415
416 .. _armaturesensor-type:
417
418 See :class:`bge.types.KX_ArmatureSensor.type`
419
420 .. data:: KX_ARMSENSOR_STATE_CHANGED
421
422   Detect that the constraint is changing state (active/inactive)
423
424   :value: 0
425   
426 .. data:: KX_ARMSENSOR_LIN_ERROR_BELOW
427
428   Detect that the constraint linear error is above a threshold
429   
430   :value: 1
431   
432 .. data:: KX_ARMSENSOR_LIN_ERROR_ABOVE
433
434   Detect that the constraint linear error is below a threshold
435
436   :value: 2
437   
438 .. data:: KX_ARMSENSOR_ROT_ERROR_BELOW
439
440   Detect that the constraint rotation error is above a threshold
441   
442   :value: 3
443   
444 .. data:: KX_ARMSENSOR_ROT_ERROR_ABOVE
445
446   Detect that the constraint rotation error is below a threshold
447   
448   :value: 4
449   
450
451 .. _logic-property-sensor:
452
453 ---------------
454 Property Sensor
455 ---------------
456
457 .. data:: KX_PROPSENSOR_EQUAL
458
459    Activate when the property is equal to the sensor value.
460
461    :value: 1
462
463 .. data:: KX_PROPSENSOR_NOTEQUAL
464
465    Activate when the property is not equal to the sensor value.
466    
467    :value: 2
468
469 .. data:: KX_PROPSENSOR_INTERVAL
470
471    Activate when the property is between the specified limits.
472    
473    :value: 3
474    
475 .. data:: KX_PROPSENSOR_CHANGED
476
477    Activate when the property changes   
478
479    :value: 4
480
481 .. data:: KX_PROPSENSOR_EXPRESSION
482
483    Activate when the expression matches
484    
485    :value: 5
486
487 ------------
488 Radar Sensor
489 ------------
490
491 See :class:`bge.types.KX_RadarSensor`
492
493 .. data:: KX_RADAR_AXIS_POS_X
494 .. data:: KX_RADAR_AXIS_POS_Y
495 .. data:: KX_RADAR_AXIS_POS_Z
496 .. data:: KX_RADAR_AXIS_NEG_X
497 .. data:: KX_RADAR_AXIS_NEG_Y
498 .. data:: KX_RADAR_AXIS_NEG_Z
499
500 ----------
501 Ray Sensor
502 ----------
503
504 See :class:`bge.types.KX_RaySensor`
505
506 .. data:: KX_RAY_AXIS_POS_X
507 .. data:: KX_RAY_AXIS_POS_Y
508 .. data:: KX_RAY_AXIS_POS_Z
509 .. data:: KX_RAY_AXIS_NEG_X
510 .. data:: KX_RAY_AXIS_NEG_Y
511 .. data:: KX_RAY_AXIS_NEG_Z
512
513
514 =========
515 Actuators
516 =========
517
518 .. _action-actuator:
519
520 ---------------
521 Action Actuator
522 ---------------
523
524 See :class:`bge.types.BL_ActionActuator`
525
526 .. data:: KX_ACTIONACT_PLAY
527 .. data:: KX_ACTIONACT_PINGPONG
528 .. data:: KX_ACTIONACT_FLIPPER
529 .. data:: KX_ACTIONACT_LOOPSTOP
530 .. data:: KX_ACTIONACT_LOOPEND
531 .. data:: KX_ACTIONACT_PROPERTY
532
533 ---------------
534 Armature Actuator
535 ---------------
536
537  .. _armatureactuator-constants-type:
538    
539 See :class:`bge.types.BL_ArmatureActuator.type`
540
541 .. data:: KX_ACT_ARMATURE_RUN
542
543   Just make sure the armature will be updated on the next graphic frame.
544   This is the only persistent mode of the actuator:
545   it executes automatically once per frame until stopped by a controller
546   
547   :value: 0
548
549 .. data:: KX_ACT_ARMATURE_ENABLE
550
551   Enable the constraint.
552                 
553   :value: 1
554
555 .. data:: KX_ACT_ARMATURE_DISABLE
556
557   Disable the constraint (runtime constraint values are not updated).
558                 
559   :value: 2
560
561 .. data:: KX_ACT_ARMATURE_SETTARGET
562
563   Change target and subtarget of constraint.
564   
565   :value: 3
566
567 .. data:: KX_ACT_ARMATURE_SETWEIGHT
568
569   Change weight of constraint (IK only).
570
571   :value: 4
572
573 .. data:: KX_ACT_ARMATURE_SETINFLUENCE
574
575   Change influence of constraint.
576
577   :value: 5
578
579 -------------------
580 Constraint Actuator
581 -------------------
582
583 .. _constraint-actuator-option:
584
585 See :class:`bge.types.KX_ConstraintActuator.option`
586
587 * Applicable to Distance constraint:
588
589 .. data:: KX_CONSTRAINTACT_NORMAL
590
591      Activate alignment to surface
592    
593 .. data:: KX_CONSTRAINTACT_DISTANCE
594
595      Activate distance control
596
597 .. data:: KX_CONSTRAINTACT_LOCAL
598
599      Direction of the ray is along the local axis
600
601 * Applicable to Force field constraint:
602
603 .. data:: KX_CONSTRAINTACT_DOROTFH
604
605      Force field act on rotation as well
606
607 * Applicable to both:
608
609 .. data:: KX_CONSTRAINTACT_MATERIAL
610
611      Detect material rather than property
612    
613 .. data:: KX_CONSTRAINTACT_PERMANENT
614
615      No deactivation if ray does not hit target
616
617 .. _constraint-actuator-limit:
618
619 See :class:`bge.types.KX_ConstraintActuator.limit`
620
621 .. data:: KX_CONSTRAINTACT_LOCX
622
623    Limit X coord.
624    
625 .. data:: KX_CONSTRAINTACT_LOCY
626
627    Limit Y coord
628
629 .. data:: KX_CONSTRAINTACT_LOCZ
630
631    Limit Z coord
632    
633 .. data:: KX_CONSTRAINTACT_ROTX
634
635    Limit X rotation
636
637 .. data:: KX_CONSTRAINTACT_ROTY
638
639    Limit Y rotation
640    
641 .. data:: KX_CONSTRAINTACT_ROTZ
642
643    Limit Z rotation
644    
645 .. data:: KX_CONSTRAINTACT_DIRNX
646
647    Set distance along negative X axis
648
649 .. data:: KX_CONSTRAINTACT_DIRNY
650
651    Set distance along negative Y axis
652    
653 .. data:: KX_CONSTRAINTACT_DIRNZ
654
655    Set distance along negative Z axis
656    
657 .. data:: KX_CONSTRAINTACT_DIRPX
658
659    Set distance along positive X axis
660
661 .. data:: KX_CONSTRAINTACT_DIRPY
662
663    Set distance along positive Y axis
664    
665 .. data:: KX_CONSTRAINTACT_DIRPZ
666
667    Set distance along positive Z axis
668    
669 .. data:: KX_CONSTRAINTACT_ORIX
670
671    Set orientation of X axis
672    
673 .. data:: KX_CONSTRAINTACT_ORIY
674
675    Set orientation of Y axis
676    
677 .. data:: KX_CONSTRAINTACT_ORIZ
678
679    Set orientation of Z axis
680    
681 .. data:: KX_CONSTRAINTACT_FHNX
682
683    Set force field along negative X axis
684    
685 .. data:: KX_CONSTRAINTACT_FHNY
686
687    Set force field along negative Y axis
688    
689 .. data:: KX_CONSTRAINTACT_FHNZ
690
691    Set force field along negative Z axis
692    
693 .. data:: KX_CONSTRAINTACT_FHPX
694
695    Set force field along positive X axis
696
697 .. data:: KX_CONSTRAINTACT_FHPY
698
699    Set force field along positive Y axis
700    
701 .. data:: KX_CONSTRAINTACT_FHPZ
702
703    Set force field along positive Z axis
704
705 ----------------
706 Dynamic Actuator
707 ----------------
708
709 See :class:`bge.types.KX_SCA_DynamicActuator`
710
711 .. data:: KX_DYN_RESTORE_DYNAMICS
712 .. data:: KX_DYN_DISABLE_DYNAMICS
713 .. data:: KX_DYN_ENABLE_RIGID_BODY
714 .. data:: KX_DYN_DISABLE_RIGID_BODY
715 .. data:: KX_DYN_SET_MASS
716
717 .. _game-actuator:
718
719 -------------
720 Game Actuator
721 -------------
722
723 See :class:`bge.types.KX_GameActuator`
724
725 .. data:: KX_GAME_LOAD
726 .. data:: KX_GAME_START
727 .. data:: KX_GAME_RESTART
728 .. data:: KX_GAME_QUIT
729 .. data:: KX_GAME_SAVECFG
730 .. data:: KX_GAME_LOADCFG
731
732 ---------------
733 Parent Actuator
734 ---------------
735
736 .. data:: KX_PARENT_REMOVE
737 .. data:: KX_PARENT_SET
738
739 .. _logic-random-distributions:
740
741 --------------------
742 Random Distributions
743 --------------------
744
745 See :class:`bge.types.SCA_RandomActuator`
746
747 .. data:: KX_RANDOMACT_BOOL_CONST
748 .. data:: KX_RANDOMACT_BOOL_UNIFORM
749 .. data:: KX_RANDOMACT_BOOL_BERNOUILLI
750 .. data:: KX_RANDOMACT_INT_CONST
751 .. data:: KX_RANDOMACT_INT_UNIFORM
752 .. data:: KX_RANDOMACT_INT_POISSON
753 .. data:: KX_RANDOMACT_FLOAT_CONST
754 .. data:: KX_RANDOMACT_FLOAT_UNIFORM
755 .. data:: KX_RANDOMACT_FLOAT_NORMAL
756 .. data:: KX_RANDOMACT_FLOAT_NEGATIVE_EXPONENTIAL
757
758 --------------
759 Scene Actuator
760 --------------
761
762 See :class:`bge.types.KX_SceneActuator`
763
764 .. data:: KX_SCENE_RESTART
765 .. data:: KX_SCENE_SET_SCENE
766 .. data:: KX_SCENE_SET_CAMERA
767 .. data:: KX_SCENE_ADD_FRONT_SCENE
768 .. data:: KX_SCENE_ADD_BACK_SCENE
769 .. data:: KX_SCENE_REMOVE_SCENE
770 .. data:: KX_SCENE_SUSPEND
771 .. data:: KX_SCENE_RESUME
772
773 .. _logic-sound-actuator:
774
775 --------------
776 Sound Actuator
777 --------------
778       
779 See :class:`bge.types.KX_SoundActuator`
780
781 .. data:: KX_SOUNDACT_PLAYSTOP
782
783    :value: 1
784    
785 .. data:: KX_SOUNDACT_PLAYEND
786
787    :value: 2
788    
789 .. data:: KX_SOUNDACT_LOOPSTOP
790
791    :value: 3
792    
793 .. data:: KX_SOUNDACT_LOOPEND
794
795    :value: 4
796    
797 .. data:: KX_SOUNDACT_LOOPBIDIRECTIONAL
798
799    :value: 5
800    
801 .. data:: KX_SOUNDACT_LOOPBIDIRECTIONAL_STOP
802
803    :value: 6
804
805 --------------
806 Steering Actuator
807 --------------
808
809 .. _logic-steering-actuator:
810
811 See :class:`bge.types.KX_SteeringActuator.behavior`
812
813 .. data:: KX_STEERING_SEEK
814
815    :value: 1
816
817 .. data:: KX_STEERING_FLEE
818
819    :value: 2
820
821 .. data:: KX_STEERING_PATHFOLLOWING
822
823    :value: 3
824
825
826 =======
827 Various
828 =======
829
830 ---------
831 2D Filter
832 ---------
833
834 .. data:: RAS_2DFILTER_BLUR
835
836    :value: 2
837    
838 .. data:: RAS_2DFILTER_CUSTOMFILTER
839
840    Customer filter, the code code is set via shaderText property.
841    
842    :value: 12
843    
844 .. data:: RAS_2DFILTER_DILATION
845
846    :value: 4
847    
848 .. data:: RAS_2DFILTER_DISABLED
849
850    Disable the filter that is currently active
851
852    :value: -1
853    
854 .. data:: RAS_2DFILTER_ENABLED
855
856    Enable the filter that was previously disabled
857
858    :value: -2
859    
860 .. data:: RAS_2DFILTER_EROSION
861
862    :value: 5
863    
864 .. data:: RAS_2DFILTER_GRAYSCALE
865
866    :value: 9
867    
868 .. data:: RAS_2DFILTER_INVERT
869
870    :value: 11
871    
872 .. data:: RAS_2DFILTER_LAPLACIAN
873
874    :value: 6
875    
876 .. data:: RAS_2DFILTER_MOTIONBLUR
877
878    Create and enable preset filters
879
880    :value: 1
881    
882 .. data:: RAS_2DFILTER_NOFILTER
883
884    Disable and destroy the filter that is currently active
885
886    :value: 0
887    
888 .. data:: RAS_2DFILTER_PREWITT
889
890    :value: 8
891    
892 .. data:: RAS_2DFILTER_SEPIA
893
894    :value: 10
895    
896 .. data:: RAS_2DFILTER_SHARPEN
897
898    :value: 3
899    
900 .. data:: RAS_2DFILTER_SOBEL
901
902    :value: 7
903
904 ----------------
905 Armature Channel
906 ----------------
907 .. _armaturechannel-constants-rotation-mode:
908
909 See :class:`bge.types.BL_ArmatureChannel.rotation_mode`
910
911 .. note:
912   euler mode are named as in Blender UI but the actual axis order is reversed
913
914 .. data:: ROT_MODE_QUAT
915
916   Use quaternion in rotation attribute to update bone rotation.
917
918   :value: 0
919
920 .. data:: ROT_MODE_XYZ
921
922   Use euler_rotation and apply angles on bone's Z, Y, X axis successively.
923
924   :value: 1
925
926 .. data:: ROT_MODE_XZY
927
928   Use euler_rotation and apply angles on bone's Y, Z, X axis successively.
929
930   :value: 2
931
932 .. data:: ROT_MODE_YXZ
933
934   Use euler_rotation and apply angles on bone's Z, X, Y axis successively.
935
936   :value: 3
937
938 .. data:: ROT_MODE_YZX
939
940   Use euler_rotation and apply angles on bone's X, Z, Y axis successively.
941
942   :value: 4
943
944 .. data:: ROT_MODE_ZXY
945
946   Use euler_rotation and apply angles on bone's Y, X, Z axis successively.
947
948   :value: 5
949
950 .. data:: ROT_MODE_ZYX
951
952   Use euler_rotation and apply angles on bone's X, Y, Z axis successively.
953
954   :value: 6
955
956
957 ----------------
958 Armature Constraint
959 ----------------
960 .. _armatureconstraint-constants-type:
961
962 See :class:`bge.types.BL_ArmatureConstraint.type`
963
964 .. data:: CONSTRAINT_TYPE_TRACKTO
965 .. data:: CONSTRAINT_TYPE_KINEMATIC
966 .. data:: CONSTRAINT_TYPE_ROTLIKE
967 .. data:: CONSTRAINT_TYPE_LOCLIKE
968 .. data:: CONSTRAINT_TYPE_MINMAX
969 .. data:: CONSTRAINT_TYPE_SIZELIKE
970 .. data:: CONSTRAINT_TYPE_LOCKTRACK
971 .. data:: CONSTRAINT_TYPE_STRETCHTO
972 .. data:: CONSTRAINT_TYPE_CLAMPTO
973 .. data:: CONSTRAINT_TYPE_TRANSFORM
974 .. data:: CONSTRAINT_TYPE_DISTLIMIT
975
976 .. _armatureconstraint-constants-ik-type:
977
978 See :class:`bge.types.BL_ArmatureConstraint.ik_type`
979   
980 .. data:: CONSTRAINT_IK_COPYPOSE
981
982    constraint is trying to match the position and eventually the rotation of the target.
983
984    :value: 0
985
986 .. data:: CONSTRAINT_IK_DISTANCE
987
988    Constraint is maintaining a certain distance to target subject to ik_mode
989
990    :value: 1
991
992 .. _armatureconstraint-constants-ik-flag:
993
994 See :class:`bge.types.BL_ArmatureConstraint.ik_flag`
995
996 .. data:: CONSTRAINT_IK_FLAG_TIP
997
998    Set when the constraint operates on the head of the bone and not the tail
999
1000    :value: 1
1001
1002 .. data:: CONSTRAINT_IK_FLAG_ROT
1003
1004    Set when the constraint tries to match the orientation of the target
1005
1006    :value: 2
1007
1008 .. data:: CONSTRAINT_IK_FLAG_STRETCH
1009
1010    Set when the armature is allowed to stretch (only the bones with stretch factor > 0.0)
1011
1012    :value: 16
1013    
1014 .. data:: CONSTRAINT_IK_FLAG_POS
1015
1016    Set when the constraint tries to match the position of the target.
1017
1018    :value: 32
1019
1020 .. _armatureconstraint-constants-ik-mode:
1021
1022 See :class:`bge.types.BL_ArmatureConstraint.ik_mode`
1023
1024 .. data:: CONSTRAINT_IK_MODE_INSIDE
1025
1026    The constraint tries to keep the bone within ik_dist of target
1027
1028    :value: 0
1029
1030 .. data:: CONSTRAINT_IK_MODE_OUTSIDE
1031
1032    The constraint tries to keep the bone outside ik_dist of the target
1033
1034    :value: 1
1035    
1036 .. data:: CONSTRAINT_IK_MODE_ONSURFACE
1037
1038    The constraint tries to keep the bone exactly at ik_dist of the target.
1039
1040    :value: 2
1041
1042 .. _input-status:
1043
1044 ----------------
1045 Blender Material
1046 ----------------
1047
1048 .. data:: BL_DST_ALPHA
1049 .. data:: BL_DST_COLOR
1050 .. data:: BL_ONE
1051 .. data:: BL_ONE_MINUS_DST_ALPHA
1052 .. data:: BL_ONE_MINUS_DST_COLOR
1053 .. data:: BL_ONE_MINUS_SRC_ALPHA
1054 .. data:: BL_ONE_MINUS_SRC_COLOR
1055 .. data:: BL_SRC_ALPHA
1056 .. data:: BL_SRC_ALPHA_SATURATE
1057 .. data:: BL_SRC_COLOR
1058 .. data:: BL_ZERO
1059
1060 ------------
1061 Input Status
1062 ------------
1063
1064 See :class:`bge.types.SCA_PythonKeyboard`, :class:`bge.types.SCA_PythonMouse`, :class:`bge.types.SCA_MouseSensor`, :class:`bge.types.SCA_KeyboardSensor`
1065
1066 .. data:: KX_INPUT_NONE
1067 .. data:: KX_INPUT_JUST_ACTIVATED
1068 .. data:: KX_INPUT_ACTIVE
1069 .. data:: KX_INPUT_JUST_RELEASED
1070
1071 ------------
1072 KX_GameObject
1073 -----------
1074 .. _gameobject-playaction-mode:
1075
1076 See :class:`bge.types.KX_GameObject.playAction`
1077
1078 .. data:: KX_ACTION_MODE_PLAY
1079
1080    Play the action once.
1081    
1082    :value: 0
1083
1084 .. data:: KX_ACTION_MODE_LOOP
1085
1086    Loop the action (repeat it).
1087    
1088    :value: 1
1089
1090 .. data:: KX_ACTION_MODE_PING_PONG
1091
1092    Play the action one direct then back the other way when it has completed.
1093    
1094    :value: 2
1095
1096
1097 -------------
1098 Mouse Buttons
1099 -------------
1100
1101 See :class:`bge.types.SCA_MouseSensor`
1102
1103 .. data:: KX_MOUSE_BUT_LEFT
1104 .. data:: KX_MOUSE_BUT_MIDDLE
1105 .. data:: KX_MOUSE_BUT_RIGHT
1106
1107 ------------
1108 Navigation Mesh Draw Modes
1109 ------------
1110
1111 .. _navmesh-draw-mode:
1112
1113 .. data:: RM_WALLS
1114
1115    Draw only the walls.
1116
1117 .. data:: RM_POLYS
1118
1119    Draw only polygons.
1120  
1121 .. data:: RM_TRIS
1122
1123    Draw triangle mesh.
1124    
1125 ------
1126 Shader
1127 ------
1128
1129 .. data:: VIEWMATRIX
1130 .. data:: VIEWMATRIX_INVERSE
1131 .. data:: VIEWMATRIX_INVERSETRANSPOSE
1132 .. data:: VIEWMATRIX_TRANSPOSE
1133 .. data:: MODELMATRIX
1134 .. data:: MODELMATRIX_INVERSE
1135 .. data:: MODELMATRIX_INVERSETRANSPOSE
1136 .. data:: MODELMATRIX_TRANSPOSE
1137 .. data:: MODELVIEWMATRIX
1138 .. data:: MODELVIEWMATRIX_INVERSE
1139 .. data:: MODELVIEWMATRIX_INVERSETRANSPOSE
1140 .. data:: MODELVIEWMATRIX_TRANSPOSE
1141 .. data:: CAM_POS
1142
1143    Current camera position
1144
1145 .. data:: CONSTANT_TIMER
1146
1147    User a timer for the uniform value.
1148
1149 .. data:: SHD_TANGENT
1150
1151 ------
1152 States
1153 ------
1154
1155 See :class:`bge.types.KX_StateActuator`
1156
1157 .. data:: KX_STATE1
1158 .. data:: KX_STATE2
1159 .. data:: KX_STATE3
1160 .. data:: KX_STATE4
1161 .. data:: KX_STATE5
1162 .. data:: KX_STATE6
1163 .. data:: KX_STATE7
1164 .. data:: KX_STATE8
1165 .. data:: KX_STATE9
1166 .. data:: KX_STATE10
1167 .. data:: KX_STATE11
1168 .. data:: KX_STATE12
1169 .. data:: KX_STATE13
1170 .. data:: KX_STATE14
1171 .. data:: KX_STATE15
1172 .. data:: KX_STATE16
1173 .. data:: KX_STATE17
1174 .. data:: KX_STATE18
1175 .. data:: KX_STATE19
1176 .. data:: KX_STATE20
1177 .. data:: KX_STATE21
1178 .. data:: KX_STATE22
1179 .. data:: KX_STATE23
1180 .. data:: KX_STATE24
1181 .. data:: KX_STATE25
1182 .. data:: KX_STATE26
1183 .. data:: KX_STATE27
1184 .. data:: KX_STATE28
1185 .. data:: KX_STATE29
1186 .. data:: KX_STATE30
1187
1188 .. _state-actuator-operation:
1189
1190 See :class:`bge.types.KX_StateActuator.operation`
1191
1192 .. data:: KX_STATE_OP_CLR
1193
1194    Substract bits to state mask
1195    
1196    :value: 0
1197
1198 .. data:: KX_STATE_OP_CPY
1199
1200    Copy state mask
1201    
1202    :value: 1
1203    
1204 .. data:: KX_STATE_OP_NEG
1205
1206    Invert bits to state mask
1207    
1208    :value: 2
1209    
1210 .. data:: KX_STATE_OP_SET
1211
1212    Add bits to state mask
1213    
1214    :value: 3
1215    
1216 .. _Two-D-FilterActuator-mode: