use of org.jwildfire.create.tina.base.XForm in project JWildfire by thargor6.
the class TinaController method nonlinearParamsPriorityChanged.
public void nonlinearParamsPriorityChanged(int pIdx, int pPriority) {
if (cmbRefreshing) {
return;
}
cmbRefreshing = true;
try {
XForm xForm = getCurrXForm();
if (xForm != null) {
saveUndoPoint();
if (pIdx < xForm.getVariationCount()) {
final Variation var = xForm.getVariation(pIdx);
var.setPriority(pPriority);
if (pPriority == 0 || pPriority == 1) {
data.TinaNonlinearControlsRows[pIdx].getNonlinearParamsPreButton().setSelected(false);
}
if (pPriority == 0 || pPriority == -1) {
data.TinaNonlinearControlsRows[pIdx].getNonlinearParamsPostButton().setSelected(false);
}
refreshFlameImage(true, false, 1, true, false);
}
}
} finally {
cmbRefreshing = false;
}
}
use of org.jwildfire.create.tina.base.XForm in project JWildfire by thargor6.
the class TinaController method affineC01REd_changed.
public void affineC01REd_changed() {
if (gridRefreshing || cmbRefreshing) {
return;
}
XForm xForm = getCurrXForm();
if (xForm != null) {
double value = Tools.stringToDouble(data.affineC01REd.getText());
if (data.affineEditPostTransformButton.isSelected()) {
xForm.setPostCoeff01(value);
} else {
xForm.setCoeff01(value);
}
transformationChanged(true);
}
}
use of org.jwildfire.create.tina.base.XForm in project JWildfire by thargor6.
the class TinaController method addLinkedXForm.
public void addLinkedXForm() {
int row = data.transformationsTable.getSelectedRow();
if (row < 0 || row >= getCurrLayer().getXForms().size()) {
return;
}
saveUndoPoint();
addXForm();
int fromId = row;
int toId = getCurrLayer().getXForms().size() - 1;
for (int i = 0; i < getCurrLayer().getXForms().size(); i++) {
XForm xForm = getCurrLayer().getXForms().get(i);
if (i == fromId) {
XForm toXForm = getCurrLayer().getXForms().get(toId);
for (int j = 0; j < getCurrLayer().getXForms().size(); j++) {
toXForm.getModifiedWeights()[j] = xForm.getModifiedWeights()[j];
xForm.getModifiedWeights()[j] = (j == toId) ? 1 : 0;
}
xForm.setDrawMode(DrawMode.HIDDEN);
} else {
xForm.getModifiedWeights()[toId] = 0;
if (i == toId)
xForm.setColorSymmetry(1.0);
}
}
refreshFlameImage(true, false, 1, true, false);
}
use of org.jwildfire.create.tina.base.XForm in project JWildfire by thargor6.
the class TinaController method affineEditPostTransformButton_clicked.
public void affineEditPostTransformButton_clicked() {
if (refreshing) {
return;
}
refreshing = true;
try {
xFormControls.setUpMotionControls();
forceTriangleMode();
XForm xForm = getCurrXForm();
if (flamePanel != null) {
flamePanel.setEditPostTransform(data.affineEditPostTransformButton.isSelected());
}
xFormControls.enableControls(xForm);
refreshXFormUI(xForm);
refreshFlameImage(true, false, 1, false, false);
data.affineEditPostTransformSmallButton.setSelected(data.affineEditPostTransformButton.isSelected());
} finally {
refreshing = false;
}
}
use of org.jwildfire.create.tina.base.XForm in project JWildfire by thargor6.
the class TinaController method nonlinearVarCmbChanged.
public void nonlinearVarCmbChanged(int pIdx) {
if (cmbRefreshing) {
return;
}
boolean oldCmbRefreshing = cmbRefreshing;
cmbRefreshing = true;
try {
XForm xForm = getCurrXForm();
if (xForm != null) {
saveUndoPoint();
String fName = (String) data.TinaNonlinearControlsRows[pIdx].getNonlinearVarCmb().getSelectedItem();
Variation var;
if (pIdx < xForm.getVariationCount()) {
var = xForm.getVariation(pIdx);
if (fName == null || fName.length() == 0) {
xForm.removeVariation(var);
} else {
if (var.getFunc() == null || !var.getFunc().getName().equals(fName)) {
VariationFunc varFunc = VariationFuncList.getVariationFuncInstance(fName);
var.setFunc(varFunc);
var.setPriority(varFunc.getPriority());
}
}
} else {
var = new Variation();
String varStr = data.TinaNonlinearControlsRows[pIdx].getNonlinearVarREd().getText();
if (varStr == null || varStr.length() == 0) {
varStr = "0";
}
VariationFunc varFunc = VariationFuncList.getVariationFuncInstance(fName);
var.setFunc(varFunc);
var.setPriority(varFunc.getPriority());
var.setAmount(Tools.stringToDouble(varStr));
xForm.addVariation(var);
}
refreshParamControls(data.TinaNonlinearControlsRows[pIdx], xForm, var, true);
refreshXFormUI(xForm);
refreshFlameImage(true, false, 1, true, false);
data.transformationsTable.invalidate();
data.transformationsTable.repaint();
}
} finally {
cmbRefreshing = oldCmbRefreshing;
}
}
Aggregations