Search in sources :

Example 1 with PropertyModel

use of org.jwildfire.create.tina.dance.model.PropertyModel in project JWildfire by thargor6.

the class FlamePropertiesTreeService method refreshFlamePropertiesTree.

public void refreshFlamePropertiesTree(JTree pFlamePropertiesTree, DancingFlameProject pProject) {
    FlamePropertiesTreeNode<Object> root = new FlamePropertiesTreeNode<Object>("Flames", null, true);
    for (Flame flame : pProject.getFlames()) {
        FlamePropertiesTreeNode<Flame> flameNode = new FlamePropertiesTreeNode<Flame>(getFlameCaption(flame), flame, true);
        PropertyModel model = AnimationModelService.createModel(flame);
        addNodesToTree(model, flameNode);
        root.add(flameNode);
    }
    pFlamePropertiesTree.setModel(new DefaultTreeModel(root));
}
Also used : PropertyModel(org.jwildfire.create.tina.dance.model.PropertyModel) DefaultTreeModel(javax.swing.tree.DefaultTreeModel) Flame(org.jwildfire.create.tina.base.Flame)

Example 2 with PropertyModel

use of org.jwildfire.create.tina.dance.model.PropertyModel in project JWildfire by thargor6.

the class FlamePropertiesTreeService method refreshFlamePropertiesTree.

public void refreshFlamePropertiesTree(JTree pFlamePropertiesTree, Flame pFlame) {
    FlamePropertiesTreeNode<Object> root = new FlamePropertiesTreeNode<Object>("Flames", null, true);
    if (pFlame != null) {
        FlamePropertiesTreeNode<Flame> flameNode = new FlamePropertiesTreeNode<Flame>(getFlameCaption(pFlame), pFlame, true);
        PropertyModel model = AnimationModelService.createModel(pFlame);
        addNodesToTree(model, flameNode);
        root.add(flameNode);
        pFlamePropertiesTree.setModel(new DefaultTreeModel(root));
    }
}
Also used : PropertyModel(org.jwildfire.create.tina.dance.model.PropertyModel) DefaultTreeModel(javax.swing.tree.DefaultTreeModel) Flame(org.jwildfire.create.tina.base.Flame)

Example 3 with PropertyModel

use of org.jwildfire.create.tina.dance.model.PropertyModel in project JWildfire by thargor6.

the class FlamePropertiesTreeService method addNodesToTree.

@SuppressWarnings({ "rawtypes", "unchecked" })
private void addNodesToTree(PropertyModel pModel, FlamePropertiesTreeNode<?> pParentNode) {
    for (PropertyModel subNode : pModel.getChields()) {
        FlamePropertiesTreeNode child = new FlamePropertiesTreeNode(subNode.getName(), subNode, true);
        pParentNode.add(child);
        addNodesToTree(subNode, child);
    }
    for (PlainProperty property : pModel.getProperties()) {
        FlamePropertiesTreeNode<?> child = new FlamePropertiesTreeNode(property.getName(), property, false);
        pParentNode.add(child);
    }
}
Also used : PlainProperty(org.jwildfire.create.tina.dance.model.PlainProperty) PropertyModel(org.jwildfire.create.tina.dance.model.PropertyModel)

Example 4 with PropertyModel

use of org.jwildfire.create.tina.dance.model.PropertyModel in project JWildfire by thargor6.

the class DefaultMotionCreator method createMotions.

