aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/irrlicht-1.8.1/doc/html/_i_scene_node_8h_source.html
blob: 99c3d8176861f4824929d61d2e8cf7fcf3dbdce9 (plain)
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Irrlicht 3D Engine: ISceneNode.h Source File</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Irrlicht 3D Engine
   
   </div>
   
  </td>
  
  
  
   
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="dynsections.js"></script>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('_i_scene_node_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">ISceneNode.h</div>  </div>
</div>
<div class="contents">
<a href="_i_scene_node_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Copyright (C) 2002-2012 Nikolaus Gebhardt</span>
<a name="l00002"></a>00002 <span class="comment">// This file is part of the &quot;Irrlicht Engine&quot;.</span>
<a name="l00003"></a>00003 <span class="comment">// For conditions of distribution and use, see copyright notice in irrlicht.h</span>
<a name="l00004"></a>00004 
<a name="l00005"></a>00005 <span class="preprocessor">#ifndef __I_SCENE_NODE_H_INCLUDED__</span>
<a name="l00006"></a>00006 <span class="preprocessor"></span><span class="preprocessor">#define __I_SCENE_NODE_H_INCLUDED__</span>
<a name="l00007"></a>00007 <span class="preprocessor"></span>
<a name="l00008"></a>00008 <span class="preprocessor">#include &quot;<a class="code" href="_i_attribute_exchanging_object_8h.html">IAttributeExchangingObject.h</a>&quot;</span>
<a name="l00009"></a>00009 <span class="preprocessor">#include &quot;<a class="code" href="_e_scene_node_types_8h.html">ESceneNodeTypes.h</a>&quot;</span>
<a name="l00010"></a>00010 <span class="preprocessor">#include &quot;<a class="code" href="_e_culling_types_8h.html">ECullingTypes.h</a>&quot;</span>
<a name="l00011"></a>00011 <span class="preprocessor">#include &quot;<a class="code" href="_e_debug_scene_types_8h.html">EDebugSceneTypes.h</a>&quot;</span>
<a name="l00012"></a>00012 <span class="preprocessor">#include &quot;<a class="code" href="_i_scene_node_animator_8h.html">ISceneNodeAnimator.h</a>&quot;</span>
<a name="l00013"></a>00013 <span class="preprocessor">#include &quot;<a class="code" href="_i_triangle_selector_8h.html">ITriangleSelector.h</a>&quot;</span>
<a name="l00014"></a>00014 <span class="preprocessor">#include &quot;<a class="code" href="_s_material_8h.html">SMaterial.h</a>&quot;</span>
<a name="l00015"></a>00015 <span class="preprocessor">#include &quot;<a class="code" href="irr_string_8h.html">irrString.h</a>&quot;</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &quot;<a class="code" href="aabbox3d_8h.html">aabbox3d.h</a>&quot;</span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;<a class="code" href="matrix4_8h.html">matrix4.h</a>&quot;</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &quot;<a class="code" href="irr_list_8h.html">irrList.h</a>&quot;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &quot;<a class="code" href="_i_attributes_8h.html">IAttributes.h</a>&quot;</span>
<a name="l00020"></a>00020 
<a name="l00021"></a>00021 <span class="keyword">namespace </span>irr
<a name="l00022"></a>00022 {
<a name="l00023"></a>00023 <span class="keyword">namespace </span>scene
<a name="l00024"></a>00024 {
<a name="l00025"></a><a class="code" href="namespaceirr_1_1scene.html#ac141e7443ace16ce06c0a092c6fc4fbc">00025</a>     <span class="keyword">class </span><a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html" title="The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.">ISceneManager</a>;
<a name="l00026"></a>00026 
<a name="l00028"></a>00028     <span class="keyword">typedef</span> <a class="code" href="classirr_1_1core_1_1list.html">core::list&lt;ISceneNode*&gt;</a> <a class="code" href="namespaceirr_1_1scene.html#ac141e7443ace16ce06c0a092c6fc4fbc" title="Typedef for list of scene nodes.">ISceneNodeList</a>;
<a name="l00030"></a><a class="code" href="namespaceirr_1_1scene.html#a4699e14043e59f91c454ffc13edd953c">00030</a>     <span class="keyword">typedef</span> <a class="code" href="classirr_1_1core_1_1list.html">core::list&lt;ISceneNodeAnimator*&gt;</a> <a class="code" href="namespaceirr_1_1scene.html#a4699e14043e59f91c454ffc13edd953c" title="Typedef for list of scene node animators.">ISceneNodeAnimatorList</a>;
<a name="l00031"></a>00031 
<a name="l00033"></a>00033 
<a name="l00040"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html">00040</a>     <span class="keyword">class </span><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html" title="Scene node interface.">ISceneNode</a> : <span class="keyword">virtual</span> <span class="keyword">public</span> io::IAttributeExchangingObject
<a name="l00041"></a>00041     {
<a name="l00042"></a>00042     <span class="keyword">public</span>:
<a name="l00043"></a>00043 
<a name="l00045"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a9894d951df2f720924f891e0a7b9fac2">00045</a>         <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a9894d951df2f720924f891e0a7b9fac2" title="Constructor.">ISceneNode</a>(<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html" title="Scene node interface.">ISceneNode</a>* parent, <a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html" title="The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.">ISceneManager</a>* mgr, <a class="code" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6" title="32 bit signed variable.">s32</a> <span class="keywordtype">id</span>=-1,
<a name="l00046"></a>00046                 <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&amp; position = <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>(0,0,0),
<a name="l00047"></a>00047                 <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&amp; rotation = <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>(0,0,0),
<a name="l00048"></a>00048                 <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&amp; scale = <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>(1.0f, 1.0f, 1.0f))
<a name="l00049"></a>00049             : <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d8af3d0185a787209b7be576a411281" title="Relative translation of the scene node.">RelativeTranslation</a>(position), <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a83fef4c36dcab69bbf94cf6e3e1323e1" title="Relative rotation of the scene node.">RelativeRotation</a>(rotation), <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a76e41eb5e7a5baf51350ec627a458a3d" title="Relative scale of the scene node.">RelativeScale</a>(scale),
<a name="l00050"></a>00050                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a145c14ca15ce98bea683a36142f1b045" title="Pointer to the parent.">Parent</a>(0), <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a062a201ee9b870398fe5aa8f36ce54a5" title="Pointer to the scene manager.">SceneManager</a>(mgr), <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad622b3f366243e146b3b4cbe81b468ab" title="Pointer to the triangle selector.">TriangleSelector</a>(0), <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a001b5cf9866fae4092b9b2cc89f3ebef" title="ID of the node.">ID</a>(id),
<a name="l00051"></a>00051                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0906d6df682ef3b1cbbe117907c0b995" title="Automatic culling state.">AutomaticCullingState</a>(<a class="code" href="namespaceirr_1_1scene.html#acabb2772476aa3706e65a7dc77fd9ccea28580fa38fb38096fdf29555d2488ff6">EAC_BOX</a>), <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a223a66d82d1c56e5f3730aeb9f83589c" title="Flag if debug data should be drawn, such as Bounding Boxes.">DebugDataVisible</a>(<a class="code" href="namespaceirr_1_1scene.html#a52b664c4c988113735042b168fc32dbea25111b15f03bee9a99498737286916dc" title="No Debug Data ( Default )">EDS_OFF</a>),
<a name="l00052"></a>00052                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa834128c57215457914ef46d9b18cc5e" title="Is the node visible?">IsVisible</a>(true), <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a8f1ba7c5e77eecc2adc6d12df0d27dd6" title="Is debug object?">IsDebugObject</a>(false)
<a name="l00053"></a>00053         {
<a name="l00054"></a>00054             <span class="keywordflow">if</span> (parent)
<a name="l00055"></a>00055                 parent-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#acceef4fbb68f6cc7bb40035225350970" title="Adds a child to this scene node.">addChild</a>(<span class="keyword">this</span>);
<a name="l00056"></a>00056 
<a name="l00057"></a>00057             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aeb6e0dc034bb2101600ce87acbcf0f6e" title="Updates the absolute position based on the relative and the parents position.">updateAbsolutePosition</a>();
<a name="l00058"></a>00058         }
<a name="l00059"></a>00059 
<a name="l00060"></a>00060 
<a name="l00062"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a3064ed436d731f072e55873577724fbc">00062</a>         <span class="keyword">virtual</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a3064ed436d731f072e55873577724fbc" title="Destructor.">~ISceneNode</a>()
<a name="l00063"></a>00063         {
<a name="l00064"></a>00064             <span class="comment">// delete all children</span>
<a name="l00065"></a>00065             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a348767bb5b9262d997067c50e079e5be" title="Removes all children of this scene node.">removeAll</a>();
<a name="l00066"></a>00066 
<a name="l00067"></a>00067             <span class="comment">// delete all animators</span>
<a name="l00068"></a>00068             ISceneNodeAnimatorList::Iterator ait = <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>.<a class="code" href="classirr_1_1core_1_1list.html#aebd05a0f5e5ead6e1d5b6e3973da8039" title="Gets first node.">begin</a>();
<a name="l00069"></a>00069             <span class="keywordflow">for</span> (; ait != <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>.<a class="code" href="classirr_1_1core_1_1list.html#aa80509dac5224fa57cc548e39480a115" title="Gets end node.">end</a>(); ++ait)
<a name="l00070"></a>00070                 (*ait)-&gt;drop();
<a name="l00071"></a>00071 
<a name="l00072"></a>00072             <span class="keywordflow">if</span> (<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad622b3f366243e146b3b4cbe81b468ab" title="Pointer to the triangle selector.">TriangleSelector</a>)
<a name="l00073"></a>00073                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad622b3f366243e146b3b4cbe81b468ab" title="Pointer to the triangle selector.">TriangleSelector</a>-&gt;<a class="code" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">drop</a>();
<a name="l00074"></a>00074         }
<a name="l00075"></a>00075 
<a name="l00076"></a>00076 
<a name="l00078"></a>00078 
<a name="l00091"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ac9795bfcb88dcaf8cba6ea3296e5d8d0">00091</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ac9795bfcb88dcaf8cba6ea3296e5d8d0" title="This method is called just before the rendering process of the whole scene.">OnRegisterSceneNode</a>()
<a name="l00092"></a>00092         {
<a name="l00093"></a>00093             <span class="keywordflow">if</span> (<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa834128c57215457914ef46d9b18cc5e" title="Is the node visible?">IsVisible</a>)
<a name="l00094"></a>00094             {
<a name="l00095"></a>00095                 ISceneNodeList::Iterator it = <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#aebd05a0f5e5ead6e1d5b6e3973da8039" title="Gets first node.">begin</a>();
<a name="l00096"></a>00096                 <span class="keywordflow">for</span> (; it != <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#aa80509dac5224fa57cc548e39480a115" title="Gets end node.">end</a>(); ++it)
<a name="l00097"></a>00097                     (*it)-&gt;OnRegisterSceneNode();
<a name="l00098"></a>00098             }
<a name="l00099"></a>00099         }
<a name="l00100"></a>00100 
<a name="l00101"></a>00101 
<a name="l00103"></a>00103 
<a name="l00108"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#afc1dcb5cb19116d0c7aa3d4ebdf04cc5">00108</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#afc1dcb5cb19116d0c7aa3d4ebdf04cc5" title="OnAnimate() is called just before rendering the whole scene.">OnAnimate</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> timeMs)
<a name="l00109"></a>00109         {
<a name="l00110"></a>00110             <span class="keywordflow">if</span> (<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa834128c57215457914ef46d9b18cc5e" title="Is the node visible?">IsVisible</a>)
<a name="l00111"></a>00111             {
<a name="l00112"></a>00112                 <span class="comment">// animate this node with all animators</span>
<a name="l00113"></a>00113 
<a name="l00114"></a>00114                 ISceneNodeAnimatorList::Iterator ait = <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>.<a class="code" href="classirr_1_1core_1_1list.html#aebd05a0f5e5ead6e1d5b6e3973da8039" title="Gets first node.">begin</a>();
<a name="l00115"></a>00115                 <span class="keywordflow">while</span> (ait != <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>.<a class="code" href="classirr_1_1core_1_1list.html#aa80509dac5224fa57cc548e39480a115" title="Gets end node.">end</a>())
<a name="l00116"></a>00116                     {
<a name="l00117"></a>00117                     <span class="comment">// continue to the next node before calling animateNode()</span>
<a name="l00118"></a>00118                     <span class="comment">// so that the animator may remove itself from the scene</span>
<a name="l00119"></a>00119                     <span class="comment">// node without the iterator becoming invalid</span>
<a name="l00120"></a>00120                     <a class="code" href="classirr_1_1scene_1_1_i_scene_node_animator.html" title="Animates a scene node. Can animate position, rotation, material, and so on.">ISceneNodeAnimator</a>* anim = *ait;
<a name="l00121"></a>00121                     ++ait;
<a name="l00122"></a>00122                     anim-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node_animator.html#ab2170d133db16de148d0f6841c06bc84" title="Animates a scene node.">animateNode</a>(<span class="keyword">this</span>, timeMs);
<a name="l00123"></a>00123                 }
<a name="l00124"></a>00124 
<a name="l00125"></a>00125                 <span class="comment">// update absolute position</span>
<a name="l00126"></a>00126                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aeb6e0dc034bb2101600ce87acbcf0f6e" title="Updates the absolute position based on the relative and the parents position.">updateAbsolutePosition</a>();
<a name="l00127"></a>00127 
<a name="l00128"></a>00128                 <span class="comment">// perform the post render process on all children</span>
<a name="l00129"></a>00129 
<a name="l00130"></a>00130                 ISceneNodeList::Iterator it = <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#aebd05a0f5e5ead6e1d5b6e3973da8039" title="Gets first node.">begin</a>();
<a name="l00131"></a>00131                 <span class="keywordflow">for</span> (; it != <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#aa80509dac5224fa57cc548e39480a115" title="Gets end node.">end</a>(); ++it)
<a name="l00132"></a>00132                     (*it)-&gt;OnAnimate(timeMs);
<a name="l00133"></a>00133             }
<a name="l00134"></a>00134         }
<a name="l00135"></a>00135 
<a name="l00136"></a>00136 
<a name="l00138"></a>00138         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aff530cc4856792101d0aedee51ce35fa" title="Renders the node.">render</a>() = 0;
<a name="l00139"></a>00139 
<a name="l00140"></a>00140 
<a name="l00142"></a>00142 
<a name="l00143"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aabb3b657d0afb62994399181b952f3e3">00143</a>         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410" title="8 bit character variable.">c8</a>* <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aabb3b657d0afb62994399181b952f3e3" title="Returns the name of the node.">getName</a>()<span class="keyword"> const</span>
<a name="l00144"></a>00144 <span class="keyword">        </span>{
<a name="l00145"></a>00145             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2527ec038f7e400fc141efa7fdc6327b" title="Name of the scene node.">Name</a>.<a class="code" href="classirr_1_1core_1_1string.html#a4abad222c478c108096ee9297870068c" title="Returns character string.">c_str</a>();
<a name="l00146"></a>00146         }
<a name="l00147"></a>00147 
<a name="l00148"></a>00148 
<a name="l00150"></a>00150 
<a name="l00151"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a810a54a2fc178b9a0e731513865f67d0">00151</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a810a54a2fc178b9a0e731513865f67d0" title="Sets the name of the node.">setName</a>(<span class="keyword">const</span> <a class="code" href="namespaceirr.html#a9395eaea339bcb546b319e9c96bf7410" title="8 bit character variable.">c8</a>* name)
<a name="l00152"></a>00152         {
<a name="l00153"></a>00153             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2527ec038f7e400fc141efa7fdc6327b" title="Name of the scene node.">Name</a> = name;
<a name="l00154"></a>00154         }
<a name="l00155"></a>00155 
<a name="l00156"></a>00156 
<a name="l00158"></a>00158 
<a name="l00159"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a20a22d956974f4817a20663361f20042">00159</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a810a54a2fc178b9a0e731513865f67d0" title="Sets the name of the node.">setName</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1string.html">core::stringc</a>&amp; name)
<a name="l00160"></a>00160         {
<a name="l00161"></a>00161             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2527ec038f7e400fc141efa7fdc6327b" title="Name of the scene node.">Name</a> = name;
<a name="l00162"></a>00162         }
<a name="l00163"></a>00163 
<a name="l00164"></a>00164 
<a name="l00166"></a>00166 
<a name="l00173"></a>00173         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1aabbox3d.html">core::aabbox3d&lt;f32&gt;</a>&amp; <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a223f718fc2f4944b5ad28c592f6cc8c6" title="Get the axis aligned, not transformed bounding box of this node.">getBoundingBox</a>() <span class="keyword">const</span> = 0;
<a name="l00174"></a>00174 
<a name="l00175"></a>00175 
<a name="l00177"></a>00177 
<a name="l00178"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a6b0fce4b4e40b97ac3c1a9779553c716">00178</a>         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1aabbox3d.html">core::aabbox3d&lt;f32&gt;</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a6b0fce4b4e40b97ac3c1a9779553c716" title="Get the axis aligned, transformed and animated absolute bounding box of this node.">getTransformedBoundingBox</a>()<span class="keyword"> const</span>
<a name="l00179"></a>00179 <span class="keyword">        </span>{
<a name="l00180"></a>00180             <a class="code" href="classirr_1_1core_1_1aabbox3d.html">core::aabbox3d&lt;f32&gt;</a> box = <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a223f718fc2f4944b5ad28c592f6cc8c6" title="Get the axis aligned, not transformed bounding box of this node.">getBoundingBox</a>();
<a name="l00181"></a>00181             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aab7d4bc865d0c7ccf361515a154a8cf0" title="Absolute transformation of the node.">AbsoluteTransformation</a>.<a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a87451aea9c07b71d1a8b6091b8cefa63" title="Transforms a axis aligned bounding box.">transformBoxEx</a>(box);
<a name="l00182"></a>00182             <span class="keywordflow">return</span> box;
<a name="l00183"></a>00183         }
<a name="l00184"></a>00184 
<a name="l00185"></a>00185 
<a name="l00187"></a>00187 
<a name="l00193"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a9c46ea82efd7ae30437fb7c385809050">00193</a>         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">core::matrix4</a>&amp; <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a9c46ea82efd7ae30437fb7c385809050" title="Get the absolute transformation of the node. Is recalculated every OnAnimate()-call.">getAbsoluteTransformation</a>()<span class="keyword"> const</span>
<a name="l00194"></a>00194 <span class="keyword">        </span>{
<a name="l00195"></a>00195             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aab7d4bc865d0c7ccf361515a154a8cf0" title="Absolute transformation of the node.">AbsoluteTransformation</a>;
<a name="l00196"></a>00196         }
<a name="l00197"></a>00197 
<a name="l00198"></a>00198 
<a name="l00200"></a>00200 
<a name="l00204"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#afe701e793852ac8eb4ae7c723aef5b55">00204</a>         <span class="keyword">virtual</span> <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">core::matrix4</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#afe701e793852ac8eb4ae7c723aef5b55" title="Returns the relative transformation of the scene node.">getRelativeTransformation</a>()<span class="keyword"> const</span>
<a name="l00205"></a>00205 <span class="keyword">        </span>{
<a name="l00206"></a>00206             <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">core::matrix4</a> mat;
<a name="l00207"></a>00207             mat.<a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a8ee5ef8619d4b0f56d72ac84495ed644" title="Make a rotation matrix from Euler angles. The 4th row and column are unmodified.">setRotationDegrees</a>(<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a83fef4c36dcab69bbf94cf6e3e1323e1" title="Relative rotation of the scene node.">RelativeRotation</a>);
<a name="l00208"></a>00208             mat.<a class="code" href="classirr_1_1core_1_1_c_matrix4.html#ac04a3b341cbfbb7986be682691655622" title="Set the translation of the current matrix. Will erase any previous values.">setTranslation</a>(<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d8af3d0185a787209b7be576a411281" title="Relative translation of the scene node.">RelativeTranslation</a>);
<a name="l00209"></a>00209 
<a name="l00210"></a>00210             <span class="keywordflow">if</span> (<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a76e41eb5e7a5baf51350ec627a458a3d" title="Relative scale of the scene node.">RelativeScale</a> != <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>(1.f,1.f,1.f))
<a name="l00211"></a>00211             {
<a name="l00212"></a>00212                 <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">core::matrix4</a> smat;
<a name="l00213"></a>00213                 smat.<a class="code" href="classirr_1_1core_1_1_c_matrix4.html#a47117d44419af87e70084c01ab852049" title="Set Scale.">setScale</a>(<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a76e41eb5e7a5baf51350ec627a458a3d" title="Relative scale of the scene node.">RelativeScale</a>);
<a name="l00214"></a>00214                 mat *= smat;
<a name="l00215"></a>00215             }
<a name="l00216"></a>00216 
<a name="l00217"></a>00217             <span class="keywordflow">return</span> mat;
<a name="l00218"></a>00218         }
<a name="l00219"></a>00219 
<a name="l00220"></a>00220 
<a name="l00222"></a>00222 
<a name="l00226"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1aef4f0feccebcd0d38373beadbc1827">00226</a>         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1aef4f0feccebcd0d38373beadbc1827" title="Returns whether the node should be visible (if all of its parents are visible).">isVisible</a>()<span class="keyword"> const</span>
<a name="l00227"></a>00227 <span class="keyword">        </span>{
<a name="l00228"></a>00228             <a class="code" href="irr_types_8h.html#ad19cf45bdc142ef8e4a011cabbc4a4af" title="Defines a small statement to work around a microsoft compiler bug.">_IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX</a>;
<a name="l00229"></a>00229             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa834128c57215457914ef46d9b18cc5e" title="Is the node visible?">IsVisible</a>;
<a name="l00230"></a>00230         }
<a name="l00231"></a>00231 
<a name="l00233"></a>00233 
<a name="l00235"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa7065e757724f61d4a91d25db25c3a2b">00235</a>         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa7065e757724f61d4a91d25db25c3a2b" title="Check whether the node is truly visible, taking into accounts its parents&#39; visibility.">isTrulyVisible</a>()<span class="keyword"> const</span>
<a name="l00236"></a>00236 <span class="keyword">        </span>{
<a name="l00237"></a>00237             <a class="code" href="irr_types_8h.html#ad19cf45bdc142ef8e4a011cabbc4a4af" title="Defines a small statement to work around a microsoft compiler bug.">_IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX</a>;
<a name="l00238"></a>00238             <span class="keywordflow">if</span>(!<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa834128c57215457914ef46d9b18cc5e" title="Is the node visible?">IsVisible</a>)
<a name="l00239"></a>00239                 <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00240"></a>00240 
<a name="l00241"></a>00241             <span class="keywordflow">if</span>(!<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a145c14ca15ce98bea683a36142f1b045" title="Pointer to the parent.">Parent</a>)
<a name="l00242"></a>00242                 <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l00243"></a>00243 
<a name="l00244"></a>00244             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a145c14ca15ce98bea683a36142f1b045" title="Pointer to the parent.">Parent</a>-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa7065e757724f61d4a91d25db25c3a2b" title="Check whether the node is truly visible, taking into accounts its parents&#39; visibility.">isTrulyVisible</a>();
<a name="l00245"></a>00245         }
<a name="l00246"></a>00246 
<a name="l00248"></a>00248 
<a name="l00252"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2e3a88fe87d11caa7986a203afe6838c">00252</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2e3a88fe87d11caa7986a203afe6838c" title="Sets if the node should be visible or not.">setVisible</a>(<span class="keywordtype">bool</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1aef4f0feccebcd0d38373beadbc1827" title="Returns whether the node should be visible (if all of its parents are visible).">isVisible</a>)
<a name="l00253"></a>00253         {
<a name="l00254"></a>00254             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa834128c57215457914ef46d9b18cc5e" title="Is the node visible?">IsVisible</a> = <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1aef4f0feccebcd0d38373beadbc1827" title="Returns whether the node should be visible (if all of its parents are visible).">isVisible</a>;
<a name="l00255"></a>00255         }
<a name="l00256"></a>00256 
<a name="l00257"></a>00257 
<a name="l00259"></a>00259 
<a name="l00261"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a8f695e36340a9bb32f7e655fe4c1ea97">00261</a>         <span class="keyword">virtual</span> <a class="code" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6" title="32 bit signed variable.">s32</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a8f695e36340a9bb32f7e655fe4c1ea97" title="Get the id of the scene node.">getID</a>()<span class="keyword"> const</span>
<a name="l00262"></a>00262 <span class="keyword">        </span>{
<a name="l00263"></a>00263             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a001b5cf9866fae4092b9b2cc89f3ebef" title="ID of the node.">ID</a>;
<a name="l00264"></a>00264         }
<a name="l00265"></a>00265 
<a name="l00266"></a>00266 
<a name="l00268"></a>00268 
<a name="l00270"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ade60c630c4768200b1d15debbd00fe0e">00270</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ade60c630c4768200b1d15debbd00fe0e" title="Sets the id of the scene node.">setID</a>(<a class="code" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6" title="32 bit signed variable.">s32</a> <span class="keywordtype">id</span>)
<a name="l00271"></a>00271         {
<a name="l00272"></a>00272             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a001b5cf9866fae4092b9b2cc89f3ebef" title="ID of the node.">ID</a> = id;
<a name="l00273"></a>00273         }
<a name="l00274"></a>00274 
<a name="l00275"></a>00275 
<a name="l00277"></a>00277 
<a name="l00280"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#acceef4fbb68f6cc7bb40035225350970">00280</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#acceef4fbb68f6cc7bb40035225350970" title="Adds a child to this scene node.">addChild</a>(<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html" title="Scene node interface.">ISceneNode</a>* child)
<a name="l00281"></a>00281         {
<a name="l00282"></a>00282             <span class="keywordflow">if</span> (child &amp;&amp; (child != <span class="keyword">this</span>))
<a name="l00283"></a>00283             {
<a name="l00284"></a>00284                 <span class="comment">// Change scene manager?</span>
<a name="l00285"></a>00285                 <span class="keywordflow">if</span> (<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a062a201ee9b870398fe5aa8f36ce54a5" title="Pointer to the scene manager.">SceneManager</a> != child-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a062a201ee9b870398fe5aa8f36ce54a5" title="Pointer to the scene manager.">SceneManager</a>)
<a name="l00286"></a>00286                     child-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a513d09ae37f71391d7c4838e29164a3e">setSceneManager</a>(<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a062a201ee9b870398fe5aa8f36ce54a5" title="Pointer to the scene manager.">SceneManager</a>);
<a name="l00287"></a>00287 
<a name="l00288"></a>00288                 child-&gt;<a class="code" href="classirr_1_1_i_reference_counted.html#a2b7a035532e5f409ca9482dab79185f4" title="Grabs the object. Increments the reference counter by one.">grab</a>();
<a name="l00289"></a>00289                 child-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2efa2670e29d6bb33b0dd99403b8b69c" title="Removes this scene node from the scene.">remove</a>(); <span class="comment">// remove from old parent</span>
<a name="l00290"></a>00290                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#a0f73ebd87279766f339cb1462c2a24d1" title="Adds an element at the end of the list.">push_back</a>(child);
<a name="l00291"></a>00291                 child-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a145c14ca15ce98bea683a36142f1b045" title="Pointer to the parent.">Parent</a> = <span class="keyword">this</span>;
<a name="l00292"></a>00292             }
<a name="l00293"></a>00293         }
<a name="l00294"></a>00294 
<a name="l00295"></a>00295 
<a name="l00297"></a>00297 
<a name="l00302"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a831e371142fc883c7dd229552e0340de">00302</a>         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a831e371142fc883c7dd229552e0340de" title="Removes a child from this scene node.">removeChild</a>(<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html" title="Scene node interface.">ISceneNode</a>* child)
<a name="l00303"></a>00303         {
<a name="l00304"></a>00304             ISceneNodeList::Iterator it = <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#aebd05a0f5e5ead6e1d5b6e3973da8039" title="Gets first node.">begin</a>();
<a name="l00305"></a>00305             <span class="keywordflow">for</span> (; it != <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#aa80509dac5224fa57cc548e39480a115" title="Gets end node.">end</a>(); ++it)
<a name="l00306"></a>00306                 <span class="keywordflow">if</span> ((*it) == child)
<a name="l00307"></a>00307                 {
<a name="l00308"></a>00308                     (*it)-&gt;Parent = 0;
<a name="l00309"></a>00309                     (*it)-&gt;drop();
<a name="l00310"></a>00310                     <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#a407935fc79a35ce7caa19e4f6ce25c3f" title="Erases an element.">erase</a>(it);
<a name="l00311"></a>00311                     <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l00312"></a>00312                 }
<a name="l00313"></a>00313 
<a name="l00314"></a>00314             <a class="code" href="irr_types_8h.html#ad19cf45bdc142ef8e4a011cabbc4a4af" title="Defines a small statement to work around a microsoft compiler bug.">_IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX</a>;
<a name="l00315"></a>00315             <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00316"></a>00316         }
<a name="l00317"></a>00317 
<a name="l00318"></a>00318 
<a name="l00320"></a>00320 
<a name="l00323"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a348767bb5b9262d997067c50e079e5be">00323</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a348767bb5b9262d997067c50e079e5be" title="Removes all children of this scene node.">removeAll</a>()
<a name="l00324"></a>00324         {
<a name="l00325"></a>00325             ISceneNodeList::Iterator it = <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#aebd05a0f5e5ead6e1d5b6e3973da8039" title="Gets first node.">begin</a>();
<a name="l00326"></a>00326             <span class="keywordflow">for</span> (; it != <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#aa80509dac5224fa57cc548e39480a115" title="Gets end node.">end</a>(); ++it)
<a name="l00327"></a>00327             {
<a name="l00328"></a>00328                 (*it)-&gt;Parent = 0;
<a name="l00329"></a>00329                 (*it)-&gt;drop();
<a name="l00330"></a>00330             }
<a name="l00331"></a>00331 
<a name="l00332"></a>00332             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#aad18996ed41454bf7bb8e1d3199f4e73" title="Clears the list, deletes all elements in the list.">clear</a>();
<a name="l00333"></a>00333         }
<a name="l00334"></a>00334 
<a name="l00335"></a>00335 
<a name="l00337"></a>00337 
<a name="l00339"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2efa2670e29d6bb33b0dd99403b8b69c">00339</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <span class="keyword">remove</span>()
<a name="l00340"></a>00340         {
<a name="l00341"></a>00341             <span class="keywordflow">if</span> (<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a145c14ca15ce98bea683a36142f1b045" title="Pointer to the parent.">Parent</a>)
<a name="l00342"></a>00342                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a145c14ca15ce98bea683a36142f1b045" title="Pointer to the parent.">Parent</a>-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a831e371142fc883c7dd229552e0340de" title="Removes a child from this scene node.">removeChild</a>(<span class="keyword">this</span>);
<a name="l00343"></a>00343         }
<a name="l00344"></a>00344 
<a name="l00345"></a>00345 
<a name="l00347"></a>00347 
<a name="l00348"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0e5cd342cd7293c136e53e2c2c5e0f3a">00348</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0e5cd342cd7293c136e53e2c2c5e0f3a" title="Adds an animator which should animate this node.">addAnimator</a>(<a class="code" href="classirr_1_1scene_1_1_i_scene_node_animator.html" title="Animates a scene node. Can animate position, rotation, material, and so on.">ISceneNodeAnimator</a>* animator)
<a name="l00349"></a>00349         {
<a name="l00350"></a>00350             <span class="keywordflow">if</span> (animator)
<a name="l00351"></a>00351             {
<a name="l00352"></a>00352                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>.<a class="code" href="classirr_1_1core_1_1list.html#a0f73ebd87279766f339cb1462c2a24d1" title="Adds an element at the end of the list.">push_back</a>(animator);
<a name="l00353"></a>00353                 animator-&gt;<a class="code" href="classirr_1_1_i_reference_counted.html#a2b7a035532e5f409ca9482dab79185f4" title="Grabs the object. Increments the reference counter by one.">grab</a>();
<a name="l00354"></a>00354             }
<a name="l00355"></a>00355         }
<a name="l00356"></a>00356 
<a name="l00357"></a>00357 
<a name="l00359"></a>00359 
<a name="l00360"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1da5348d58e0072215c544cb35356517">00360</a>         <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1list.html">core::list&lt;ISceneNodeAnimator*&gt;</a>&amp; <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1da5348d58e0072215c544cb35356517" title="Get a list of all scene node animators.">getAnimators</a>()<span class="keyword"> const</span>
<a name="l00361"></a>00361 <span class="keyword">        </span>{
<a name="l00362"></a>00362             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>;
<a name="l00363"></a>00363         }
<a name="l00364"></a>00364 
<a name="l00365"></a>00365 
<a name="l00367"></a>00367 
<a name="l00370"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aaa67f8f91d4ec99f82955641f1f9e521">00370</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aaa67f8f91d4ec99f82955641f1f9e521" title="Removes an animator from this scene node.">removeAnimator</a>(<a class="code" href="classirr_1_1scene_1_1_i_scene_node_animator.html" title="Animates a scene node. Can animate position, rotation, material, and so on.">ISceneNodeAnimator</a>* animator)
<a name="l00371"></a>00371         {
<a name="l00372"></a>00372             ISceneNodeAnimatorList::Iterator it = <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>.<a class="code" href="classirr_1_1core_1_1list.html#aebd05a0f5e5ead6e1d5b6e3973da8039" title="Gets first node.">begin</a>();
<a name="l00373"></a>00373             <span class="keywordflow">for</span> (; it != <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>.<a class="code" href="classirr_1_1core_1_1list.html#aa80509dac5224fa57cc548e39480a115" title="Gets end node.">end</a>(); ++it)
<a name="l00374"></a>00374             {
<a name="l00375"></a>00375                 <span class="keywordflow">if</span> ((*it) == animator)
<a name="l00376"></a>00376                 {
<a name="l00377"></a>00377                     (*it)-&gt;drop();
<a name="l00378"></a>00378                     <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>.<a class="code" href="classirr_1_1core_1_1list.html#a407935fc79a35ce7caa19e4f6ce25c3f" title="Erases an element.">erase</a>(it);
<a name="l00379"></a>00379                     <span class="keywordflow">return</span>;
<a name="l00380"></a>00380                 }
<a name="l00381"></a>00381             }
<a name="l00382"></a>00382         }
<a name="l00383"></a>00383 
<a name="l00384"></a>00384 
<a name="l00386"></a>00386 
<a name="l00388"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a28f198bd566e9a7290cbefa531d8d31e">00388</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a28f198bd566e9a7290cbefa531d8d31e" title="Removes all animators from this scene node.">removeAnimators</a>()
<a name="l00389"></a>00389         {
<a name="l00390"></a>00390             ISceneNodeAnimatorList::Iterator it = <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>.<a class="code" href="classirr_1_1core_1_1list.html#aebd05a0f5e5ead6e1d5b6e3973da8039" title="Gets first node.">begin</a>();
<a name="l00391"></a>00391             <span class="keywordflow">for</span> (; it != <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>.<a class="code" href="classirr_1_1core_1_1list.html#aa80509dac5224fa57cc548e39480a115" title="Gets end node.">end</a>(); ++it)
<a name="l00392"></a>00392                 (*it)-&gt;drop();
<a name="l00393"></a>00393 
<a name="l00394"></a>00394             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>.<a class="code" href="classirr_1_1core_1_1list.html#aad18996ed41454bf7bb8e1d3199f4e73" title="Clears the list, deletes all elements in the list.">clear</a>();
<a name="l00395"></a>00395         }
<a name="l00396"></a>00396 
<a name="l00397"></a>00397 
<a name="l00399"></a>00399 
<a name="l00406"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1f44d8cf753b2e4c17c90d4fc2ed05b2">00406</a>         <span class="keyword">virtual</span> <a class="code" href="classirr_1_1video_1_1_s_material.html" title="Struct for holding parameters for a material renderer.">video::SMaterial</a>&amp; <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1f44d8cf753b2e4c17c90d4fc2ed05b2" title="Returns the material based on the zero based index i.">getMaterial</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> num)
<a name="l00407"></a>00407         {
<a name="l00408"></a>00408             <span class="keywordflow">return</span> <a class="code" href="namespaceirr_1_1video.html#a6c7a0046dcf64bb165eca2af94045a61" title="global const identity Material">video::IdentityMaterial</a>;
<a name="l00409"></a>00409         }
<a name="l00410"></a>00410 
<a name="l00411"></a>00411 
<a name="l00413"></a>00413 
<a name="l00414"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#afa904bf3742941087aaee56b0b4cdfe2">00414</a>         <span class="keyword">virtual</span> <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#afa904bf3742941087aaee56b0b4cdfe2" title="Get amount of materials used by this scene node.">getMaterialCount</a>()<span class="keyword"> const</span>
<a name="l00415"></a>00415 <span class="keyword">        </span>{
<a name="l00416"></a>00416             <span class="keywordflow">return</span> 0;
<a name="l00417"></a>00417         }
<a name="l00418"></a>00418 
<a name="l00419"></a>00419 
<a name="l00421"></a>00421 
<a name="l00425"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2841d5077854b9981711a403f33762cd">00425</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2841d5077854b9981711a403f33762cd" title="Sets all material flags at once to a new value.">setMaterialFlag</a>(<a class="code" href="namespaceirr_1_1video.html#a8a3bc00ae8137535b9fbc5f40add70d3" title="Material flags.">video::E_MATERIAL_FLAG</a> flag, <span class="keywordtype">bool</span> newvalue)
<a name="l00426"></a>00426         {
<a name="l00427"></a>00427             <span class="keywordflow">for</span> (<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i=0; i&lt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#afa904bf3742941087aaee56b0b4cdfe2" title="Get amount of materials used by this scene node.">getMaterialCount</a>(); ++i)
<a name="l00428"></a>00428                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1f44d8cf753b2e4c17c90d4fc2ed05b2" title="Returns the material based on the zero based index i.">getMaterial</a>(i).<a class="code" href="classirr_1_1video_1_1_s_material.html#a460db947d8e2022c6be895b77a65bbda" title="Sets the Material flag to the given value.">setFlag</a>(flag, newvalue);
<a name="l00429"></a>00429         }
<a name="l00430"></a>00430 
<a name="l00431"></a>00431 
<a name="l00433"></a>00433 
<a name="l00436"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0d5d2e05ebe08e6a432fbb4fd1d28dd0">00436</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0d5d2e05ebe08e6a432fbb4fd1d28dd0" title="Sets the texture of the specified layer in all materials of this scene node to the new texture...">setMaterialTexture</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> textureLayer, <a class="code" href="classirr_1_1video_1_1_i_texture.html" title="Interface of a Video Driver dependent Texture.">video::ITexture</a>* texture)
<a name="l00437"></a>00437         {
<a name="l00438"></a>00438             <span class="keywordflow">if</span> (textureLayer &gt;= <a class="code" href="namespaceirr_1_1video.html#ad41ca808200ca2e8e9d9326355020052" title="Maximum number of texture an SMaterial can have.">video::MATERIAL_MAX_TEXTURES</a>)
<a name="l00439"></a>00439                 <span class="keywordflow">return</span>;
<a name="l00440"></a>00440 
<a name="l00441"></a>00441             <span class="keywordflow">for</span> (<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i=0; i&lt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#afa904bf3742941087aaee56b0b4cdfe2" title="Get amount of materials used by this scene node.">getMaterialCount</a>(); ++i)
<a name="l00442"></a>00442                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1f44d8cf753b2e4c17c90d4fc2ed05b2" title="Returns the material based on the zero based index i.">getMaterial</a>(i).<a class="code" href="classirr_1_1video_1_1_s_material.html#a44dc38e7d4a78434d12ffd02e88e3d60" title="Sets the i-th texture.">setTexture</a>(textureLayer, texture);
<a name="l00443"></a>00443         }
<a name="l00444"></a>00444 
<a name="l00445"></a>00445 
<a name="l00447"></a>00447 
<a name="l00448"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a302c7dedd776b52111823df5ed8446de">00448</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a302c7dedd776b52111823df5ed8446de" title="Sets the material type of all materials in this scene node to a new material type.">setMaterialType</a>(<a class="code" href="namespaceirr_1_1video.html#ac8e9b6c66f7cebabd1a6d30cbc5430f1" title="Abstracted and easy to use fixed function/programmable pipeline material modes.">video::E_MATERIAL_TYPE</a> newType)
<a name="l00449"></a>00449         {
<a name="l00450"></a>00450             <span class="keywordflow">for</span> (<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> i=0; i&lt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#afa904bf3742941087aaee56b0b4cdfe2" title="Get amount of materials used by this scene node.">getMaterialCount</a>(); ++i)
<a name="l00451"></a>00451                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1f44d8cf753b2e4c17c90d4fc2ed05b2" title="Returns the material based on the zero based index i.">getMaterial</a>(i).<a class="code" href="classirr_1_1video_1_1_s_material.html#a8cb63ab4b49ae1c61fbca8353e6b2f8a" title="Type of the material. Specifies how everything is blended together.">MaterialType</a> = newType;
<a name="l00452"></a>00452         }
<a name="l00453"></a>00453 
<a name="l00454"></a>00454 
<a name="l00456"></a>00456 
<a name="l00460"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a69d142f4c8fa3f04b644cada4de09fc0">00460</a>         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&amp; <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a69d142f4c8fa3f04b644cada4de09fc0" title="Gets the scale of the scene node relative to its parent.">getScale</a>()<span class="keyword"> const</span>
<a name="l00461"></a>00461 <span class="keyword">        </span>{
<a name="l00462"></a>00462             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a76e41eb5e7a5baf51350ec627a458a3d" title="Relative scale of the scene node.">RelativeScale</a>;
<a name="l00463"></a>00463         }
<a name="l00464"></a>00464 
<a name="l00465"></a>00465 
<a name="l00467"></a>00467 
<a name="l00468"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d710e1e20546bd89affe09fa943b0e2">00468</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d710e1e20546bd89affe09fa943b0e2" title="Sets the relative scale of the scene node.">setScale</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&amp; scale)
<a name="l00469"></a>00469         {
<a name="l00470"></a>00470             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a76e41eb5e7a5baf51350ec627a458a3d" title="Relative scale of the scene node.">RelativeScale</a> = scale;
<a name="l00471"></a>00471         }
<a name="l00472"></a>00472 
<a name="l00473"></a>00473 
<a name="l00475"></a>00475 
<a name="l00479"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a5b87947672d70f863bc599720c7292c5">00479</a>         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&amp; <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a5b87947672d70f863bc599720c7292c5" title="Gets the rotation of the node relative to its parent.">getRotation</a>()<span class="keyword"> const</span>
<a name="l00480"></a>00480 <span class="keyword">        </span>{
<a name="l00481"></a>00481             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a83fef4c36dcab69bbf94cf6e3e1323e1" title="Relative rotation of the scene node.">RelativeRotation</a>;
<a name="l00482"></a>00482         }
<a name="l00483"></a>00483 
<a name="l00484"></a>00484 
<a name="l00486"></a>00486 
<a name="l00488"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#adb6ff54f52d3a9e1514cd487a550935c">00488</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#adb6ff54f52d3a9e1514cd487a550935c" title="Sets the rotation of the node relative to its parent.">setRotation</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&amp; rotation)
<a name="l00489"></a>00489         {
<a name="l00490"></a>00490             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a83fef4c36dcab69bbf94cf6e3e1323e1" title="Relative rotation of the scene node.">RelativeRotation</a> = rotation;
<a name="l00491"></a>00491         }
<a name="l00492"></a>00492 
<a name="l00493"></a>00493 
<a name="l00495"></a>00495 
<a name="l00498"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a43a7b4fa55fa58c20dfc54b9109c8b0a">00498</a>         <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&amp; <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a43a7b4fa55fa58c20dfc54b9109c8b0a" title="Gets the position of the node relative to its parent.">getPosition</a>()<span class="keyword"> const</span>
<a name="l00499"></a>00499 <span class="keyword">        </span>{
<a name="l00500"></a>00500             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d8af3d0185a787209b7be576a411281" title="Relative translation of the scene node.">RelativeTranslation</a>;
<a name="l00501"></a>00501         }
<a name="l00502"></a>00502 
<a name="l00503"></a>00503 
<a name="l00505"></a>00505 
<a name="l00507"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2166eb0a92cc0e46c49266f41a68ed50">00507</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2166eb0a92cc0e46c49266f41a68ed50" title="Sets the position of the node relative to its parent.">setPosition</a>(<span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a>&amp; newpos)
<a name="l00508"></a>00508         {
<a name="l00509"></a>00509             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d8af3d0185a787209b7be576a411281" title="Relative translation of the scene node.">RelativeTranslation</a> = newpos;
<a name="l00510"></a>00510         }
<a name="l00511"></a>00511 
<a name="l00512"></a>00512 
<a name="l00514"></a>00514 
<a name="l00522"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a5dd3aee5ed767b9d98fa50b9ead4c9a9">00522</a>         <span class="keyword">virtual</span> <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a5dd3aee5ed767b9d98fa50b9ead4c9a9" title="Gets the absolute position of the node in world coordinates.">getAbsolutePosition</a>()<span class="keyword"> const</span>
<a name="l00523"></a>00523 <span class="keyword">        </span>{
<a name="l00524"></a>00524             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aab7d4bc865d0c7ccf361515a154a8cf0" title="Absolute transformation of the node.">AbsoluteTransformation</a>.<a class="code" href="classirr_1_1core_1_1_c_matrix4.html#aec84b278e87611352b75298238e54006" title="Gets the current translation.">getTranslation</a>();
<a name="l00525"></a>00525         }
<a name="l00526"></a>00526 
<a name="l00527"></a>00527 
<a name="l00529"></a>00529 
<a name="l00534"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a5fcd62dbf524b8d2d6daa61c7d6cf119">00534</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a5fcd62dbf524b8d2d6daa61c7d6cf119" title="Enables or disables automatic culling based on the bounding box.">setAutomaticCulling</a>( <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> state)
<a name="l00535"></a>00535         {
<a name="l00536"></a>00536             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0906d6df682ef3b1cbbe117907c0b995" title="Automatic culling state.">AutomaticCullingState</a> = state;
<a name="l00537"></a>00537         }
<a name="l00538"></a>00538 
<a name="l00539"></a>00539 
<a name="l00541"></a>00541 
<a name="l00542"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a494c159287ab022d0f797642bf41476e">00542</a>         <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a494c159287ab022d0f797642bf41476e" title="Gets the automatic culling state.">getAutomaticCulling</a>()<span class="keyword"> const</span>
<a name="l00543"></a>00543 <span class="keyword">        </span>{
<a name="l00544"></a>00544             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0906d6df682ef3b1cbbe117907c0b995" title="Automatic culling state.">AutomaticCullingState</a>;
<a name="l00545"></a>00545         }
<a name="l00546"></a>00546 
<a name="l00547"></a>00547 
<a name="l00549"></a>00549 
<a name="l00552"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad83877ca84fa9cde95f099f961e80577">00552</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad83877ca84fa9cde95f099f961e80577" title="Sets if debug data like bounding boxes should be drawn.">setDebugDataVisible</a>(<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> state)
<a name="l00553"></a>00553         {
<a name="l00554"></a>00554             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a223a66d82d1c56e5f3730aeb9f83589c" title="Flag if debug data should be drawn, such as Bounding Boxes.">DebugDataVisible</a> = state;
<a name="l00555"></a>00555         }
<a name="l00556"></a>00556 
<a name="l00558"></a>00558 
<a name="l00560"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a29224344555fef716b7c466b54349e65">00560</a>         <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a29224344555fef716b7c466b54349e65" title="Returns if debug data like bounding boxes are drawn.">isDebugDataVisible</a>()<span class="keyword"> const</span>
<a name="l00561"></a>00561 <span class="keyword">        </span>{
<a name="l00562"></a>00562             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a223a66d82d1c56e5f3730aeb9f83589c" title="Flag if debug data should be drawn, such as Bounding Boxes.">DebugDataVisible</a>;
<a name="l00563"></a>00563         }
<a name="l00564"></a>00564 
<a name="l00565"></a>00565 
<a name="l00567"></a>00567 
<a name="l00569"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a7ceda3eb747a353ffeda02c26e697cbd">00569</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a7ceda3eb747a353ffeda02c26e697cbd" title="Sets if this scene node is a debug object.">setIsDebugObject</a>(<span class="keywordtype">bool</span> debugObject)
<a name="l00570"></a>00570         {
<a name="l00571"></a>00571             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a8f1ba7c5e77eecc2adc6d12df0d27dd6" title="Is debug object?">IsDebugObject</a> = debugObject;
<a name="l00572"></a>00572         }
<a name="l00573"></a>00573 
<a name="l00574"></a>00574 
<a name="l00576"></a>00576 
<a name="l00579"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aaf7667d0fec6953461237e8e11c0ceb3">00579</a>         <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aaf7667d0fec6953461237e8e11c0ceb3" title="Returns if this scene node is a debug object.">isDebugObject</a>()<span class="keyword"> const</span>
<a name="l00580"></a>00580 <span class="keyword">        </span>{
<a name="l00581"></a>00581             <a class="code" href="irr_types_8h.html#ad19cf45bdc142ef8e4a011cabbc4a4af" title="Defines a small statement to work around a microsoft compiler bug.">_IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX</a>;
<a name="l00582"></a>00582             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a8f1ba7c5e77eecc2adc6d12df0d27dd6" title="Is debug object?">IsDebugObject</a>;
<a name="l00583"></a>00583         }
<a name="l00584"></a>00584 
<a name="l00585"></a>00585 
<a name="l00587"></a>00587 
<a name="l00588"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ae38d1c6c927375afa0b69aaf2a64b88e">00588</a>         <span class="keyword">const</span> <a class="code" href="classirr_1_1core_1_1list.html">core::list&lt;ISceneNode*&gt;</a>&amp; <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ae38d1c6c927375afa0b69aaf2a64b88e" title="Returns a const reference to the list of all children.">getChildren</a>()<span class="keyword"> const</span>
<a name="l00589"></a>00589 <span class="keyword">        </span>{
<a name="l00590"></a>00590             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>;
<a name="l00591"></a>00591         }
<a name="l00592"></a>00592 
<a name="l00593"></a>00593 
<a name="l00595"></a>00595 
<a name="l00596"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a59e7f36cb5c9c4895e06fce0ca5eb276">00596</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a59e7f36cb5c9c4895e06fce0ca5eb276" title="Changes the parent of the scene node.">setParent</a>(<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html" title="Scene node interface.">ISceneNode</a>* newParent)
<a name="l00597"></a>00597         {
<a name="l00598"></a>00598             <a class="code" href="classirr_1_1_i_reference_counted.html#a2b7a035532e5f409ca9482dab79185f4" title="Grabs the object. Increments the reference counter by one.">grab</a>();
<a name="l00599"></a>00599             <span class="keyword">remove</span>();
<a name="l00600"></a>00600 
<a name="l00601"></a>00601             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a145c14ca15ce98bea683a36142f1b045" title="Pointer to the parent.">Parent</a> = newParent;
<a name="l00602"></a>00602 
<a name="l00603"></a>00603             <span class="keywordflow">if</span> (<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a145c14ca15ce98bea683a36142f1b045" title="Pointer to the parent.">Parent</a>)
<a name="l00604"></a>00604                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a145c14ca15ce98bea683a36142f1b045" title="Pointer to the parent.">Parent</a>-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#acceef4fbb68f6cc7bb40035225350970" title="Adds a child to this scene node.">addChild</a>(<span class="keyword">this</span>);
<a name="l00605"></a>00605 
<a name="l00606"></a>00606             <a class="code" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">drop</a>();
<a name="l00607"></a>00607         }
<a name="l00608"></a>00608 
<a name="l00609"></a>00609 
<a name="l00611"></a>00611 
<a name="l00620"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a21f4ddce8da7edfeafc6303b02ab8a83">00620</a>         <span class="keyword">virtual</span> <a class="code" href="classirr_1_1scene_1_1_i_triangle_selector.html" title="Interface to return triangles with specific properties.">ITriangleSelector</a>* <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a21f4ddce8da7edfeafc6303b02ab8a83" title="Returns the triangle selector attached to this scene node.">getTriangleSelector</a>()<span class="keyword"> const</span>
<a name="l00621"></a>00621 <span class="keyword">        </span>{
<a name="l00622"></a>00622             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad622b3f366243e146b3b4cbe81b468ab" title="Pointer to the triangle selector.">TriangleSelector</a>;
<a name="l00623"></a>00623         }
<a name="l00624"></a>00624 
<a name="l00625"></a>00625 
<a name="l00627"></a>00627 
<a name="l00635"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a87fb52ec54bf3ae117340d8defd1255f">00635</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a87fb52ec54bf3ae117340d8defd1255f" title="Sets the triangle selector of the scene node.">setTriangleSelector</a>(<a class="code" href="classirr_1_1scene_1_1_i_triangle_selector.html" title="Interface to return triangles with specific properties.">ITriangleSelector</a>* selector)
<a name="l00636"></a>00636         {
<a name="l00637"></a>00637             <span class="keywordflow">if</span> (<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad622b3f366243e146b3b4cbe81b468ab" title="Pointer to the triangle selector.">TriangleSelector</a> != selector)
<a name="l00638"></a>00638             {
<a name="l00639"></a>00639                 <span class="keywordflow">if</span> (<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad622b3f366243e146b3b4cbe81b468ab" title="Pointer to the triangle selector.">TriangleSelector</a>)
<a name="l00640"></a>00640                     <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad622b3f366243e146b3b4cbe81b468ab" title="Pointer to the triangle selector.">TriangleSelector</a>-&gt;<a class="code" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">drop</a>();
<a name="l00641"></a>00641 
<a name="l00642"></a>00642                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad622b3f366243e146b3b4cbe81b468ab" title="Pointer to the triangle selector.">TriangleSelector</a> = selector;
<a name="l00643"></a>00643                 <span class="keywordflow">if</span> (<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad622b3f366243e146b3b4cbe81b468ab" title="Pointer to the triangle selector.">TriangleSelector</a>)
<a name="l00644"></a>00644                     <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad622b3f366243e146b3b4cbe81b468ab" title="Pointer to the triangle selector.">TriangleSelector</a>-&gt;<a class="code" href="classirr_1_1_i_reference_counted.html#a2b7a035532e5f409ca9482dab79185f4" title="Grabs the object. Increments the reference counter by one.">grab</a>();
<a name="l00645"></a>00645             }
<a name="l00646"></a>00646         }
<a name="l00647"></a>00647 
<a name="l00648"></a>00648 
<a name="l00650"></a>00650 
<a name="l00652"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aeb6e0dc034bb2101600ce87acbcf0f6e">00652</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aeb6e0dc034bb2101600ce87acbcf0f6e" title="Updates the absolute position based on the relative and the parents position.">updateAbsolutePosition</a>()
<a name="l00653"></a>00653         {
<a name="l00654"></a>00654             <span class="keywordflow">if</span> (<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a145c14ca15ce98bea683a36142f1b045" title="Pointer to the parent.">Parent</a>)
<a name="l00655"></a>00655             {
<a name="l00656"></a>00656                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aab7d4bc865d0c7ccf361515a154a8cf0" title="Absolute transformation of the node.">AbsoluteTransformation</a> =
<a name="l00657"></a>00657                     <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a145c14ca15ce98bea683a36142f1b045" title="Pointer to the parent.">Parent</a>-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a9c46ea82efd7ae30437fb7c385809050" title="Get the absolute transformation of the node. Is recalculated every OnAnimate()-call.">getAbsoluteTransformation</a>() * <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#afe701e793852ac8eb4ae7c723aef5b55" title="Returns the relative transformation of the scene node.">getRelativeTransformation</a>();
<a name="l00658"></a>00658             }
<a name="l00659"></a>00659             <span class="keywordflow">else</span>
<a name="l00660"></a>00660                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aab7d4bc865d0c7ccf361515a154a8cf0" title="Absolute transformation of the node.">AbsoluteTransformation</a> = <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#afe701e793852ac8eb4ae7c723aef5b55" title="Returns the relative transformation of the scene node.">getRelativeTransformation</a>();
<a name="l00661"></a>00661         }
<a name="l00662"></a>00662 
<a name="l00663"></a>00663 
<a name="l00665"></a>00665 
<a name="l00666"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2987b689ed5f62aa823dc1334384200d">00666</a>         <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html" title="Scene node interface.">scene::ISceneNode</a>* <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2987b689ed5f62aa823dc1334384200d" title="Returns the parent of this scene node.">getParent</a>()<span class="keyword"> const</span>
<a name="l00667"></a>00667 <span class="keyword">        </span>{
<a name="l00668"></a>00668             <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a145c14ca15ce98bea683a36142f1b045" title="Pointer to the parent.">Parent</a>;
<a name="l00669"></a>00669         }
<a name="l00670"></a>00670 
<a name="l00671"></a>00671 
<a name="l00673"></a>00673 
<a name="l00674"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#acb294abaf64a85e11744cce96f99926e">00674</a>         <span class="keyword">virtual</span> <a class="code" href="namespaceirr_1_1scene.html#acad3d7ef92a9807d391ba29120f3b7bd" title="An enumeration for all types of built-in scene nodes.">ESCENE_NODE_TYPE</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#acb294abaf64a85e11744cce96f99926e" title="Returns type of the scene node.">getType</a>()<span class="keyword"> const</span>
<a name="l00675"></a>00675 <span class="keyword">        </span>{
<a name="l00676"></a>00676             <span class="keywordflow">return</span> <a class="code" href="namespaceirr_1_1scene.html#acad3d7ef92a9807d391ba29120f3b7bda0c24ab203e5e0dc055f82fbca65d4f47" title="Unknown scene node.">ESNT_UNKNOWN</a>;
<a name="l00677"></a>00677         }
<a name="l00678"></a>00678 
<a name="l00679"></a>00679 
<a name="l00681"></a>00681 
<a name="l00687"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a04142f1f0e5ec49a81aaeb2bc6db124c">00687</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a04142f1f0e5ec49a81aaeb2bc6db124c" title="Writes attributes of the scene node.">serializeAttributes</a>(<a class="code" href="classirr_1_1io_1_1_i_attributes.html" title="Provides a generic interface for attributes and their values and the possiblity to serialize them...">io::IAttributes</a>* out, <a class="code" href="structirr_1_1io_1_1_s_attribute_read_write_options.html" title="struct holding data describing options">io::SAttributeReadWriteOptions</a>* options=0)<span class="keyword"> const</span>
<a name="l00688"></a>00688 <span class="keyword">        </span>{
<a name="l00689"></a>00689             <span class="keywordflow">if</span> (!out)
<a name="l00690"></a>00690                 <span class="keywordflow">return</span>;
<a name="l00691"></a>00691             out-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#a051f092d809f9d40215a1480d9d69afc" title="Adds an attribute as string.">addString</a>  (<span class="stringliteral">&quot;Name&quot;</span>, <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2527ec038f7e400fc141efa7fdc6327b" title="Name of the scene node.">Name</a>.<a class="code" href="classirr_1_1core_1_1string.html#a4abad222c478c108096ee9297870068c" title="Returns character string.">c_str</a>());
<a name="l00692"></a>00692             out-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#afbde111f36d59e9cf42b20595cf2ed24" title="Adds an attribute as integer.">addInt</a> (<span class="stringliteral">&quot;Id&quot;</span>, <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a001b5cf9866fae4092b9b2cc89f3ebef" title="ID of the node.">ID</a> );
<a name="l00693"></a>00693 
<a name="l00694"></a>00694             out-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#aee73f5e51ad978b2bf146d10725da72f" title="Adds an attribute as 3d vector.">addVector3d</a>(<span class="stringliteral">&quot;Position&quot;</span>, <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a43a7b4fa55fa58c20dfc54b9109c8b0a" title="Gets the position of the node relative to its parent.">getPosition</a>() );
<a name="l00695"></a>00695             out-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#aee73f5e51ad978b2bf146d10725da72f" title="Adds an attribute as 3d vector.">addVector3d</a>(<span class="stringliteral">&quot;Rotation&quot;</span>, <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a5b87947672d70f863bc599720c7292c5" title="Gets the rotation of the node relative to its parent.">getRotation</a>() );
<a name="l00696"></a>00696             out-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#aee73f5e51ad978b2bf146d10725da72f" title="Adds an attribute as 3d vector.">addVector3d</a>(<span class="stringliteral">&quot;Scale&quot;</span>, <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a69d142f4c8fa3f04b644cada4de09fc0" title="Gets the scale of the scene node relative to its parent.">getScale</a>() );
<a name="l00697"></a>00697 
<a name="l00698"></a>00698             out-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#a3335f912c0dfcf0e88f662796314123b" title="Adds an attribute as bool.">addBool</a>    (<span class="stringliteral">&quot;Visible&quot;</span>, <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa834128c57215457914ef46d9b18cc5e" title="Is the node visible?">IsVisible</a> );
<a name="l00699"></a>00699             out-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#afbde111f36d59e9cf42b20595cf2ed24" title="Adds an attribute as integer.">addInt</a> (<span class="stringliteral">&quot;AutomaticCulling&quot;</span>, <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0906d6df682ef3b1cbbe117907c0b995" title="Automatic culling state.">AutomaticCullingState</a>);
<a name="l00700"></a>00700             out-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#afbde111f36d59e9cf42b20595cf2ed24" title="Adds an attribute as integer.">addInt</a> (<span class="stringliteral">&quot;DebugDataVisible&quot;</span>, <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a223a66d82d1c56e5f3730aeb9f83589c" title="Flag if debug data should be drawn, such as Bounding Boxes.">DebugDataVisible</a> );
<a name="l00701"></a>00701             out-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#a3335f912c0dfcf0e88f662796314123b" title="Adds an attribute as bool.">addBool</a>    (<span class="stringliteral">&quot;IsDebugObject&quot;</span>, <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a8f1ba7c5e77eecc2adc6d12df0d27dd6" title="Is debug object?">IsDebugObject</a> );
<a name="l00702"></a>00702         }
<a name="l00703"></a>00703 
<a name="l00704"></a>00704 
<a name="l00706"></a>00706 
<a name="l00712"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a5fb609b08fc89a92f928c19ce3b181eb">00712</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a5fb609b08fc89a92f928c19ce3b181eb" title="Reads attributes of the scene node.">deserializeAttributes</a>(<a class="code" href="classirr_1_1io_1_1_i_attributes.html" title="Provides a generic interface for attributes and their values and the possiblity to serialize them...">io::IAttributes</a>* in, <a class="code" href="structirr_1_1io_1_1_s_attribute_read_write_options.html" title="struct holding data describing options">io::SAttributeReadWriteOptions</a>* options=0)
<a name="l00713"></a>00713         {
<a name="l00714"></a>00714             <span class="keywordflow">if</span> (!in)
<a name="l00715"></a>00715                 <span class="keywordflow">return</span>;
<a name="l00716"></a>00716             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2527ec038f7e400fc141efa7fdc6327b" title="Name of the scene node.">Name</a> = in-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#a60f395fd008a70cc0531fa038c81f0ea">getAttributeAsString</a>(<span class="stringliteral">&quot;Name&quot;</span>);
<a name="l00717"></a>00717             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a001b5cf9866fae4092b9b2cc89f3ebef" title="ID of the node.">ID</a> = in-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#ac6c51254c9d43cb58cb89866cdd210ed">getAttributeAsInt</a>(<span class="stringliteral">&quot;Id&quot;</span>);
<a name="l00718"></a>00718 
<a name="l00719"></a>00719             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2166eb0a92cc0e46c49266f41a68ed50" title="Sets the position of the node relative to its parent.">setPosition</a>(in-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#ac4ad5d4db7fd08e0523d3f8e671c2f68">getAttributeAsVector3d</a>(<span class="stringliteral">&quot;Position&quot;</span>));
<a name="l00720"></a>00720             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#adb6ff54f52d3a9e1514cd487a550935c" title="Sets the rotation of the node relative to its parent.">setRotation</a>(in-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#ac4ad5d4db7fd08e0523d3f8e671c2f68">getAttributeAsVector3d</a>(<span class="stringliteral">&quot;Rotation&quot;</span>));
<a name="l00721"></a>00721             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d710e1e20546bd89affe09fa943b0e2" title="Sets the relative scale of the scene node.">setScale</a>(in-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#ac4ad5d4db7fd08e0523d3f8e671c2f68">getAttributeAsVector3d</a>(<span class="stringliteral">&quot;Scale&quot;</span>));
<a name="l00722"></a>00722 
<a name="l00723"></a>00723             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa834128c57215457914ef46d9b18cc5e" title="Is the node visible?">IsVisible</a> = in-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#a197407f5b0f1d0c1aefab3e1b8d7c02d">getAttributeAsBool</a>(<span class="stringliteral">&quot;Visible&quot;</span>);
<a name="l00724"></a>00724             <a class="code" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6" title="32 bit signed variable.">s32</a> tmpState = in-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#a2a204c332735a0b15fa555ae6e785214">getAttributeAsEnumeration</a>(<span class="stringliteral">&quot;AutomaticCulling&quot;</span>,
<a name="l00725"></a>00725                     <a class="code" href="namespaceirr_1_1scene.html#afb3e3fc1668bd602189bab446801aa12" title="Names for culling type.">scene::AutomaticCullingNames</a>);
<a name="l00726"></a>00726             <span class="keywordflow">if</span> (tmpState != -1)
<a name="l00727"></a>00727                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0906d6df682ef3b1cbbe117907c0b995" title="Automatic culling state.">AutomaticCullingState</a> = (<a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a>)tmpState;
<a name="l00728"></a>00728             <span class="keywordflow">else</span>
<a name="l00729"></a>00729                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0906d6df682ef3b1cbbe117907c0b995" title="Automatic culling state.">AutomaticCullingState</a> = in-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#ac6c51254c9d43cb58cb89866cdd210ed">getAttributeAsInt</a>(<span class="stringliteral">&quot;AutomaticCulling&quot;</span>);
<a name="l00730"></a>00730 
<a name="l00731"></a>00731             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a223a66d82d1c56e5f3730aeb9f83589c" title="Flag if debug data should be drawn, such as Bounding Boxes.">DebugDataVisible</a> = in-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#ac6c51254c9d43cb58cb89866cdd210ed">getAttributeAsInt</a>(<span class="stringliteral">&quot;DebugDataVisible&quot;</span>);
<a name="l00732"></a>00732             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a8f1ba7c5e77eecc2adc6d12df0d27dd6" title="Is debug object?">IsDebugObject</a> = in-&gt;<a class="code" href="classirr_1_1io_1_1_i_attributes.html#a197407f5b0f1d0c1aefab3e1b8d7c02d">getAttributeAsBool</a>(<span class="stringliteral">&quot;IsDebugObject&quot;</span>);
<a name="l00733"></a>00733 
<a name="l00734"></a>00734             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aeb6e0dc034bb2101600ce87acbcf0f6e" title="Updates the absolute position based on the relative and the parents position.">updateAbsolutePosition</a>();
<a name="l00735"></a>00735         }
<a name="l00736"></a>00736 
<a name="l00738"></a>00738 
<a name="l00741"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ac39832b55855dc59196053adbaec95cc">00741</a>         <span class="keyword">virtual</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html" title="Scene node interface.">ISceneNode</a>* <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ac39832b55855dc59196053adbaec95cc" title="Creates a clone of this scene node and its children.">clone</a>(<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html" title="Scene node interface.">ISceneNode</a>* newParent=0, <a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html" title="The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.">ISceneManager</a>* newManager=0)
<a name="l00742"></a>00742         {
<a name="l00743"></a>00743             <span class="keywordflow">return</span> 0; <span class="comment">// to be implemented by derived classes</span>
<a name="l00744"></a>00744         }
<a name="l00745"></a>00745 
<a name="l00747"></a>00747 
<a name="l00748"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a58d2c91b48c9fe5c64a7de0c801ca511">00748</a>         <span class="keyword">virtual</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html" title="The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.">ISceneManager</a>* <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a58d2c91b48c9fe5c64a7de0c801ca511" title="Retrieve the scene manager for this node.">getSceneManager</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a062a201ee9b870398fe5aa8f36ce54a5" title="Pointer to the scene manager.">SceneManager</a>; }
<a name="l00749"></a>00749 
<a name="l00750"></a>00750     <span class="keyword">protected</span>:
<a name="l00751"></a>00751 
<a name="l00753"></a>00753 
<a name="l00757"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a00a4ef0212b5d4b005202519859689bd">00757</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a00a4ef0212b5d4b005202519859689bd" title="A clone function for the ISceneNode members.">cloneMembers</a>(<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html" title="Scene node interface.">ISceneNode</a>* toCopyFrom, <a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html" title="The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.">ISceneManager</a>* newManager)
<a name="l00758"></a>00758         {
<a name="l00759"></a>00759             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2527ec038f7e400fc141efa7fdc6327b" title="Name of the scene node.">Name</a> = toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2527ec038f7e400fc141efa7fdc6327b" title="Name of the scene node.">Name</a>;
<a name="l00760"></a>00760             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aab7d4bc865d0c7ccf361515a154a8cf0" title="Absolute transformation of the node.">AbsoluteTransformation</a> = toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aab7d4bc865d0c7ccf361515a154a8cf0" title="Absolute transformation of the node.">AbsoluteTransformation</a>;
<a name="l00761"></a>00761             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d8af3d0185a787209b7be576a411281" title="Relative translation of the scene node.">RelativeTranslation</a> = toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d8af3d0185a787209b7be576a411281" title="Relative translation of the scene node.">RelativeTranslation</a>;
<a name="l00762"></a>00762             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a83fef4c36dcab69bbf94cf6e3e1323e1" title="Relative rotation of the scene node.">RelativeRotation</a> = toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a83fef4c36dcab69bbf94cf6e3e1323e1" title="Relative rotation of the scene node.">RelativeRotation</a>;
<a name="l00763"></a>00763             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a76e41eb5e7a5baf51350ec627a458a3d" title="Relative scale of the scene node.">RelativeScale</a> = toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a76e41eb5e7a5baf51350ec627a458a3d" title="Relative scale of the scene node.">RelativeScale</a>;
<a name="l00764"></a>00764             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a001b5cf9866fae4092b9b2cc89f3ebef" title="ID of the node.">ID</a> = toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a001b5cf9866fae4092b9b2cc89f3ebef" title="ID of the node.">ID</a>;
<a name="l00765"></a>00765             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a87fb52ec54bf3ae117340d8defd1255f" title="Sets the triangle selector of the scene node.">setTriangleSelector</a>(toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad622b3f366243e146b3b4cbe81b468ab" title="Pointer to the triangle selector.">TriangleSelector</a>);
<a name="l00766"></a>00766             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0906d6df682ef3b1cbbe117907c0b995" title="Automatic culling state.">AutomaticCullingState</a> = toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0906d6df682ef3b1cbbe117907c0b995" title="Automatic culling state.">AutomaticCullingState</a>;
<a name="l00767"></a>00767             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a223a66d82d1c56e5f3730aeb9f83589c" title="Flag if debug data should be drawn, such as Bounding Boxes.">DebugDataVisible</a> = toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a223a66d82d1c56e5f3730aeb9f83589c" title="Flag if debug data should be drawn, such as Bounding Boxes.">DebugDataVisible</a>;
<a name="l00768"></a>00768             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa834128c57215457914ef46d9b18cc5e" title="Is the node visible?">IsVisible</a> = toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa834128c57215457914ef46d9b18cc5e" title="Is the node visible?">IsVisible</a>;
<a name="l00769"></a>00769             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a8f1ba7c5e77eecc2adc6d12df0d27dd6" title="Is debug object?">IsDebugObject</a> = toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a8f1ba7c5e77eecc2adc6d12df0d27dd6" title="Is debug object?">IsDebugObject</a>;
<a name="l00770"></a>00770 
<a name="l00771"></a>00771             <span class="keywordflow">if</span> (newManager)
<a name="l00772"></a>00772                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a062a201ee9b870398fe5aa8f36ce54a5" title="Pointer to the scene manager.">SceneManager</a> = newManager;
<a name="l00773"></a>00773             <span class="keywordflow">else</span>
<a name="l00774"></a>00774                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a062a201ee9b870398fe5aa8f36ce54a5" title="Pointer to the scene manager.">SceneManager</a> = toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a062a201ee9b870398fe5aa8f36ce54a5" title="Pointer to the scene manager.">SceneManager</a>;
<a name="l00775"></a>00775 
<a name="l00776"></a>00776             <span class="comment">// clone children</span>
<a name="l00777"></a>00777 
<a name="l00778"></a>00778             ISceneNodeList::Iterator it = toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#aebd05a0f5e5ead6e1d5b6e3973da8039" title="Gets first node.">begin</a>();
<a name="l00779"></a>00779             <span class="keywordflow">for</span> (; it != toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#aa80509dac5224fa57cc548e39480a115" title="Gets end node.">end</a>(); ++it)
<a name="l00780"></a>00780                 (*it)-&gt;clone(<span class="keyword">this</span>, newManager);
<a name="l00781"></a>00781 
<a name="l00782"></a>00782             <span class="comment">// clone animators</span>
<a name="l00783"></a>00783 
<a name="l00784"></a>00784             ISceneNodeAnimatorList::Iterator ait = toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>.<a class="code" href="classirr_1_1core_1_1list.html#aebd05a0f5e5ead6e1d5b6e3973da8039" title="Gets first node.">begin</a>();
<a name="l00785"></a>00785             <span class="keywordflow">for</span> (; ait != toCopyFrom-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>.<a class="code" href="classirr_1_1core_1_1list.html#aa80509dac5224fa57cc548e39480a115" title="Gets end node.">end</a>(); ++ait)
<a name="l00786"></a>00786             {
<a name="l00787"></a>00787                 <a class="code" href="classirr_1_1scene_1_1_i_scene_node_animator.html" title="Animates a scene node. Can animate position, rotation, material, and so on.">ISceneNodeAnimator</a>* anim = (*ait)-&gt;<a class="code" href="classirr_1_1scene_1_1_i_scene_node_animator.html#a9cc261c12459fc7d3da6c2595d721c0d" title="Creates a clone of this animator.">createClone</a>(<span class="keyword">this</span>, <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a062a201ee9b870398fe5aa8f36ce54a5" title="Pointer to the scene manager.">SceneManager</a>);
<a name="l00788"></a>00788                 <span class="keywordflow">if</span> (anim)
<a name="l00789"></a>00789                 {
<a name="l00790"></a>00790                     <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0e5cd342cd7293c136e53e2c2c5e0f3a" title="Adds an animator which should animate this node.">addAnimator</a>(anim);
<a name="l00791"></a>00791                     anim-&gt;<a class="code" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">drop</a>();
<a name="l00792"></a>00792                 }
<a name="l00793"></a>00793             }
<a name="l00794"></a>00794         }
<a name="l00795"></a>00795 
<a name="l00798"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a513d09ae37f71391d7c4838e29164a3e">00798</a>         <span class="keywordtype">void</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a513d09ae37f71391d7c4838e29164a3e">setSceneManager</a>(<a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html" title="The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.">ISceneManager</a>* newManager)
<a name="l00799"></a>00799         {
<a name="l00800"></a>00800             <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a062a201ee9b870398fe5aa8f36ce54a5" title="Pointer to the scene manager.">SceneManager</a> = newManager;
<a name="l00801"></a>00801 
<a name="l00802"></a>00802             ISceneNodeList::Iterator it = <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#aebd05a0f5e5ead6e1d5b6e3973da8039" title="Gets first node.">begin</a>();
<a name="l00803"></a>00803             <span class="keywordflow">for</span> (; it != <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>.<a class="code" href="classirr_1_1core_1_1list.html#aa80509dac5224fa57cc548e39480a115" title="Gets end node.">end</a>(); ++it)
<a name="l00804"></a>00804                 (*it)-&gt;setSceneManager(newManager);
<a name="l00805"></a>00805         }
<a name="l00806"></a>00806 
<a name="l00808"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2527ec038f7e400fc141efa7fdc6327b">00808</a>         <a class="code" href="classirr_1_1core_1_1string.html">core::stringc</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a2527ec038f7e400fc141efa7fdc6327b" title="Name of the scene node.">Name</a>;
<a name="l00809"></a>00809 
<a name="l00811"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aab7d4bc865d0c7ccf361515a154a8cf0">00811</a>         <a class="code" href="classirr_1_1core_1_1_c_matrix4.html" title="4x4 matrix. Mostly used as transformation matrix for 3d calculations.">core::matrix4</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aab7d4bc865d0c7ccf361515a154a8cf0" title="Absolute transformation of the node.">AbsoluteTransformation</a>;
<a name="l00812"></a>00812 
<a name="l00814"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d8af3d0185a787209b7be576a411281">00814</a>         <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d8af3d0185a787209b7be576a411281" title="Relative translation of the scene node.">RelativeTranslation</a>;
<a name="l00815"></a>00815 
<a name="l00817"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a83fef4c36dcab69bbf94cf6e3e1323e1">00817</a>         <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a83fef4c36dcab69bbf94cf6e3e1323e1" title="Relative rotation of the scene node.">RelativeRotation</a>;
<a name="l00818"></a>00818 
<a name="l00820"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a76e41eb5e7a5baf51350ec627a458a3d">00820</a>         <a class="code" href="classirr_1_1core_1_1vector3d.html">core::vector3df</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a76e41eb5e7a5baf51350ec627a458a3d" title="Relative scale of the scene node.">RelativeScale</a>;
<a name="l00821"></a>00821 
<a name="l00823"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a145c14ca15ce98bea683a36142f1b045">00823</a>         <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html" title="Scene node interface.">ISceneNode</a>* <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a145c14ca15ce98bea683a36142f1b045" title="Pointer to the parent.">Parent</a>;
<a name="l00824"></a>00824 
<a name="l00826"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948">00826</a>         <a class="code" href="classirr_1_1core_1_1list.html">core::list&lt;ISceneNode*&gt;</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a1d6404800155442b600553efcd9d7948" title="List of all children of this node.">Children</a>;
<a name="l00827"></a>00827 
<a name="l00829"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348">00829</a>         <a class="code" href="classirr_1_1core_1_1list.html">core::list&lt;ISceneNodeAnimator*&gt;</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a80dce48a13d9bdc6466613f27a33f348" title="List of all animator nodes.">Animators</a>;
<a name="l00830"></a>00830 
<a name="l00832"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a062a201ee9b870398fe5aa8f36ce54a5">00832</a>         <a class="code" href="classirr_1_1scene_1_1_i_scene_manager.html" title="The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.">ISceneManager</a>* <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a062a201ee9b870398fe5aa8f36ce54a5" title="Pointer to the scene manager.">SceneManager</a>;
<a name="l00833"></a>00833 
<a name="l00835"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad622b3f366243e146b3b4cbe81b468ab">00835</a>         <a class="code" href="classirr_1_1scene_1_1_i_triangle_selector.html" title="Interface to return triangles with specific properties.">ITriangleSelector</a>* <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#ad622b3f366243e146b3b4cbe81b468ab" title="Pointer to the triangle selector.">TriangleSelector</a>;
<a name="l00836"></a>00836 
<a name="l00838"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a001b5cf9866fae4092b9b2cc89f3ebef">00838</a>         <a class="code" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6" title="32 bit signed variable.">s32</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a001b5cf9866fae4092b9b2cc89f3ebef" title="ID of the node.">ID</a>;
<a name="l00839"></a>00839 
<a name="l00841"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0906d6df682ef3b1cbbe117907c0b995">00841</a>         <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a0906d6df682ef3b1cbbe117907c0b995" title="Automatic culling state.">AutomaticCullingState</a>;
<a name="l00842"></a>00842 
<a name="l00844"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a223a66d82d1c56e5f3730aeb9f83589c">00844</a>         <a class="code" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804" title="32 bit unsigned variable.">u32</a> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a223a66d82d1c56e5f3730aeb9f83589c" title="Flag if debug data should be drawn, such as Bounding Boxes.">DebugDataVisible</a>;
<a name="l00845"></a>00845 
<a name="l00847"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa834128c57215457914ef46d9b18cc5e">00847</a>         <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#aa834128c57215457914ef46d9b18cc5e" title="Is the node visible?">IsVisible</a>;
<a name="l00848"></a>00848 
<a name="l00850"></a><a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a8f1ba7c5e77eecc2adc6d12df0d27dd6">00850</a>         <span class="keywordtype">bool</span> <a class="code" href="classirr_1_1scene_1_1_i_scene_node.html#a8f1ba7c5e77eecc2adc6d12df0d27dd6" title="Is debug object?">IsDebugObject</a>;
<a name="l00851"></a>00851     };
<a name="l00852"></a>00852 
<a name="l00853"></a>00853 
<a name="l00854"></a>00854 } <span class="comment">// end namespace scene</span>
<a name="l00855"></a>00855 } <span class="comment">// end namespace irr</span>
<a name="l00856"></a>00856 
<a name="l00857"></a>00857 <span class="preprocessor">#endif</span>
<a name="l00858"></a>00858 <span class="preprocessor"></span>
</pre></div></div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="_i_scene_node_8h.html">ISceneNode.h</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht 
Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Sun Nov 17 2013 20:18:40 for Irrlicht 3D Engine by
<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>