-
Notifications
You must be signed in to change notification settings - Fork 4
/
bge.constraints.html
788 lines (720 loc) · 50.8 KB
/
bge.constraints.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Physics Constraints (bge.constraints) — Blender Python API</title>
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/css/theme_overrides.css" type="text/css" />
<link rel="stylesheet" href="_static/css/version_switch.css" type="text/css" />
<link rel="shortcut icon" href="_static/favicon.ico"/>
<link rel="canonical" href="https://upbge.org/docs/latest/api/bge.constraints.html" />
<!--[if lt IE 9]>
<script src="_static/js/html5shiv.min.js"></script>
<![endif]-->
<script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="_static/documentation_options.js?v=715c20a1"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/js/version_switch.js?v=fa006b38"></script>
<script src="_static/js/theme.js"></script>
<link rel="search" type="application/opensearchdescription+xml"
title="Search within Blender Python API"
href="_static/opensearch.xml"/>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Application Data (bge.app)" href="bge.app.html" />
<link rel="prev" title="Game Keys (bge.events)" href="bge.events.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="index.html" class="icon icon-home">
UPBGE 0.3+ + Blender 4.0.0 Alpha Python API
<img src="_static/upbge_logo.png" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Application Modules</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="bpy.context.html">Context Access (bpy.context)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bpy.data.html">Data Access (bpy.data)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bpy.msgbus.html">Message Bus (bpy.msgbus)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bpy.ops.html">Operators (bpy.ops)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bpy.types.html">Types (bpy.types)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bpy.utils.html">Utilities (bpy.utils)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bpy.path.html">Path Utilities (bpy.path)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bpy.app.html">Application Data (bpy.app)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bpy.props.html">Property Definitions (bpy.props)</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Game Engine Modules</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="bge.types.html">Game Types (bge.types)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bge.logic.html">Game Logic (bge.logic)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bge.render.html">Rasterizer (bge.render)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bge.texture.html">Video Texture (bge.texture)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bge.texture.html#ffmpeg-video-and-image-status">FFmpeg Video and Image Status</a></li>
<li class="toctree-l1"><a class="reference internal" href="bge.texture.html#image-blending-modes">Image Blending Modes</a></li>
<li class="toctree-l1"><a class="reference internal" href="bge.events.html">Game Keys (bge.events)</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Physics Constraints (bge.constraints)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bge.app.html">Application Data (bge.app)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bgui.html">Game GUI (bgui)</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Standalone Modules</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="aud.html">Audio System (aud)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bgl.html">OpenGL Wrapper (bgl)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bl_math.html">Additional Math Functions (bl_math)</a></li>
<li class="toctree-l1"><a class="reference internal" href="blf.html">Font Drawing (blf)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bmesh.html">BMesh Module (bmesh)</a></li>
<li class="toctree-l1"><a class="reference internal" href="bpy_extras.html">Extra Utilities (bpy_extras)</a></li>
<li class="toctree-l1"><a class="reference internal" href="freestyle.html">Freestyle Module (freestyle)</a></li>
<li class="toctree-l1"><a class="reference internal" href="gpu.html">GPU Module (gpu)</a></li>
<li class="toctree-l1"><a class="reference internal" href="gpu_extras.html">GPU Utilities (gpu_extras)</a></li>
<li class="toctree-l1"><a class="reference internal" href="idprop.types.html">ID Property Access (idprop.types)</a></li>
<li class="toctree-l1"><a class="reference internal" href="imbuf.html">Image Buffer (imbuf)</a></li>
<li class="toctree-l1"><a class="reference internal" href="mathutils.html">Math Types & Utilities (mathutils)</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">UPBGE 0.3+ + Blender 4.0.0 Alpha Python API</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">Physics Constraints (bge.constraints)</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="physics-constraints-bge-constraints">
<h1>Physics Constraints (bge.constraints)<a class="headerlink" href="#physics-constraints-bge-constraints" title="Link to this heading"></a></h1>
<p>Bullet Physics provides collision detection
and rigid body dynamics for the Blender Game Engine.</p>
<p>Features:</p>
<ul class="simple">
<li><p>Vehicle simulation.</p></li>
<li><p>Rigid body constraints: hinge and point to point (ball socket).</p></li>
<li><p>Access to internal physics settings,
like deactivation time, and debugging features</p></li>
</ul>
<div class="admonition note" id="module-bge.constraints">
<p class="admonition-title">Note</p>
<p>Note about parameter settings</p>
<p>Since this API is not well documented, it can be unclear what kind of values to use for setting parameters.
In general, damping settings should be in the range of 0 to 1 and
stiffness settings should not be much higher than about 10.</p>
</div>
<section id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Link to this heading"></a></h2>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p>For more examples of Bullet physics and how to use them
see the <a class="reference external" href="https://pybullet.org/Bullet/phpBB3/viewforum.php?f=17">pybullet forum</a>.</p>
</div>
</section>
<section id="basic-physics-constraint">
<h2>Basic Physics Constraint<a class="headerlink" href="#basic-physics-constraint" title="Link to this heading"></a></h2>
<p>Example of how to create a hinge Physics Constraint between two objects.</p>
<div class="highlight-python3 notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">bge</span> <span class="kn">import</span> <span class="n">logic</span>
<span class="kn">from</span> <span class="nn">bge</span> <span class="kn">import</span> <span class="n">constraints</span>
<span class="c1"># get object list</span>
<span class="n">objects</span> <span class="o">=</span> <span class="n">logic</span><span class="o">.</span><span class="n">getCurrentScene</span><span class="p">()</span><span class="o">.</span><span class="n">objects</span>
<span class="c1"># get object named Object1 and Object 2</span>
<span class="n">object_1</span> <span class="o">=</span> <span class="n">objects</span><span class="p">[</span><span class="s2">"Object1"</span><span class="p">]</span>
<span class="n">object_2</span> <span class="o">=</span> <span class="n">objects</span><span class="p">[</span><span class="s2">"Object2"</span><span class="p">]</span>
<span class="c1"># want to use Edge constraint type</span>
<span class="n">constraint_type</span> <span class="o">=</span> <span class="mi">2</span>
<span class="c1"># get Object1 and Object2 physics IDs</span>
<span class="n">physics_id_1</span> <span class="o">=</span> <span class="n">object_1</span><span class="o">.</span><span class="n">getPhysicsId</span><span class="p">()</span>
<span class="n">physics_id_2</span> <span class="o">=</span> <span class="n">object_2</span><span class="o">.</span><span class="n">getPhysicsId</span><span class="p">()</span>
<span class="c1"># use bottom right edge of Object1 for hinge position</span>
<span class="n">edge_position_x</span> <span class="o">=</span> <span class="mf">1.0</span>
<span class="n">edge_position_y</span> <span class="o">=</span> <span class="mf">0.0</span>
<span class="n">edge_position_z</span> <span class="o">=</span> <span class="o">-</span><span class="mf">1.0</span>
<span class="c1"># rotate the pivot z axis about 90 degrees</span>
<span class="n">edge_angle_x</span> <span class="o">=</span> <span class="mf">0.0</span>
<span class="n">edge_angle_y</span> <span class="o">=</span> <span class="mf">0.0</span>
<span class="n">edge_angle_z</span> <span class="o">=</span> <span class="mf">90.0</span>
<span class="c1"># create an edge constraint</span>
<span class="n">constraints</span><span class="o">.</span><span class="n">createConstraint</span><span class="p">(</span><span class="n">physics_id_1</span><span class="p">,</span> <span class="n">physics_id_2</span><span class="p">,</span>
<span class="n">constraint_type</span><span class="p">,</span>
<span class="n">edge_position_x</span><span class="p">,</span> <span class="n">edge_position_y</span><span class="p">,</span> <span class="n">edge_position_z</span><span class="p">,</span>
<span class="n">edge_angle_x</span><span class="p">,</span> <span class="n">edge_angle_y</span><span class="p">,</span> <span class="n">edge_angle_z</span><span class="p">)</span>
</pre></div>
</div>
</section>
<section id="functions">
<h2>Functions<a class="headerlink" href="#functions" title="Link to this heading"></a></h2>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.createConstraint">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">createConstraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">physicsid_1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">physicsid_2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">constraint_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pivot_x</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pivot_y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pivot_z</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">axis_x</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">axis_y</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">axis_z</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">flag</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.createConstraint" title="Link to this definition"></a></dt>
<dd><p>Creates a constraint.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>physicsid_1</strong> (<em>int</em>) – The physics id of the first object in constraint.</p></li>
<li><p><strong>physicsid_2</strong> (<em>int</em>) – The physics id of the second object in constraint.</p></li>
<li><p><strong>constraint_type</strong> (<em>int</em>) – The type of the constraint, see <a class="reference internal" href="#create-constraint-constants">Create Constraint Constants</a>.</p></li>
<li><p><strong>pivot_x</strong> (<em>float</em>) – Pivot X position. (optional)</p></li>
<li><p><strong>pivot_y</strong> (<em>float</em>) – Pivot Y position. (optional)</p></li>
<li><p><strong>pivot_z</strong> (<em>float</em>) – Pivot Z position. (optional)</p></li>
<li><p><strong>axis_x</strong> (<em>float</em>) – X axis angle in degrees. (optional)</p></li>
<li><p><strong>axis_y</strong> (<em>float</em>) – Y axis angle in degrees. (optional)</p></li>
<li><p><strong>axis_z</strong> (<em>float</em>) – Z axis angle in degrees. (optional)</p></li>
<li><p><strong>flag</strong> (<em>int</em>) – 128 to disable collision between linked bodies. (optional)</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>A constraint wrapper.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="bge.types.KX_ConstraintWrapper.html#bge.types.KX_ConstraintWrapper" title="bge.types.KX_ConstraintWrapper"><code class="xref py py-class docutils literal notranslate"><span class="pre">KX_ConstraintWrapper</span></code></a></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.createVehicle">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">createVehicle</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">physicsid</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.createVehicle" title="Link to this definition"></a></dt>
<dd><p>Creates a vehicle constraint.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>physicsid</strong> (<em>int</em>) – The physics id of the chassis object in constraint.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>A vehicle constraint wrapper.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="bge.types.KX_VehicleWrapper.html#bge.types.KX_VehicleWrapper" title="bge.types.KX_VehicleWrapper"><code class="xref py py-class docutils literal notranslate"><span class="pre">KX_VehicleWrapper</span></code></a></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.exportBulletFile">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">exportBulletFile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">filename</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.exportBulletFile" title="Link to this definition"></a></dt>
<dd><p>Exports a file representing the dynamics world (usually using <code class="docutils literal notranslate"><span class="pre">.bullet</span></code> extension).</p>
<p>See <a class="reference external" href="http://bulletphysics.org/mediawiki-1.5.8/index.php/Bullet_binary_serialization">Bullet binary serialization</a>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>filename</strong> (<em>str</em>) – File path.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.getAppliedImpulse">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">getAppliedImpulse</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">constraintId</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.getAppliedImpulse" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>constraintId</strong> (<em>int</em>) – The id of the constraint.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>The most recent applied impulse.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p>float</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.getVehicleConstraint">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">getVehicleConstraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">constraintId</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.getVehicleConstraint" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>constraintId</strong> (<em>int</em>) – The id of the vehicle constraint.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>A vehicle constraint object.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="bge.types.KX_VehicleWrapper.html#bge.types.KX_VehicleWrapper" title="bge.types.KX_VehicleWrapper"><code class="xref py py-class docutils literal notranslate"><span class="pre">KX_VehicleWrapper</span></code></a></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.getCharacter">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">getCharacter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">gameobj</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.getCharacter" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>gameobj</strong> (<a class="reference internal" href="bge.types.KX_GameObject.html#bge.types.KX_GameObject" title="bge.types.KX_GameObject"><code class="xref py py-class docutils literal notranslate"><span class="pre">KX_GameObject</span></code></a>) – The game object with the character physics.</p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Character wrapper.</p>
</dd>
<dt class="field-odd">Return type<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="bge.types.KX_CharacterWrapper.html#bge.types.KX_CharacterWrapper" title="bge.types.KX_CharacterWrapper"><code class="xref py py-class docutils literal notranslate"><span class="pre">KX_CharacterWrapper</span></code></a></p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.removeConstraint">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">removeConstraint</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">constraintId</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.removeConstraint" title="Link to this definition"></a></dt>
<dd><p>Removes a constraint.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>constraintId</strong> (<em>int</em>) – The id of the constraint to be removed.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setContactBreakingTreshold">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setContactBreakingTreshold</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">breakingTreshold</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setContactBreakingTreshold" title="Link to this definition"></a></dt>
<dd><div class="admonition note">
<p class="admonition-title">Note</p>
<p>Reasonable default is 0.02 (if units are meters)</p>
</div>
<p>Sets tresholds to do with contact point management.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>breakingTreshold</strong> (<em>float</em>) – The new contact breaking treshold.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setDeactivationAngularTreshold">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setDeactivationAngularTreshold</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">angularTreshold</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setDeactivationAngularTreshold" title="Link to this definition"></a></dt>
<dd><p>Sets the angular velocity treshold.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>angularTreshold</strong> (<em>float</em>) – New deactivation angular treshold.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setDeactivationLinearTreshold">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setDeactivationLinearTreshold</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">linearTreshold</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setDeactivationLinearTreshold" title="Link to this definition"></a></dt>
<dd><p>Sets the linear velocity treshold.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>linearTreshold</strong> (<em>float</em>) – New deactivation linear treshold.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setDeactivationTime">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setDeactivationTime</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">time</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setDeactivationTime" title="Link to this definition"></a></dt>
<dd><p>Sets the time after which a resting rigidbody gets deactived.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>time</strong> (<em>float</em>) – The deactivation time.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setERPNonContact">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setERPNonContact</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">erp</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setERPNonContact" title="Link to this definition"></a></dt>
<dd><p>Sets the Error Reduction Parameter (ERP) for non-contact constraints.
The Error Reduction Parameter (ERP) specifies what proportion of the joint error will be fixed during the next simulation step.
If ERP = 0.0 then no correcting force is applied and the bodies will eventually drift apart as the simulation proceeds.
If ERP = 1.0 then the simulation will attempt to fix all joint error during the next time step.
However, setting ERP = 1.0 is not recommended, as the joint error will not be completely fixed due to various internal approximations.
A value of ERP = 0.1 to 0.8 is recommended.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>erp</strong> (<em>float</em><em> [</em><em>0.0</em><em>, </em><em>1.0</em><em>]</em>) – The ERP parameter for non-contact constraints.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setERPContact">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setERPContact</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">erp2</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setERPContact" title="Link to this definition"></a></dt>
<dd><p>Sets the Error Reduction Parameter (ERP) for contact constraints.
The Error Reduction Parameter (ERP) specifies what proportion of the joint error will be fixed during the next simulation step.
If ERP = 0.0 then no correcting force is applied and the bodies will eventually drift apart as the simulation proceeds.
If ERP = 1.0 then the simulation will attempt to fix all joint error during the next time step.
However, setting ERP = 1.0 is not recommended, as the joint error will not be completely fixed due to various internal approximations.
A value of ERP = 0.1 to 0.8 is recommended.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>erp2</strong> (<em>float</em><em> [</em><em>0.0</em><em>, </em><em>1.0</em><em>]</em>) – The ERP parameter for contact constraints.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setCFM">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setCFM</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cfm</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setCFM" title="Link to this definition"></a></dt>
<dd><p>Sets the Constraint Force Mixing (CFM) for soft constraints.
If the Constraint Force Mixing (CFM) is set to zero, the constraint will be hard.
If CFM is set to a positive value, it will be possible to violate the constraint by pushing on it (for example, for contact constraints by forcing the two contacting objects together).
In other words the constraint will be soft, and the softness will increase as CFM increases.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>cfm</strong> (<em>float</em><em> [</em><em>0.0</em><em>, </em><em>10000.0</em><em>]</em>) – The CFM parameter for soft constraints.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setDebugMode">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setDebugMode</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mode</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setDebugMode" title="Link to this definition"></a></dt>
<dd><p>Sets the debug mode.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>mode</strong> (<em>int</em>) – The new debug mode, see <a class="reference internal" href="#debug-mode-constants">Debug Mode Constants</a>.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setGravity">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setGravity</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">y</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">z</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setGravity" title="Link to this definition"></a></dt>
<dd><p>Sets the gravity force.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>x</strong> (<em>float</em>) – Gravity X force.</p></li>
<li><p><strong>y</strong> (<em>float</em>) – Gravity Y force.</p></li>
<li><p><strong>z</strong> (<em>float</em>) – Gravity Z force.</p></li>
</ul>
</dd>
</dl>
<p>Sets the linear air damping for rigidbodies.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setNumIterations">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setNumIterations</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">numiter</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setNumIterations" title="Link to this definition"></a></dt>
<dd><p>Sets the number of iterations for an iterative constraint solver.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>numiter</strong> (<em>int</em>) – New number of iterations.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setNumTimeSubSteps">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setNumTimeSubSteps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">numsubstep</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setNumTimeSubSteps" title="Link to this definition"></a></dt>
<dd><p>Sets the number of substeps for each physics proceed. Tradeoff quality for performance.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>numsubstep</strong> (<em>int</em>) – New number of substeps.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setSolverDamping">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setSolverDamping</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">damping</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setSolverDamping" title="Link to this definition"></a></dt>
<dd><div class="admonition note">
<p class="admonition-title">Note</p>
<p>Very experimental, not recommended</p>
</div>
<p>Sets the damper constant of a penalty based solver.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>damping</strong> (<em>float</em>) – New damping for the solver.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setSolverTau">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setSolverTau</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tau</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setSolverTau" title="Link to this definition"></a></dt>
<dd><div class="admonition note">
<p class="admonition-title">Note</p>
<p>Very experimental, not recommended</p>
</div>
<p>Sets the spring constant of a penalty based solver.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>tau</strong> (<em>float</em>) – New tau for the solver.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setSolverType">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setSolverType</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">solverType</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setSolverType" title="Link to this definition"></a></dt>
<dd><div class="admonition note">
<p class="admonition-title">Note</p>
<p>Very experimental, not recommended</p>
</div>
<p>Sets the solver type.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>solverType</strong> (<em>int</em>) – The new type of the solver.</p>
</dd>
</dl>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="bge.constraints.setSorConstant">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">setSorConstant</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">sor</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#bge.constraints.setSorConstant" title="Link to this definition"></a></dt>
<dd><div class="admonition note">
<p class="admonition-title">Note</p>
<p>Very experimental, not recommended</p>
</div>
<p>Sets the successive overrelaxation constant.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>sor</strong> (<em>float</em>) – New sor value.</p>
</dd>
</dl>
</dd></dl>
<section id="constants">
<h3>Constants<a class="headerlink" href="#constants" title="Link to this heading"></a></h3>
<dl class="py attribute">
<dt class="sig sig-object py" id="bge.constraints.error">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">error</span></span><a class="headerlink" href="#bge.constraints.error" title="Link to this definition"></a></dt>
<dd><p>Symbolic constant string that indicates error.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>str</p>
</dd>
</dl>
</dd></dl>
<section id="debug-mode-constants">
<h4>Debug Mode Constants<a class="headerlink" href="#debug-mode-constants" title="Link to this heading"></a></h4>
<p>Debug mode to be used with <a class="reference internal" href="#bge.constraints.setDebugMode" title="bge.constraints.setDebugMode"><code class="xref py py-func docutils literal notranslate"><span class="pre">setDebugMode()</span></code></a>.</p>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.DBG_NODEBUG">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">DBG_NODEBUG</span></span><a class="headerlink" href="#bge.constraints.DBG_NODEBUG" title="Link to this definition"></a></dt>
<dd><p>No debug.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.DBG_DRAWWIREFRAME">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">DBG_DRAWWIREFRAME</span></span><a class="headerlink" href="#bge.constraints.DBG_DRAWWIREFRAME" title="Link to this definition"></a></dt>
<dd><p>Draw wireframe in debug.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.DBG_DRAWAABB">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">DBG_DRAWAABB</span></span><a class="headerlink" href="#bge.constraints.DBG_DRAWAABB" title="Link to this definition"></a></dt>
<dd><p>Draw Axis Aligned Bounding Box in debug.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.DBG_DRAWFREATURESTEXT">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">DBG_DRAWFREATURESTEXT</span></span><a class="headerlink" href="#bge.constraints.DBG_DRAWFREATURESTEXT" title="Link to this definition"></a></dt>
<dd><p>Draw features text in debug.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.DBG_DRAWCONTACTPOINTS">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">DBG_DRAWCONTACTPOINTS</span></span><a class="headerlink" href="#bge.constraints.DBG_DRAWCONTACTPOINTS" title="Link to this definition"></a></dt>
<dd><p>Draw contact points in debug.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.DBG_NOHELPTEXT">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">DBG_NOHELPTEXT</span></span><a class="headerlink" href="#bge.constraints.DBG_NOHELPTEXT" title="Link to this definition"></a></dt>
<dd><p>Debug without help text.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.DBG_DRAWTEXT">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">DBG_DRAWTEXT</span></span><a class="headerlink" href="#bge.constraints.DBG_DRAWTEXT" title="Link to this definition"></a></dt>
<dd><p>Draw text in debug.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.DBG_PROFILETIMINGS">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">DBG_PROFILETIMINGS</span></span><a class="headerlink" href="#bge.constraints.DBG_PROFILETIMINGS" title="Link to this definition"></a></dt>
<dd><p>Draw profile timings in debug.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.DBG_ENABLESATCOMPARISION">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">DBG_ENABLESATCOMPARISION</span></span><a class="headerlink" href="#bge.constraints.DBG_ENABLESATCOMPARISION" title="Link to this definition"></a></dt>
<dd><p>Enable sat comparison in debug.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.DBG_DISABLEBULLETLCP">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">DBG_DISABLEBULLETLCP</span></span><a class="headerlink" href="#bge.constraints.DBG_DISABLEBULLETLCP" title="Link to this definition"></a></dt>
<dd><p>Disable Bullet LCP.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.DBG_ENABLECCD">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">DBG_ENABLECCD</span></span><a class="headerlink" href="#bge.constraints.DBG_ENABLECCD" title="Link to this definition"></a></dt>
<dd><p>Enable Continuous Collision Detection in debug.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.DBG_DRAWCONSTRAINTS">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">DBG_DRAWCONSTRAINTS</span></span><a class="headerlink" href="#bge.constraints.DBG_DRAWCONSTRAINTS" title="Link to this definition"></a></dt>
<dd><p>Draw constraints in debug.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.DBG_DRAWCONSTRAINTLIMITS">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">DBG_DRAWCONSTRAINTLIMITS</span></span><a class="headerlink" href="#bge.constraints.DBG_DRAWCONSTRAINTLIMITS" title="Link to this definition"></a></dt>
<dd><p>Draw constraint limits in debug.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.DBG_FASTWIREFRAME">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">DBG_FASTWIREFRAME</span></span><a class="headerlink" href="#bge.constraints.DBG_FASTWIREFRAME" title="Link to this definition"></a></dt>
<dd><p>Draw a fast wireframe in debug.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
</section>
<section id="create-constraint-constants">
<h4>Create Constraint Constants<a class="headerlink" href="#create-constraint-constants" title="Link to this heading"></a></h4>
<p>Constraint type to be used with <a class="reference internal" href="#bge.constraints.createConstraint" title="bge.constraints.createConstraint"><code class="xref py py-func docutils literal notranslate"><span class="pre">createConstraint()</span></code></a>.</p>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.POINTTOPOINT_CONSTRAINT">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">POINTTOPOINT_CONSTRAINT</span></span><a class="headerlink" href="#bge.constraints.POINTTOPOINT_CONSTRAINT" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.LINEHINGE_CONSTRAINT">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">LINEHINGE_CONSTRAINT</span></span><a class="headerlink" href="#bge.constraints.LINEHINGE_CONSTRAINT" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.ANGULAR_CONSTRAINT">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">ANGULAR_CONSTRAINT</span></span><a class="headerlink" href="#bge.constraints.ANGULAR_CONSTRAINT" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.CONETWIST_CONSTRAINT">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">CONETWIST_CONSTRAINT</span></span><a class="headerlink" href="#bge.constraints.CONETWIST_CONSTRAINT" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.VEHICLE_CONSTRAINT">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">VEHICLE_CONSTRAINT</span></span><a class="headerlink" href="#bge.constraints.VEHICLE_CONSTRAINT" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
<dl class="py data">
<dt class="sig sig-object py" id="bge.constraints.GENERIC_6DOF_CONSTRAINT">
<span class="sig-prename descclassname"><span class="pre">bge.constraints.</span></span><span class="sig-name descname"><span class="pre">GENERIC_6DOF_CONSTRAINT</span></span><a class="headerlink" href="#bge.constraints.GENERIC_6DOF_CONSTRAINT" title="Link to this definition"></a></dt>
<dd><dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
<dd class="field-odd"><p>integer</p>
</dd>
</dl>
</dd></dl>
</section>
</section>
</section>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="bge.events.html" class="btn btn-neutral float-left" title="Game Keys (bge.events)" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="bge.app.html" class="btn btn-neutral float-right" title="Application Data (bge.app)" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>© Copyright Blender Authors.
<span class="commit">Revision <code><a href=https://projects.blender.org/blender/blender/commit/4fd142408b81>4fd142408b81</a> - 12/09/2023</code>.
</span></p>
</div>
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="document versions">
<ul id="versionwrap" role="presentation">
<li role="presentation">
<span id="version-popover" class="version-btn" tabindex="0" role="button" aria-label="versions selector" aria-haspopup="true" aria-controls="version-vsnlist" aria-disabled="true">
4.0
</span>
<div class="version-dialog" aria-hidden="true">
<div class="version-arrow" aria-hidden="true"></div>
<div class="version-title">Versions</div>
<ul id="version-vsnlist" class="version-list" role="menu" aria-labelledby="version-popover" aria-hidden="true">
<li role="presentation">Loading...</li>
</ul>
</div>
</li>
</ul>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(false);
});
</script>
</body>
</html>