Profile
- Name
- Freeze Inverter 1.0
- ID
- 103385
- Shared with
- Public
- Parent
- Band Inverter 1.0
- Children
- None
- Created on
- April 09, 2020 at 16:20 PM UTC
- Updated on
- April 09, 2020 at 16:20 PM UTC
- Description
Freezes everything that's unfrozen and unfreezes everything that's frozen.
Best for
Code
--[[
* Freeze Inverter
* Original Author: Migi
* Version 1.0 April 9, 2020
* freeze what's unfrozen, unfreeze what's frozen
]]--
version = '1.0'
title = 'Freeze Inverter v'..version
print ( title )
nSegments = structure.GetCount ( )
initiallySelectedSegments = {}
bbShouldBeFrozen = {}
ssShouldBeFrozen = {}
for ii = 1, nSegments do
table.insert(initiallySelectedSegments, selection.IsSelected( ii ))
local frzback, frzside = freeze.IsFrozen ( ii )
table.insert(bbShouldBeFrozen, not frzback)
table.insert(ssShouldBeFrozen, not frzside)
end
freeze.UnfreezeAll()
selection.DeselectAll()
for ii = 1, nSegments do
if bbShouldBeFrozen[ii] and ssShouldBeFrozen[ii] then
selection.Select( ii )
end
end
freeze.FreezeSelected( true, true )
selection.DeselectAll()
for ii = 1, nSegments do
if bbShouldBeFrozen[ii] and not ssShouldBeFrozen[ii] then
selection.Select( ii )
end
end
freeze.FreezeSelected( true, false )
selection.DeselectAll()
for ii = 1, nSegments do
if not bbShouldBeFrozen[ii] and ssShouldBeFrozen[ii] then
selection.Select( ii )
end
end
freeze.FreezeSelected( false, true )
selection.DeselectAll()
for ii = 1, nSegments do
if initiallySelectedSegments[ii] then
selection.Select( ii )
end
end
print ( 'Done' )