this.xmlAufn.getAufnahme().addNewAusgaben();
}
Kommandozeilenausgaben ausg
= this.xmlAufn.getAufnahme().getAusgaben();
byte[] xmlFeld;
Population aktPop;
Calendar zeit;
String sens;
// Parameterliste:
this.xmlAufn.getAufnahme().setParameterliste(
this.pars.parStrPlain());
// Zeitstempel:
zeit = Calendar.getInstance();
zeit.setTime(this.datum);
this.xmlAufn.getAufnahme().setTimestamp(zeit);
// Kommandozeilenausgaben (danach flushen):
for (AbstractMsg m : this.pars.getMsgs(
null,
Long.MIN_VALUE,
Long.MAX_VALUE)) {
ausg.addNewEinzelzeile();
ausg.getEinzelzeileArray(ausg.getEinzelzeileArray().length - 1)
.setLogStufe(m.getType());
ausg.getEinzelzeileArray(ausg.getEinzelzeileArray().length - 1)
.setText(m.getMessage());
ausg.getEinzelzeileArray(ausg.getEinzelzeileArray().length - 1)
.setWeiteres("" + m.getZusatz());
zeit = Calendar.getInstance();
zeit.setTimeInMillis(m.getDatum());
ausg.getEinzelzeileArray(ausg.getEinzelzeileArray().length - 1)
.setZeitstempel(zeit);
}
this.pars.flushMsgs();
// Feld:
if (this.xmlAufn.getAufnahme().getUmgebung() == null) {
this.xmlAufn.getAufnahme().addNewUmgebung();
int x = this.umgebung.getFeld().length;
int y = this.umgebung.getFeld()[0].length;
this.xmlAufn.getAufnahme().getUmgebung().addNewGroesse();
this.xmlAufn.getAufnahme().getUmgebung().getGroesse().setX(x);
this.xmlAufn.getAufnahme().getUmgebung().getGroesse().setY(y);
byte[][] inpFeld = this.umgebung.getInputFeld();
xmlFeld = new byte[x * y];
for (int i = 0; i < x; i++) {
for (int j = 0; j < y; j++) {
xmlFeld[i * y + j] = inpFeld[i][j];
}
}
try {
this.xmlAufn.getAufnahme().getUmgebung().setFeld(
StaticMethods.compressByteStream(xmlFeld, this.pars));
} catch (Exception e) {
e.printStackTrace();
}
}
// Populationen (danach flushen):
for (PopSnapshot p : this.populationen) {
int popID;
this.xmlAufn.getAufnahme().addNewPopulation();
aktPop = this.xmlAufn.getAufnahme().getPopulationArray(
this.xmlAufn.getAufnahme().getPopulationArray().length - 1);
aktPop.setCycle(p.getId());
popID = this.xmlAufn.getAufnahme().getPopulationArray().length - 1;
aktPop.setID(popID);
// Verschiebung der Gegenst�nde:
if (aktPop.getGegVersch() == null) {
aktPop.addNewGegVersch();
}
for (int i = 0; i < p.getVerschiebungen().length; i++) {
Vector2D aktVersch = p.getVerschiebungen()[i];
aktPop.getGegVersch().addNewVerschiebung();
aktPop.getGegVersch().getVerschiebungArray()[i]
.setX(aktVersch.x);
aktPop.getGegVersch().getVerschiebungArray()[i]
.setY(aktVersch.y);
aktPop.getGegVersch().getVerschiebungArray()[i].setID(i);
}
// Dynamische Wände:
if (aktPop.getDynWaende() == null) {
DynWaendeTyp waende;
DynWandTyp wand;
waende = aktPop.addNewDynWaende();
for (int i = 0; i < p.getTatdynDrehMittPkt().length; i++) {
if (p.getTatdynDrehMittPkt()[i] != null) {
wand = waende.addNewWand();
wand.setID(i);
wand.addNewDynDrehMittelpunkt();
wand.getDynDrehMittelpunkt().setX(
p.getTatdynDrehMittPkt()[i].x);
wand.getDynDrehMittelpunkt().setY(
p.getTatdynDrehMittPkt()[i].y);
wand.addNewDynSkalierung();
wand.getDynSkalierung().setX(
p.getTatdynSkalFaktor()[i].x);
wand.getDynSkalierung().setY(
p.getTatdynSkalFaktor()[i].y);
wand.addNewDynVersch();
wand.getDynVersch().setX(p.getTatdynVersch()[i].x);
wand.getDynVersch().setY(p.getTatdynVersch()[i].y);
wand.setDynDrehWinkel(p.getTatdynDrehWinkel()[i]);
}
}
}
// Roboter:
for (RobSnapshot r : p.getRobSchnapp()) {
Roboter neuRob;
aktPop.addNewRoboter();
neuRob = aktPop
.getRoboterArray(aktPop.getRoboterArray().length - 1);
// ID:
neuRob.setID(r.getId());
neuRob = aktPop
.getRoboterArray(aktPop.getRoboterArray().length - 1);
// Position:
neuRob.addNewPos();
neuRob.getPos().setWinkel(r.getWinkel());
neuRob.getPos().setX(r.getPosition().x);
neuRob.getPos().setY(r.getPosition().y);