Package heronarts.lx.structure
Class LXStructure
java.lang.Object
heronarts.lx.LXComponent
heronarts.lx.structure.LXStructure
- All Implemented Interfaces:
LXPath
,LXSerializable
,LXParameterListener
,LXFixtureContainer
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
Listener interface for the top-level structurestatic interface
Implementation-only interface to relay model changes back to the core LX instance.static enum
Nested classes/interfaces inherited from class heronarts.lx.LXComponent
LXComponent.Hidden, LXComponent.Placeholder, LXComponent.Renamable
Nested classes/interfaces inherited from interface heronarts.lx.LXSerializable
LXSerializable.Utils
-
Field Summary
Modifier and TypeFieldDescriptionfinal BooleanParameter
final BooleanParameter
final StringParameter
final BooleanParameter
final BoundedParameter
final BoundedParameter
final BoundedParameter
final BoundedParameter
final BoundedParameter
final BoundedParameter
final LXStructureOutput
final StringParameter
final BooleanParameter
final BooleanParameter
final LXViewEngine
Fields inherited from class heronarts.lx.LXComponent
children, internalParameters, KEY_CHILDREN, KEY_CLASS, KEY_COMPONENT_ID, KEY_ID, KEY_INTERNAL, KEY_PARAMETER_PATH, KEY_PARAMETERS, KEY_PATH, KEY_RESET, label, legacyInternalParameters, legacyParameters, lx, modulationColor, modulationControlsExpanded, modulationsExpanded, parameters, presetFile
Fields inherited from interface heronarts.lx.LXPath
ROOT, ROOT_PREFIX, ROOT_SLASH
-
Constructor Summary
ConstructorDescriptionLXStructure
(LX lx, LXModel immutable, LXStructure.ModelListener modelListener) -
Method Summary
Modifier and TypeMethodDescriptionaddFixture
(LXFixture fixture) addFixture
(LXFixture fixture, int index) addListener
(LXStructure.Listener listener) adjustSelectedFixtureBrightness
(float delta) enableSelectedFixtures
(boolean enabled) exportModel
(File file) void
exportViews
(File file) void
fixtureGenerationChanged
(LXFixture fixture) The generation of this fixture has changed, its metrics or hierarchy are now different.void
fixtureGeometryChanged
(LXFixture fixture) The geometry of this fixture has changed, its metrics and hierarchy are consistent but the point locations may have changed.void
fixtureOutputChanged
(LXFixture fixture) The output settings of this fixture has changed, the top level structure should re-consolidate all the outputs.void
fixtureTagsChanged
(LXFixture fixture) The tags of this fixture has changed, the container will need to take this into account.getModel()
getPath()
Accessor for the path of this object.identifySelectedFixtures
(boolean identify) importModel
(File file) importViews
(File file) boolean
isDirty()
boolean
void
load
(LX lx, JsonObject obj) Loads the LX component.moveFixture
(LXFixture fixture, int index) void
reload()
removeFixture
(LXFixture fixture) removeFixtures
(List<LXFixture> fixtures) removeListener
(LXStructure.Listener listener) rotateSelectedFixtures
(float theta, float phi) rotateSelectedFixtures
(float theta, float phi, LXCommand.Structure.ModifyFixturePositions action) void
save
(LX lx, JsonObject obj) Serializes the LX component.selectFixture
(LXFixture fixture) selectFixture
(LXFixture fixture, boolean isMultipleSelection) selectFixtureRange
(LXFixture fixture) setStaticModel
(LXModel model) soloFixture
(LXFixture fixture) translateSelectedFixtures
(float tx, float ty, float tz) translateSelectedFixtures
(float tx, float ty, float tz, LXCommand.Structure.ModifyFixturePositions action) Methods inherited from class heronarts.lx.LXComponent
addArray, addChild, addInternalParameter, addLegacyInternalParameter, addLegacyParameter, addParameter, addParameter, addParameters, contains, copyParameters, dispose, getCategory, getChild, getComponentName, getComponentName, getComponentName, getDescription, getId, getLabel, getLX, getOscAddress, getOscLabel, getOscPath, getParameter, getParameters, getParent, handleOscMessage, hasParameter, isValidOscParameter, loadParameters, loadPreset, onParameterChanged, removeParameter, removeParameter, removeParameter, removeParameter, savePreset, setDescription, setParent, toOscQuery, toOscQuery, toOscQuery, toString, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface heronarts.lx.LXPath
getCanonicalLabel, getCanonicalLabel, getCanonicalPath, getCanonicalPath, isDescendant
-
Field Details
-
modelName
-
isStatic
-
syncModelFile
-
outputError
-
allWhite
-
mute
-
normalizationMode
-
normalizationX
-
normalizationY
-
normalizationZ
-
normalizationWidth
-
normalizationHeight
-
normalizationDepth
-
showNormalizationBounds
-
fixtures
-
output
-
views
-
-
Constructor Details
-
LXStructure
-
-
Method Details
-
getPath
Description copied from class:LXComponent
Accessor for the path of this object. Returns the path this component was registered with. Some subclasses may override this if path structure is dynamic.- Specified by:
getPath
in interfaceLXPath
- Overrides:
getPath
in classLXComponent
- Returns:
- path of this component relative to its parent
-
getModelFile
-
getModel
-
addListener
-
removeListener
-
addFixture
-
addFixture
-
moveFixture
-
selectFixtureRange
-
selectAllFixtures
-
selectFixture
-
selectFixture
-
soloFixture
-
getSelectedFixtures
-
removeFixtures
-
removeSelectedFixtures
-
removeFixture
-
translateSelectedFixtures
-
translateSelectedFixtures
public LXStructure translateSelectedFixtures(float tx, float ty, float tz, LXCommand.Structure.ModifyFixturePositions action) -
rotateSelectedFixtures
-
rotateSelectedFixtures
public LXStructure rotateSelectedFixtures(float theta, float phi, LXCommand.Structure.ModifyFixturePositions action) -
adjustSelectedFixtureBrightness
-
enableSelectedFixtures
-
identifySelectedFixtures
-
newDynamicModel
-
setStaticModel
-
fixtureGenerationChanged
Description copied from interface:LXFixtureContainer
The generation of this fixture has changed, its metrics or hierarchy are now different. The container will need to take this into account.- Specified by:
fixtureGenerationChanged
in interfaceLXFixtureContainer
- Parameters:
fixture
- Fixture that has changed
-
fixtureGeometryChanged
Description copied from interface:LXFixtureContainer
The geometry of this fixture has changed, its metrics and hierarchy are consistent but the point locations may have changed.- Specified by:
fixtureGeometryChanged
in interfaceLXFixtureContainer
- Parameters:
fixture
- Fixture that has changed
-
fixtureOutputChanged
Description copied from interface:LXFixtureContainer
The output settings of this fixture has changed, the top level structure should re-consolidate all the outputs.- Specified by:
fixtureOutputChanged
in interfaceLXFixtureContainer
- Parameters:
fixture
- Fixture that has changed
-
fixtureTagsChanged
Description copied from interface:LXFixtureContainer
The tags of this fixture has changed, the container will need to take this into account.- Specified by:
fixtureTagsChanged
in interfaceLXFixtureContainer
- Parameters:
fixture
- Fixture that has changed
-
isExternalModel
public boolean isExternalModel() -
isDirty
public boolean isDirty() -
reload
public void reload() -
load
Description copied from class:LXComponent
Loads the LX component. Restores the ID of the component, as well as its internal and user-facing parameters. Any explicitly registered children will be automatically loaded, so long as they are direct descendants. Dynamic arrays will not be automatically loaded, this is left to subclasses to implement.- Specified by:
load
in interfaceLXSerializable
- Overrides:
load
in classLXComponent
- Parameters:
lx
- LX instanceobj
- Object to deserialize
-
save
Description copied from class:LXComponent
Serializes the LX component. By default, all internal and user-facing parameters are serialized, as well as any explicitly registered child components. Note that child arrays are not serialized, or any other dynamic components. Subclasses may override to perform more saving, and are expected to callsuper.save(lx, obj)
at the appropriate time.- Specified by:
save
in interfaceLXSerializable
- Overrides:
save
in classLXComponent
- Parameters:
lx
- LX instanceobj
- Object to serialize into
-
importModel
-
exportModel
-
exportViews
-
importViews
-