|
From: <de...@us...> - 2012-05-25 17:57:16
|
Revision: 7238
http://fudaa.svn.sourceforge.net/fudaa/?rev=7238&view=rev
Author: deniger
Date: 2012-05-25 17:57:09 +0000 (Fri, 25 May 2012)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrPostSourceAbstract.java
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrPostSourceRubar.java
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedExpr.java
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedMoins.java
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedPlus.java
trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedRubarBathy.java
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrPostSourceAbstract.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrPostSourceAbstract.java 2012-05-25 17:29:59 UTC (rev 7237)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrPostSourceAbstract.java 2012-05-25 17:57:09 UTC (rev 7238)
@@ -103,7 +103,7 @@
/**
* Un modele pour les pas de temps.
- *
+ *
* @author Fred Deniger
* @version $Id: TrPostSourceAbstract.java,v 1.52 2007-06-28 09:28:18 deniger Exp $
*/
@@ -115,7 +115,7 @@
@Override
public Object getElementAt(final int _index) {
- return (fleches_ == null || _index >= fleches_.length) ? null : fleches_[_index];
+ return (fleches_ == null || _index >= fleches_.length || _index < 0) ? null : fleches_[_index];
}
@Override
@@ -131,7 +131,7 @@
/**
* Un modele pour les pas de temps.
- *
+ *
* @author Fred Deniger
* @version $Id: TrPostSourceAbstract.java,v 1.52 2007-06-28 09:28:18 deniger Exp $
*/
@@ -185,7 +185,7 @@
}
final H2dVariableType vChanged = (H2dVariableType) e.getKey();
fireVariableChanged(vChanged, vChanged, true, false, TrPostDataHelper.getAllVarDependingOn(fr,
- TrPostSourceAbstract.this));
+ TrPostSourceAbstract.this));
}
}
}
@@ -244,61 +244,38 @@
public static String getPrefNameValue(final H2dVariableType _t) {
return "palette.min.var." + _t.getShortName() + ".val";
}
-
boolean close_;
-
File dbTmpFile_;
-
// final File f_;
-
FlecheListModel flecheModel_;
-
protected TrPostFlecheContent[] fleches_;
-
EfGridInterface g_;
-
Variable gravite_;
-
CtuluUI impl_;
-
TrPostDataInfoDoc info_;
-
protected boolean inspected_;
-
EfGridDataInterpolator interpolator_;
-
GISPrecision precision_;
-
private final Map shortNameCreateVar_ = new HashMap();
-
TrPostTimeModel time_;
-
protected final String title_;
-
protected ObjectContainer tmpContainer_;
-
Map varCreateData_;
-
/**
* Les variables utilisees.
*/
H2dVariableType[] variable_;
-
List varListener_;
-
VariableListModel varModel_;
-
Map varUserCreateData_;
-
InterpolationVectorContainer vectors_;
-
private String id_;
protected TrPostSourceAbstract(final String _titre, final EfGridInterface _g, final double[] _time,
- final CtuluUI _impl) {
+ final CtuluUI _impl) {
title_ = _titre;
gravite_ = new VariableFactory().createVariable("g", CtuluLib.getDouble(TrPreferences.TR.getDoubleProperty(
- "tr.gravity.value", 9.81)));
+ "tr.gravity.value", 9.81)));
gravite_.addObserver(new VariableObserver());
time_ = new TrPostTimeModel();
time_.setTimeSteps(_time);
@@ -317,16 +294,19 @@
}
@Override
- public void activate() {}
+ public void activate() {
+ }
protected final void addFroud(final Map _l) {
- if (getInitDataIndex("FROUDE") != null) { return; }
+ if (getInitDataIndex("FROUDE") != null) {
+ return;
+ }
// les variables h,u et v doivent etre d\xE9finies
if ((isInitVar(H2dVariableType.HAUTEUR_EAU) || _l.containsKey(H2dVariableType.HAUTEUR_EAU))
&& (isInitVar(H2dVariableType.VITESSE_U) || _l.containsKey(H2dVariableType.VITESSE_U))
&& (isInitVar(H2dVariableType.VITESSE_V) || _l.containsKey(H2dVariableType.VITESSE_V))) {
final H2dVariableTypeCreated c = H2dVariableType.createTempVar(H2dResource.getS("Nombre de Froude"), "froude",
- shortNameCreateVar_);
+ shortNameCreateVar_);
_l.put(c, new TrPostDataCreatedFroud(this));
}
@@ -335,23 +315,28 @@
protected void addOtherVariables(final Map _l, final Map _fleche) {
addFroud(_l);
}
-
+
@Override
public long getReferenceDateInMillis() {
return 0;
}
@Override
- public void addSpecificItemInMainMenu(final BuMenu _m, final TrPostCommonImplementation _impl) {}
+ public void addSpecificItemInMainMenu(final BuMenu _m, final TrPostCommonImplementation _impl) {
+ }
@Override
public final void addUserVar(final H2dVariableTypeCreated[] _t, final TrPostDataCreated[] _cr,
- final CtuluCommandContainer _cmd) {
- if (_t == null || _t.length == 0) { return; }
+ final CtuluCommandContainer _cmd) {
+ if (_t == null || _t.length == 0) {
+ return;
+ }
buildUserVarMap();
final Set newList = new HashSet(_t.length + variable_.length);
newList.addAll(Arrays.asList(variable_));
- if (!newList.addAll(Arrays.asList(_t))) { return; }
+ if (!newList.addAll(Arrays.asList(_t))) {
+ return;
+ }
List newFleche = null;
for (int i = _t.length - 1; i >= 0; i--) {
varUserCreateData_.put(_t[i], _cr[i]);
@@ -400,7 +385,6 @@
public void undo() {
removeUserVar(_t, null);
}
-
});
}
@@ -438,7 +422,7 @@
if (isInitVar(H2dVariableType.VITESSE_U)) {
if (isInitVar(H2dVariableType.VITESSE_V)) {
final TrPostFlecheContent vec = createSimpleVecteurContent(H2dVariableType.VITESSE, H2dVariableType.VITESSE_U,
- H2dVariableType.VITESSE_V, containsOnlyElementVar());
+ H2dVariableType.VITESSE_V, containsOnlyElementVar());
nameFleche.put(H2dVariableType.VITESSE, vec);
if (!isInitVar(H2dVariableType.VITESSE)) {
@@ -449,7 +433,7 @@
if (isInitVar(H2dVariableType.DEBIT_X)) {
if (isInitVar(H2dVariableType.DEBIT_Y)) {
final TrPostFlecheContent vec = createSimpleVecteurContent(H2dVariableType.DEBIT, H2dVariableType.DEBIT_X,
- H2dVariableType.DEBIT_Y, containsOnlyElementVar());
+ H2dVariableType.DEBIT_Y, containsOnlyElementVar());
nameFleche.put(H2dVariableType.DEBIT, vec);
if (!isInitVar(H2dVariableType.DEBIT)) {
varCreateData_.put(H2dVariableType.DEBIT, vec);
@@ -460,13 +444,12 @@
if (!isInitVar(H2dVariableType.COTE_EAU)) {
if (isInitVar(H2dVariableType.BATHYMETRIE) && isInitVar(H2dVariableType.HAUTEUR_EAU)) {
varCreateData_.put(H2dVariableType.COTE_EAU, new TrPostDataCreatedPlus(this, H2dVariableType.BATHYMETRIE,
- H2dVariableType.HAUTEUR_EAU));
+ H2dVariableType.HAUTEUR_EAU));
}
- }
- // sinon on cree la hauteur d'eau
+ } // sinon on cree la hauteur d'eau
else if (!isInitVar(H2dVariableType.HAUTEUR_EAU) && isInitVar(H2dVariableType.BATHYMETRIE)) {
varCreateData_.put(H2dVariableType.HAUTEUR_EAU, new TrPostDataCreatedMoins(this, H2dVariableType.COTE_EAU,
- H2dVariableType.BATHYMETRIE));
+ H2dVariableType.BATHYMETRIE));
}
Collection<H2dVariableType> vars = getInitVar();
if (vars != null) {
@@ -511,7 +494,9 @@
protected final void changeUserVar(final H2dVariableTypeCreated _old, final H2dVariableTypeCreated _new) {
if (_old != null && _new != null && isUserCreatedVar(_old)) {
final int i = CtuluLibArray.findObjectEgalEgal(variable_, _old);
- if (i < 0) { return; }
+ if (i < 0) {
+ return;
+ }
_old.removeShortName(getShortNameCreateVar());
getShortNameCreateVar().put(_new.getShortName(), _new);
if (!varUserCreateData_.containsKey(_old)) {
@@ -527,7 +512,9 @@
}
protected final void clearInterpolator() {
- if (interpolator_ != null) interpolator_.getVect().clear();
+ if (interpolator_ != null) {
+ interpolator_.getVect().clear();
+ }
}
@Override
@@ -548,7 +535,7 @@
protected TrPostDataMinMaxGlobalItem computeMinMax(final H2dVariableType _variable, final ProgressionInterface _prog) {
final ProgressionUpdater up = createUpdaterForMinMax(_variable);
final TrPostExtremVisitor visitor = new TrPostExtremVisitor(containsOnlyElementVar() ? getGrid().getEltNb()
- : getGrid().getPtsNb());
+ : getGrid().getPtsNb());
for (int i = getNbTimeStep() - 1; i >= 0; i--) {
final EfData d = getData(_variable, i);
visitor.setCurrentTime(getTimeStep(i));
@@ -569,7 +556,7 @@
* @return le conteneur du vecteur
*/
public final TrPostFlecheContent createSimpleVecteurContent(final H2dVariableType _name, final H2dVariableType _idxX,
- final H2dVariableType _idxY, final boolean _isElt) {
+ final H2dVariableType _idxY, final boolean _isElt) {
return new TrPostFlecheContentDefaut(this, _name, _idxX, _idxY);
}
@@ -598,7 +585,7 @@
}
private void fillAllValuesFrom(final InfoData _m, final int _element, final double _x, final double _y,
- final int _time) {
+ final int _time) {
if (_element >= 0) {
_m.put("X", CtuluLib.DEFAULT_NUMBER_FORMAT.format(_x));
_m.put("Y", CtuluLib.DEFAULT_NUMBER_FORMAT.format(_y));
@@ -611,7 +598,7 @@
@Override
public void fillInterpolateInfo(final InfoData _m, final int _element, final double _x, final double _y,
- final int _time, final String _layerTitle) {
+ final int _time, final String _layerTitle) {
// TODO a remplacer par isVolumique
if (containsOnlyElementVar()) {
fillVolumiqueInterpolateInfo(_m, _element, _x, _y, _time, _layerTitle);
@@ -621,12 +608,12 @@
if (selection != null && selection.isOnlyOnIndexSelected()) {
int maxIndex = selection.getMaxIndex();
_m.setTitle("-- " + TrResource.getS("Valeurs au noeud") + CtuluLibString.getEspaceString(maxIndex + 1)
- + (_layerTitle == null ? CtuluLibString.EMPTY_STRING : CtuluLibString.ESPACE + _layerTitle) + " --");
+ + (_layerTitle == null ? CtuluLibString.EMPTY_STRING : CtuluLibString.ESPACE + _layerTitle) + " --");
fillAllValuesFrom(_m, maxIndex, getGrid().getPtX(maxIndex), getGrid().getPtY(maxIndex), _time);
} else {
_m.setTitle("-- " + TrResource.getS("Interpolation")
- + (_layerTitle == null ? CtuluLibString.EMPTY_STRING : CtuluLibString.ESPACE + _layerTitle) + " --");
+ + (_layerTitle == null ? CtuluLibString.EMPTY_STRING : CtuluLibString.ESPACE + _layerTitle) + " --");
if (_element >= 0) {
_m.put("X", CtuluLib.DEFAULT_NUMBER_FORMAT.format(_x));
_m.put("Y", CtuluLib.DEFAULT_NUMBER_FORMAT.format(_y));
@@ -634,8 +621,9 @@
final EfGridDataInterpolator interpolator = getInterpolator();
for (int i = 0; i < variable_.length; i++) {
try {
- _m.put(variable_[i].getName(), CtuluLib.DEFAULT_NUMBER_FORMAT.format(interpolator.interpolate(_element, _x,
- _y, variable_[i], _time)));
+ _m.put(variable_[i].getName(),
+ CtuluLib.DEFAULT_NUMBER_FORMAT.format(interpolator.interpolate(_element, _x,
+ _y, variable_[i], _time)));
} catch (final IOException _evt) {
FuLog.error(_evt);
_m.put(variable_[i].getName(), "ERROR");
@@ -647,10 +635,9 @@
}
public void fillVolumiqueInterpolateInfo(final InfoData _m, final int _element, final double _x, final double _y,
- final int _time, final String _layerTitle) {
- _m
- .setTitle("-- " + TrResource.getS("Valeurs sur l'\xE9l\xE9ment") + CtuluLibString.getEspaceString(_element + 1)
- + " --");
+ final int _time, final String _layerTitle) {
+ _m.setTitle("-- " + TrResource.getS("Valeurs sur l'\xE9l\xE9ment") + CtuluLibString.getEspaceString(_element + 1)
+ + " --");
fillAllValuesFrom(_m, _element, _x, _y, _time);
}
@@ -684,7 +671,7 @@
}
protected final void fireVariableChanged(final H2dVariableType _old, final H2dVariableType _new,
- final boolean _dataChanged, final boolean _isVect, final Set _varDepending) {
+ final boolean _dataChanged, final boolean _isVect, final Set _varDepending) {
if (_dataChanged) {
updateCache(_new);
if (_varDepending != null) {
@@ -744,7 +731,7 @@
final VariableFactory fact = new VariableFactory();
final Variable pi = fact.createVariable("pi", CtuluLib.getDouble(Math.PI));
final Variable e = fact.createVariable("e", CtuluLib.getDouble(Math.E));
- return new Variable[] { gravite_, pi, e };
+ return new Variable[]{gravite_, pi, e};
}
public final TrPostDataCreated getCreatedVar(final H2dVariableType _t) {
@@ -763,21 +750,34 @@
@Override
public EfData getData(final H2dVariableType _variable, final int _timeStep) {
- if (_timeStep < 0) { return null; }
- if (isInitVar(_variable)) return getInitData(_variable, _timeStep);
- if (isCreatedVar(_variable)) { return ((TrPostDataCreated) varCreateData_.get(_variable)).getDataFor(_timeStep); }
- if (isUserCreatedVar(_variable)) { return ((TrPostDataCreated) varUserCreateData_.get(_variable))
- .getDataFor(_timeStep); }
+ if (_timeStep < 0) {
+ return null;
+ }
+ if (isInitVar(_variable)) {
+ return getInitData(_variable, _timeStep);
+ }
+ if (isCreatedVar(_variable)) {
+ return ((TrPostDataCreated) varCreateData_.get(_variable)).getDataFor(_timeStep);
+ }
+ if (isUserCreatedVar(_variable)) {
+ return ((TrPostDataCreated) varUserCreateData_.get(_variable)).getDataFor(_timeStep);
+ }
return null;
}
@Override
public double getData(final H2dVariableType _variable, final int _timeStep, final int _idxPt) throws IOException {
- if (isInitVar(_variable)) return getInitData(_variable, _timeStep, _idxPt);
- if (isCreatedVar(_variable)) { return ((TrPostDataCreated) varCreateData_.get(_variable)).getValue(_timeStep,
- _idxPt); }
- if (isUserCreatedVar(_variable)) { return ((TrPostDataCreated) varUserCreateData_.get(_variable)).getValue(
- _timeStep, _idxPt); }
+ if (isInitVar(_variable)) {
+ return getInitData(_variable, _timeStep, _idxPt);
+ }
+ if (isCreatedVar(_variable)) {
+ return ((TrPostDataCreated) varCreateData_.get(_variable)).getValue(_timeStep,
+ _idxPt);
+ }
+ if (isUserCreatedVar(_variable)) {
+ return ((TrPostDataCreated) varUserCreateData_.get(_variable)).getValue(
+ _timeStep, _idxPt);
+ }
return -1;
}
@@ -803,10 +803,9 @@
// public final File getFile() {
// return f_;
// }
-
@Override
public final CtuluRange getExtrema(final CtuluRange _r, final H2dVariableType _variable, final EfFilter _cond,
- final ProgressionInterface _prog) {
+ final ProgressionInterface _prog) {
if (_variable == null) {
if (_r != null) {
_r.setToNill();
@@ -860,8 +859,10 @@
*/
@Override
public final CtuluRange getExtremaForTimeStep(final CtuluRange _r, final H2dVariableType _variable, final int _time,
- final EfFilter _cond) {
- if (_variable == null) { return new CtuluRange(); }
+ final EfFilter _cond) {
+ if (_variable == null) {
+ return new CtuluRange();
+ }
CtuluRange range = _r;
if (range == null) {
range = new CtuluRange();
@@ -869,7 +870,9 @@
_r.setToNill();
}
final EfData d = getData(_variable, _time);
- if (d == null) { return null; }
+ if (d == null) {
+ return null;
+ }
return EfLib.getMinMax(d, range, _cond);
}
@@ -877,7 +880,9 @@
public final TrPostFlecheContent getFlecheContent(final H2dVariableType _t) {
if (fleches_ != null) {
for (int i = fleches_.length - 1; i >= 0; i--) {
- if (fleches_[i].getVar() == _t) { return fleches_[i]; }
+ if (fleches_[i].getVar() == _t) {
+ return fleches_[i];
+ }
}
}
return null;
@@ -895,18 +900,22 @@
* @return la variable utilisee pour le nombre de froude. null si non utilisee.
*/
protected final H2dVariableTypeCreated getFroudVar() {
- if (varCreateData_ == null) { return null; }
+ if (varCreateData_ == null) {
+ return null;
+ }
final String name = "froude";
for (final Iterator it = varCreateData_.keySet().iterator(); it.hasNext();) {
final H2dVariableType t = (H2dVariableType) it.next();
- if (name.equals(t.getShortName())) { return (H2dVariableTypeCreated) t; }
+ if (name.equals(t.getShortName())) {
+ return (H2dVariableTypeCreated) t;
+ }
}
return null;
}
@Override
public final TrPostDataMinMaxGlobalItem getGlobalExtrema(final H2dVariableType _variable,
- final ProgressionInterface _prog) {
+ final ProgressionInterface _prog) {
if (_variable == null) {
FuLog.warning("TRP: _var null");
return null;
@@ -918,7 +927,9 @@
if (s.size() > 1) {
FuLog.warning(new Throwable());
deleteAll(s);
- } else if (s.size() == 1) { return (TrPostDataMinMaxGlobalItem) s.next(); }
+ } else if (s.size() == 1) {
+ return (TrPostDataMinMaxGlobalItem) s.next();
+ }
}
initBd();
final TrPostDataMinMaxGlobalItem r = computeMinMax(_variable, _prog);
@@ -961,14 +972,15 @@
// initVarIdx_.get(_t); }
// return -1;
// }
-
public abstract double getInitData(H2dVariableType _varIdx, int _timeIdx, int _ptIdx) throws IOException;
protected final H2dVariableType getInitDataIndex(final String _varName) {
Collection<H2dVariableType> vars = getInitVar();
if (vars != null) {
for (H2dVariableType variableType : vars) {
- if (variableType.getName().equals(_varName)) { return variableType; }
+ if (variableType.getName().equals(_varName)) {
+ return variableType;
+ }
}
}
return null;
@@ -980,13 +992,17 @@
@Override
public final EfGridDataInterpolator getInterpolator() {
- if (interpolator_ == null) interpolator_ = new EfGridDataInterpolator(this, createVectorInterpolation());
+ if (interpolator_ == null) {
+ interpolator_ = new EfGridDataInterpolator(this, createVectorInterpolation());
+ }
return interpolator_;
}
@Override
public final boolean[] getMinPaletteActived(final H2dVariableType[] _v) {
- if (_v == null) { return null; }
+ if (_v == null) {
+ return null;
+ }
final boolean[] r = new boolean[_v.length];
for (int i = _v.length - 1; i >= 0; i--) {
r[i] = isDefaultPaletteMinValueDefined(_v[i]);
@@ -1001,7 +1017,9 @@
@Override
public final double[] getMinPaletteValues(final H2dVariableType[] _v) {
- if (_v == null) { return null; }
+ if (_v == null) {
+ return null;
+ }
final double[] r = new double[_v.length];
for (int i = _v.length - 1; i >= 0; i--) {
r[i] = getDefaultPaletteMinValueFor(_v[i]);
@@ -1090,12 +1108,14 @@
@Override
public String getFormatedTitle() {
return TrLib.formatName(getTitle()) + " | " + TrResource.getS("Fichier") + ": "
- + TrLib.formatFichier(getMainFile());
+ + TrLib.formatFichier(getMainFile());
}
@Override
public final H2dVariableType[] getUserCreatedVar() {
- if (varUserCreateData_ == null) { return new H2dVariableType[0]; }
+ if (varUserCreateData_ == null) {
+ return new H2dVariableType[0];
+ }
final H2dVariableType[] res = new H2dVariableType[varUserCreateData_.size()];
varUserCreateData_.keySet().toArray(res);
return res;
@@ -1109,7 +1129,9 @@
public final H2dVariableType getVarForShortName(final String _var) {
if (variable_ != null) {
for (int i = variable_.length - 1; i >= 0; i--) {
- if (variable_[i].getShortName().equals(_var)) { return variable_[i]; }
+ if (variable_[i].getShortName().equals(_var)) {
+ return variable_[i];
+ }
}
}
return null;
@@ -1117,7 +1139,9 @@
@Override
public final H2dVariableType getVariable(final int _idx) {
- if (_idx >= variable_.length || _idx < 0) { return null; }
+ if (_idx >= variable_.length || _idx < 0) {
+ return null;
+ }
return variable_[_idx];
}
@@ -1159,7 +1183,9 @@
if (tmpContainer_ == null) {
final File dbFile = getDbFile();
final String err = CtuluLibFile.canWrite(dbFile);
- if (err != null) { return err; }
+ if (err != null) {
+ return err;
+ }
tmpContainer_ = Db4o.openFile(dbFile.getAbsolutePath());
}
return null;
@@ -1171,8 +1197,8 @@
if (err != null) {
_analyze.setDesc(TrResource.getS("Sauvegarde des donn\xE9es"));
final String mess = TrResource.getS("Les sauvegardes ne seront pas effectu\xE9es") + CtuluLibString.LINE_SEP
- + TrResource.getS("Le fichier de sauvegarde {0} ne peut pas \xEAtre acc\xE9der:", getDbFile().getName())
- + CtuluLibString.LINE_SEP + err;
+ + TrResource.getS("Le fichier de sauvegarde {0} ne peut pas \xEAtre acc\xE9der:", getDbFile().getName())
+ + CtuluLibString.LINE_SEP + err;
_analyze.addError(mess, -1);
}
}
@@ -1191,7 +1217,7 @@
* @return true si operation reussie
*/
public final boolean interpolate(final H2dVariableType[] _t, final int _time, final double[] _values,
- final int _elementIdx, final double _x, final double _y) {
+ final int _elementIdx, final double _x, final double _y) {
final EfGridDataInterpolator interpolator = getInterpolator();
for (int i = _t.length - 1; i >= 0; i--) {
try {
@@ -1262,7 +1288,9 @@
*/
@Override
public final boolean isMinMaxCompute(final H2dVariableType _var) {
- if (tmpContainer_ == null) { return false; }
+ if (tmpContainer_ == null) {
+ return false;
+ }
final Query q = tmpContainer_.query();
TrPostDataMinMaxGlobalItem.updateQueryFor(q, _var.getShortName());
return q.execute().size() == 1;
@@ -1277,7 +1305,9 @@
@Override
public boolean isOpened(final File _f) {
- if (_f == null) { return false; }
+ if (_f == null) {
+ return false;
+ }
return getFiles().contains(_f);
}
@@ -1304,7 +1334,9 @@
public final int isVectVar(final H2dVariableType _var) {
if (fleches_ != null) {
for (int i = fleches_.length - 1; i >= 0; i--) {
- if (fleches_[i].getVar().equals(_var)) { return i; }
+ if (fleches_[i].getVar().equals(_var)) {
+ return i;
+ }
}
}
return -1;
@@ -1335,7 +1367,9 @@
@Override
public final void removeMinMax(final String _var) {
- if (tmpContainer_ == null) { return; }
+ if (tmpContainer_ == null) {
+ return;
+ }
final Query q = tmpContainer_.query();
TrPostDataMinMaxGlobalItem.updateQueryFor(q, _var);
final ObjectSet s = q.execute();
@@ -1346,12 +1380,16 @@
@Override
public final void removeUserVar(final H2dVariableTypeCreated[] _t, final CtuluCommandContainer _cmd) {
- if (varUserCreateData_ == null) { return; }
+ if (varUserCreateData_ == null) {
+ return;
+ }
if (_t != null) {
final List toRemove = Arrays.asList(_t);
final List varToKeep = new ArrayList(Arrays.asList(variable_));
// si rien n'a ete enleve on retourne
- if (!varToKeep.removeAll(toRemove)) { return; }
+ if (!varToKeep.removeAll(toRemove)) {
+ return;
+ }
// on teste les vecteurs
List flecheToRemove = null;
List flecheVarToRemove = null;
@@ -1388,8 +1426,7 @@
fireVariableRemoved(_t, false);
fireVarListModelChanged();
if (flecheToRemove != null) {
- fireVariableRemoved((H2dVariableType[]) flecheVarToRemove
- .toArray(new H2dVariableType[flecheVarToRemove.size()]), true);
+ fireVariableRemoved((H2dVariableType[]) flecheVarToRemove.toArray(new H2dVariableType[flecheVarToRemove.size()]), true);
fireFlecheListModelChanged();
}
if (_cmd != null) {
@@ -1404,7 +1441,6 @@
public void undo() {
addUserVar(_t, cr, null);
}
-
});
}
@@ -1431,7 +1467,9 @@
@Override
public final void saveIn(final ObjectContainer _db, final ProgressionInterface _prog) {
- if (_db == null) { return; }
+ if (_db == null) {
+ return;
+ }
_db.set(info_);
if (tmpContainer_ != null) {
final Query q = tmpContainer_.query();
@@ -1471,7 +1509,6 @@
// protected String generateId() {
// return CtuluLibGenerator.getInstance().deliverUniqueStringId();
// }
-
// protected void setInitVar(final H2dVariableType[] _v) {
// initVar_ =
// _v==null?Collections.EMPTY_LIST:Collections.unmodifiableCollection(Arrays.asList(_v));
@@ -1481,7 +1518,6 @@
// }
//
// }
-
public final void setInspected(final boolean _inspected) {
inspected_ = _inspected;
}
@@ -1505,7 +1541,7 @@
@Override
public final void updateUserValue(final H2dVariableTypeCreated _old, final H2dVariableTypeCreated _new,
- final TrPostDataCreated _newData, final CtuluCommandContainer _cmd) {
+ final TrPostDataCreated _newData, final CtuluCommandContainer _cmd) {
// on change la formule si necessaire, puis la variable
if (!isUserCreatedVar(_old)) {
FuLog.warning("TRP: var not created " + _old);
@@ -1514,7 +1550,9 @@
final TrPostDataCreated oldExpr = getUserCreatedVar(_old);
final boolean isFormuleChanged = _newData != null && !_newData.equals(oldExpr);
// pas de changement !
- if (!isFormuleChanged && (_new == _old)) { return; }
+ if (!isFormuleChanged && (_new == _old)) {
+ return;
+ }
if (isFormuleChanged) {
varUserCreateData_.put(_old, _newData);
}
@@ -1527,7 +1565,7 @@
}
fireVariableChanged(_old, _new, isFormuleChanged, false, TrPostDataHelper.getAllVarDependingOn(_old,
- TrPostSourceAbstract.this));
+ TrPostSourceAbstract.this));
if (_cmd != null) {
_cmd.addCmd(new CtuluCommand() {
@@ -1569,5 +1607,4 @@
public List<TrPostSource> getUsedSources() {
return Collections.emptyList();
}
-
}
\ No newline at end of file
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrPostSourceRubar.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrPostSourceRubar.java 2012-05-25 17:29:59 UTC (rev 7237)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/TrPostSourceRubar.java 2012-05-25 17:57:09 UTC (rev 7238)
@@ -43,8 +43,6 @@
import org.fudaa.dodico.dico.DicoParams;
import org.fudaa.dodico.ef.EfData;
import org.fudaa.dodico.ef.EfDataElement;
-import org.fudaa.dodico.ef.EfElement;
-import org.fudaa.dodico.h2d.rubar.H2dRubarDonneesBrutes.NuagePoint;
import org.fudaa.dodico.h2d.rubar.H2dRubarGridAreteSource;
import org.fudaa.dodico.h2d.rubar.H2dRubarOuvrageContainer;
import org.fudaa.dodico.h2d.type.H2dVariableType;
@@ -66,7 +64,6 @@
import com.memoire.bu.BuMenu;
import com.memoire.fu.FuLog;
-import gnu.trove.TDoubleArrayList;
import org.fudaa.dodico.ef.EfDataNode;
import org.fudaa.dodico.rubar.io.RubarDFZResult;
@@ -296,25 +293,11 @@
private synchronized EfData getInitDataZFN(final int _timeIdx) {
if (_timeIdx != zfnTimeStep_) {
try {
- if (zfnValues_ == null) {
- zfnValues_ = new double[g_.getEltNb()];
- }
final double[][] initValues = getBathyValues(_timeIdx);
if (initValues == null) {
return null;
}
- double[] vals = null;
- for (int ielt = zfnValues_.length - 1; ielt >= 0; ielt--) {
- final EfElement e = g_.getElement(ielt);
- if ((vals == null) || vals.length != e.getPtNb()) {
- vals = new double[e.getPtNb()];
- }
- for (int i = vals.length - 1; i >= 0; i--) {
- vals[i] = initValues[0][e.getPtIndex(i)];
- }
- zfnValues_[ielt] = CtuluLibArray.getMoyenne(vals);
-
- }
+ zfnValues_ = initValues[0];
} catch (final IOException _e) {
if (!inspected_) {
impl_.error(CtuluUIAbstract.getDefaultErrorTitle(), _e.getMessage(), false);
@@ -324,9 +307,15 @@
}
zfnTimeStep_ = _timeIdx;
}
- return new EfDataElement(CtuluLibArray.copy(zfnValues_));
+ return new EfDataNode(CtuluLibArray.copy(zfnValues_));
}
+ /**
+ *
+ * @param _timeIdx
+ * @return tableau de double dont le 2 est de la taille du nombre de points.
+ * @throws IOException
+ */
double[][] getBathyValues(final int _timeIdx) throws IOException {
final double[][] initValues = new double[1][g_.getPtsNb()];
if (zfnReader_ == null) {
@@ -351,33 +340,27 @@
return initValues;
}
- private synchronized double getInitDataZFN(final int _timeIdx, final int _idxElt) {
+ private synchronized double getInitDataZFN(final int _timeIdx, final int idxPt) {
if (_timeIdx == zfnTimeStep_) {
- return zfnValues_[_idxElt];
+ return zfnValues_[idxPt];
}
try {
- final EfElement e = super.g_.getElement(_idxElt);
- final double[] vals = new double[e.getPtNb()];
if (!useEnvTime_ || (exposeTimeInitTime_ == null) || (exposeTimeInitTime_.containsKey(_timeIdx))) {
int idxTime = _timeIdx;
if (exposeTimeInitTime_ != null) {
idxTime = exposeTimeInitTime_.get(_timeIdx);
}
- for (int i = vals.length - 1; i >= 0; i--) {
- vals[i] = zfnReader_.read(0, idxTime, e.getPtIndex(i));
- }
+ double valeur = zfnReader_.read(0, idxTime, idxPt);
+ return valeur;
} else {
final TrPostSourceRubarMaxContainer c = getMaxContainer(_timeIdx);
if (c == null) {
return -1;
}
- for (int i = vals.length - 1; i >= 0; i--) {
- vals[i] = c.getValueZFN(e.getPtIndex(i), zfnReader_);
- }
+ return c.getValueZFN(idxPt, zfnReader_);
}
- return CtuluLibArray.getMoyenne(vals);
} catch (final IOException _e) {
if (!inspected_) {
impl_.error(CtuluUIAbstract.getDefaultErrorTitle(), _e.getMessage(), false);
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedExpr.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedExpr.java 2012-05-25 17:29:59 UTC (rev 7237)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedExpr.java 2012-05-25 17:57:09 UTC (rev 7238)
@@ -37,14 +37,15 @@
import com.memoire.fu.FuLog;
import java.util.concurrent.Future;
+import org.fudaa.dodico.ef.EfLib;
/**
* @author Fred Deniger
* @version $Id: TrPostDataCreatedExpr.java,v 1.6 2007-04-16 16:35:32 deniger Exp $
*/
public final class TrPostDataCreatedExpr implements TrPostDataCreated {
+
private static final ExecutorService EXECUTOR_SERVICE = Executors.newCachedThreadPool();
-
String formule;
private final transient TrPostSource src_;
String[] usedVar_;
@@ -79,7 +80,6 @@
initFrom(_from);
}
-
public TrPostDataCreatedExpr createCopy(final TrPostSource _src) {
return new TrPostDataCreatedExpr(_src, this);
}
@@ -211,16 +211,28 @@
}
}
-
@Override
public EfData getDataFor(final int _idxTime) {
- final double[] res = new double[src_.containsOnlyElementVar() ? src_.getGrid().getEltNb() : src_.getGrid().getPtsNb()];
+
final EfData[] ds = new EfData[usedVar_.length];
// on enregistre les donnees pour chaque variable necessaire.
+ boolean isElem = false;
for (int i = usedVar_.length - 1; i >= 0; i--) {
ds[i] = src_.getData(var_[i], _idxTime);
+ if (ds[i].isElementData()) {
+ isElem = true;
+ }
}
+ if (isElem) {
+ for (int i = 0; i < ds.length; i++) {
+ if (!ds[i].isElementData()) {
+ ds[i] = EfLib.getElementDataDanger(ds[i], src_.getGrid());
+ }
+ }
+ }
+
+ final double[] res = new double[isElem ? src_.getGrid().getEltNb() : src_.getGrid().getPtsNb()];
if (res.length < 100) {
return getDataSimpleFor(_idxTime, res, ds);
}
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedMoins.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedMoins.java 2012-05-25 17:29:59 UTC (rev 7237)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedMoins.java 2012-05-25 17:57:09 UTC (rev 7238)
@@ -15,6 +15,7 @@
import org.fudaa.dodico.ef.EfData;
import org.fudaa.dodico.ef.EfDataElement;
import org.fudaa.dodico.ef.EfDataNode;
+import org.fudaa.dodico.ef.EfLib;
import org.fudaa.dodico.h2d.type.H2dVariableType;
import org.fudaa.fudaa.tr.post.TrPostSource;
@@ -54,10 +55,22 @@
@Override
public EfData buildDataFor(final int _idxTime) {
- final EfData v1Data = src_.getData(v1_, _idxTime);
- final EfData v2Data = src_.getData(v2_, _idxTime);
- if (v1Data == null || v2Data == null) { return null; }
- if (v2Data.getSize() != v1Data.getSize()) { throw new IllegalArgumentException("values sizes are not equal"); }
+ EfData v1Data = src_.getData(v1_, _idxTime);
+ EfData v2Data = src_.getData(v2_, _idxTime);
+ if (v1Data.isElementData() != v2Data.isElementData()) {
+ if (!v1Data.isElementData()) {
+ v1Data = EfLib.getElementDataDanger(v1Data, src_.getGrid());
+ }
+ if (!v2Data.isElementData()) {
+ v2Data = EfLib.getElementDataDanger(v2Data, src_.getGrid());
+ }
+ }
+ if (v1Data == null || v2Data == null) {
+ return null;
+ }
+ if (v2Data.getSize() != v1Data.getSize()) {
+ throw new IllegalArgumentException("values sizes are not equal");
+ }
final double[] plusRes = new double[v1Data.getSize()];
for (int i = plusRes.length - 1; i >= 0; i--) {
plusRes[i] = v1Data.getValue(i) - v2Data.getValue(i);
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedPlus.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedPlus.java 2012-05-25 17:29:59 UTC (rev 7237)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedPlus.java 2012-05-25 17:57:09 UTC (rev 7238)
@@ -15,6 +15,7 @@
import org.fudaa.dodico.ef.EfData;
import org.fudaa.dodico.ef.EfDataElement;
import org.fudaa.dodico.ef.EfDataNode;
+import org.fudaa.dodico.ef.EfLib;
import org.fudaa.dodico.h2d.type.H2dVariableType;
import org.fudaa.fudaa.tr.post.TrPostSource;
@@ -61,10 +62,22 @@
@Override
public EfData buildDataFor(final int _idxTime) {
- final EfData v1Data = src_.getData(v1_, _idxTime);
- final EfData v2Data = src_.getData(v2_, _idxTime);
- if (v1Data == null || v2Data == null) { return null; }
- if (v2Data.getSize() != v1Data.getSize()) { throw new IllegalArgumentException("values sizes are not equal"); }
+ EfData v1Data = src_.getData(v1_, _idxTime);
+ EfData v2Data = src_.getData(v2_, _idxTime);
+ if (v1Data.isElementData() != v2Data.isElementData()) {
+ if (!v1Data.isElementData()) {
+ v1Data = EfLib.getElementDataDanger(v1Data, src_.getGrid());
+ }
+ if (!v2Data.isElementData()) {
+ v2Data = EfLib.getElementDataDanger(v2Data, src_.getGrid());
+ }
+ }
+ if (v1Data == null || v2Data == null) {
+ return null;
+ }
+ if (v2Data.getSize() != v1Data.getSize()) {
+ throw new IllegalArgumentException("values sizes are not equal");
+ }
final double[] plusRes = new double[v1Data.getSize()];
for (int i = plusRes.length - 1; i >= 0; i--) {
plusRes[i] = v1Data.getValue(i) + v2Data.getValue(i);
Modified: trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedRubarBathy.java
===================================================================
--- trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedRubarBathy.java 2012-05-25 17:29:59 UTC (rev 7237)
+++ trunk/soft/fudaa-prepro/ui/src/main/java/org/fudaa/fudaa/tr/post/data/TrPostDataCreatedRubarBathy.java 2012-05-25 17:57:09 UTC (rev 7238)
@@ -11,6 +11,7 @@
import org.fudaa.dodico.ef.EfData;
import org.fudaa.dodico.ef.EfDataElement;
+import org.fudaa.dodico.ef.EfDataNode;
import org.fudaa.dodico.ef.EfElement;
import org.fudaa.dodico.ef.EfGridInterface;
import org.fudaa.dodico.h2d.type.H2dVariableType;
@@ -25,19 +26,11 @@
@Override
public double buildDataFor(final int _idxTime, final int _idxObject) {
final EfGridInterface grid = src_.getGrid();
- final EfElement elt = grid.getElement(_idxObject);
- double bathy = 0;
- final double nb = elt.getPtNb();
- for (int i = elt.getPtNb() - 1; i >= 0; i--) {
- bathy = bathy + grid.getPtZ(elt.getPtIndex(i)) / nb;
-
- }
- return bathy;
+ return grid.getPtZ(_idxObject);
}
@Override
public void fillWhithAllUsedVar(final Set _res) {
-
}
@Override
@@ -48,16 +41,10 @@
@Override
public EfData buildDataFor(final int _idxTime) {
final EfGridInterface grid = src_.getGrid();
- final double[] bathy = new double[grid.getEltNb()];
+ final double[] bathy = new double[grid.getPtsNb()];
for (int i = bathy.length - 1; i >= 0; i--) {
- double bathyi = 0;
- final EfElement elt = grid.getElement(i);
- final double nb = elt.getPtNb();
- for (int j = elt.getPtNb() - 1; j >= 0; j--) {
- bathyi = bathyi + grid.getPtZ(elt.getPtIndex(j)) / nb;
- }
- bathy[i] = bathyi;
+ bathy[i] = grid.getPtZ(i);
}
- return new EfDataElement(bathy);
+ return new EfDataNode(bathy);
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|