change simple transition model

added klb transition models
added debugging output
This commit is contained in:
toni
2017-04-18 11:18:37 +02:00
parent 1f6df67010
commit fdbd984584
7 changed files with 190 additions and 226 deletions

View File

@@ -34,7 +34,8 @@ struct Plotti {
K::GnuplotSplotElementLines pStairs;
K::GnuplotSplotElementPoints pAPs;
K::GnuplotSplotElementPoints pInterest;
K::GnuplotSplotElementPoints pParticles;
K::GnuplotSplotElementPoints pParticles1;
K::GnuplotSplotElementPoints pParticles2;
K::GnuplotSplotElementPoints pNormal1;
K::GnuplotSplotElementPoints pNormal2;
K::GnuplotSplotElementColorPoints pDistributation1;
@@ -51,7 +52,8 @@ struct Plotti {
splot.add(&pColorPoints); pColorPoints.setPointSize(0.6);
splot.add(&pDistributation1); pDistributation1.setPointSize(0.6);
splot.add(&pDistributation2); pDistributation2.setPointSize(0.6);
splot.add(&pParticles); pParticles.setColorHex("#0000ff"); pParticles.setPointSize(0.4f);
splot.add(&pParticles1); pParticles1.setColorHex("#0000ff"); pParticles1.setPointSize(0.4f);
splot.add(&pParticles2); pParticles2.setColorHex("#ff00ff"); pParticles2.setPointSize(0.4f);
splot.add(&pNormal1); pNormal1.setColorHex("#ff00ff"); pNormal1.setPointSize(0.4f);
splot.add(&pNormal2); pNormal2.setColorHex("#00aaff"); pNormal2.setPointSize(0.4f);
splot.add(&pFloor);
@@ -295,16 +297,26 @@ struct Plotti {
}
}
template <typename State> void addParticles(const std::vector<K::Particle<State>>& particles) {
pParticles.clear();
template <typename State> void addParticles1(const std::vector<K::Particle<State>>& particles) {
pParticles1.clear();
int i = 0;
for (const K::Particle<State>& p : particles) {
if (++i % 25 != 0) {continue;}
K::GnuplotPoint3 pos(p.state.position.x_cm, p.state.position.y_cm, p.state.position.z_cm);
pParticles.add(pos / 100.0f);
pParticles1.add(pos / 100.0f);
}
}
template <typename State> void addParticles2(const std::vector<K::Particle<State>>& particles) {
pParticles2.clear();
int i = 0;
for (const K::Particle<State>& p : particles) {
if (++i % 25 != 0) {continue;}
K::GnuplotPoint3 pos(p.state.position.x_cm, p.state.position.y_cm, p.state.position.z_cm);
pParticles2.add(pos / 100.0f);
}
}
void show() {
gp.draw(splot);
gp.flush();