From de4f66e0239a736bce24e09c9a0b49b5bb92d84b Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Tue, 23 Jul 2019 02:41:35 -0400 Subject: [PATCH] Min shader. --- Object3D.java | 80 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 79 insertions(+), 1 deletions(-) diff --git a/Object3D.java b/Object3D.java index 94907db..1b9b4c0 100644 --- a/Object3D.java +++ b/Object3D.java @@ -29,7 +29,7 @@ Object3D saveskeleton; // - byte[] versions[] = new byte[100][]; + byte[] versions[]; int versionindex = -1; ScriptNode scriptnode; @@ -426,6 +426,7 @@ } boolean live = false; + transient boolean keepdontselect; boolean dontselect = false; boolean hide = false; boolean link2master = false; // performs reset support/master at each frame @@ -5420,6 +5421,51 @@ blockloop = false; } + void ResetSelectable() + { + if (blockloop) + return; + + blockloop = true; + + keepdontselect = dontselect; + dontselect = true; + + Object3D child; + int nb = Size(); + for (int i = 0; i < nb; i++) + { + child = (Object3D) get(i); + if (child == null) + continue; + child.ResetSelectable(); + } + + blockloop = false; + } + + void RestoreSelectable() + { + if (blockloop) + return; + + blockloop = true; + + dontselect = keepdontselect; + + Object3D child; + int nb = Size(); + for (int i = 0; i < nb; i++) + { + child = (Object3D) get(i); + if (child == null) + continue; + child.RestoreSelectable(); + } + + blockloop = false; + } + boolean IsSelected() { if (parent == null) @@ -5729,6 +5775,38 @@ } } + void EmbedTextures(boolean embed) + { + if (blockloop) + return; + + //if (GetTextures() != null) + if (embed) + CameraPane.EmbedTextures(GetTextures()); + else + { + GetTextures().pigmentdata = null; + GetTextures().bumpdata = null; + GetTextures().pw = 0; + GetTextures().ph = 0; + GetTextures().bw = 0; + GetTextures().bh = 0; + } + + int nb = Size(); + for (int i = 0; i < nb; i++) + { + Object3D child = (Object3D) get(i); + + if (child == null) + continue; + + blockloop = true; + child.EmbedTextures(embed); + blockloop = false; + } + } + void draw(iCameraPane display, Object3D /*Composite*/ root, boolean selected, boolean blocked) { Draw(display, root, selected, blocked); -- Gitblit v1.6.2