@Override
public void createMotions(DancingFlameProject pProject) {
    pProject.getMotions().clear();
    FFTMotion amp0 = new FFTMotion();
    amp0.setFftChannel(0);
    amp0.setAmplitude(-7.0);
    FFTMotion amp1 = new FFTMotion();
    amp1.setFftChannel(1);
    amp1.setAmplitude(-0.5);
    FFTMotion amp2 = new FFTMotion();
    amp2.setFftChannel(2);
    amp2.setAmplitude(-0.5);
    FFTMotion amp3 = new FFTMotion();
    amp3.setFftChannel(3);
    amp3.setAmplitude(-2.0);
    FFTMotion amp4 = new FFTMotion();
    amp4.setFftChannel(4);
    amp4.setAmplitude(0.25);
    FFTMotion amp5 = new FFTMotion();
    amp5.setFftChannel(5);
    amp5.setAmplitude(-0.25);
    FFTMotion amp7 = new FFTMotion();
    amp7.setFftChannel(47);
    amp7.setAmplitude(5.0);
    FFTMotion amp8 = new FFTMotion();
    amp8.setFftChannel(48);
    amp8.setAmplitude(-0.75);
    FFTMotion amp9 = new FFTMotion();
    amp9.setFftChannel(49);
    amp9.setAmplitude(0.5);
    FFTMotion amp10 = new FFTMotion();
    amp10.setFftChannel(50);
    amp10.setAmplitude(3.0);
    FFTMotion amp11 = new FFTMotion();
    amp11.setFftChannel(51);
    amp11.setAmplitude(0.25);
    FFTMotion amp12 = new FFTMotion();
    amp12.setFftChannel(52);
    amp12.setAmplitude(0.25);
    FFTMotion amp14 = new FFTMotion();
    amp14.setFftChannel(2);
    amp14.setAmplitude(0.25);
    amp14.setOffset(1.0);
    pProject.getMotions().add(amp0);
    pProject.getMotions().add(amp1);
    pProject.getMotions().add(amp2);
    pProject.getMotions().add(amp3);
    pProject.getMotions().add(amp4);
    pProject.getMotions().add(amp5);
    pProject.getMotions().add(amp7);
    pProject.getMotions().add(amp8);
    pProject.getMotions().add(amp9);
    pProject.getMotions().add(amp10);
    pProject.getMotions().add(amp11);
    pProject.getMotions().add(amp12);
    pProject.getMotions().add(amp14);
    for (Flame flame : pProject.getFlames()) {
        PropertyModel model = AnimationModelService.createModel(flame);
        for (int layerIdx = 0; layerIdx < flame.getLayers().size(); layerIdx++) {
            Layer layer = flame.getLayers().get(layerIdx);
            if (layer.getXForms().size() > 0) {
                addXFormLink(model, amp0, flame, layerIdx, 0, AnimationModelService.PROPNAME_ANGLE);
                addXFormLink(model, amp1, flame, layerIdx, 0, AnimationModelService.PROPNAME_ORIGIN_X);
                addXFormLink(model, amp2, flame, layerIdx, 0, AnimationModelService.PROPNAME_ORIGIN_Y);
            }
            if (layer.getXForms().size() > 1) {
                addXFormLink(model, amp3, flame, layerIdx, 1, AnimationModelService.PROPNAME_ANGLE);
                addXFormLink(model, amp4, flame, layerIdx, 1, AnimationModelService.PROPNAME_ORIGIN_X);
                addXFormLink(model, amp5, flame, layerIdx, 1, AnimationModelService.PROPNAME_ORIGIN_Y);
            }
            if (layer.getXForms().size() > 2) {
                addXFormLink(model, amp7, flame, layerIdx, 2, AnimationModelService.PROPNAME_ANGLE);
                addXFormLink(model, amp8, flame, layerIdx, 2, AnimationModelService.PROPNAME_ORIGIN_X);
                addXFormLink(model, amp9, flame, layerIdx, 2, AnimationModelService.PROPNAME_ORIGIN_Y);
            }
            if (layer.getXForms().size() > 3) {
                addXFormLink(model, amp10, flame, layerIdx, 3, AnimationModelService.PROPNAME_ANGLE);
                addXFormLink(model, amp11, flame, layerIdx, 3, AnimationModelService.PROPNAME_ORIGIN_X);
                addXFormLink(model, amp12, flame, layerIdx, 3, AnimationModelService.PROPNAME_ORIGIN_Y);
            }
            if (layer.getFinalXForms().size() > 0) {
                addFinalXFormLink(model, amp14, flame, layerIdx, 0, AnimationModelService.PROPNAME_ZOOM);
            }
        }
    }
}
Also used : PropertyModel(org.jwildfire.create.tina.dance.model.PropertyModel) Layer(org.jwildfire.create.tina.base.Layer) Flame(org.jwildfire.create.tina.base.Flame)

Aggregations

PropertyModel (org.jwildfire.create.tina.dance.model.PropertyModel)4 Flame (org.jwildfire.create.tina.base.Flame)3 DefaultTreeModel (javax.swing.tree.DefaultTreeModel)2 Layer (org.jwildfire.create.tina.base.Layer)1 PlainProperty (org.jwildfire.create.tina.dance.model.PlainProperty)1