Normand Briere
2019-07-21 d32f24f147068e6cbecb31c7f98047f68bc8b58a
Object3D.java
....@@ -29,7 +29,7 @@
2929 Object3D saveskeleton;
3030 //
3131
32
- byte[] versions[] = new byte[100][];
32
+ byte[] versions[];
3333 int versionindex = -1;
3434
3535 ScriptNode scriptnode;
....@@ -426,6 +426,7 @@
426426 }
427427
428428 boolean live = false;
429
+ transient boolean keepdontselect;
429430 boolean dontselect = false;
430431 boolean hide = false;
431432 boolean link2master = false; // performs reset support/master at each frame
....@@ -5420,6 +5421,51 @@
54205421 blockloop = false;
54215422 }
54225423
5424
+ void ResetSelectable()
5425
+ {
5426
+ if (blockloop)
5427
+ return;
5428
+
5429
+ blockloop = true;
5430
+
5431
+ keepdontselect = dontselect;
5432
+ dontselect = true;
5433
+
5434
+ Object3D child;
5435
+ int nb = Size();
5436
+ for (int i = 0; i < nb; i++)
5437
+ {
5438
+ child = (Object3D) get(i);
5439
+ if (child == null)
5440
+ continue;
5441
+ child.ResetSelectable();
5442
+ }
5443
+
5444
+ blockloop = false;
5445
+ }
5446
+
5447
+ void RestoreSelectable()
5448
+ {
5449
+ if (blockloop)
5450
+ return;
5451
+
5452
+ blockloop = true;
5453
+
5454
+ dontselect = keepdontselect;
5455
+
5456
+ Object3D child;
5457
+ int nb = Size();
5458
+ for (int i = 0; i < nb; i++)
5459
+ {
5460
+ child = (Object3D) get(i);
5461
+ if (child == null)
5462
+ continue;
5463
+ child.RestoreSelectable();
5464
+ }
5465
+
5466
+ blockloop = false;
5467
+ }
5468
+
54235469 boolean IsSelected()
54245470 {
54255471 if (parent == null)
....@@ -5729,6 +5775,27 @@
57295775 }
57305776 }
57315777
5778
+ void EmbedTextures()
5779
+ {
5780
+ if (blockloop)
5781
+ return;
5782
+
5783
+ CameraPane.EmbedTextures(texture);
5784
+
5785
+ int nb = Size();
5786
+ for (int i = 0; i < nb; i++)
5787
+ {
5788
+ Object3D child = (Object3D) get(i);
5789
+
5790
+ if (child == null)
5791
+ continue;
5792
+
5793
+ blockloop = true;
5794
+ child.EmbedTextures();
5795
+ blockloop = false;
5796
+ }
5797
+ }
5798
+
57325799 void draw(iCameraPane display, Object3D /*Composite*/ root, boolean selected, boolean blocked)
57335800 {
57345801 Draw(display, root, selected, blocked);