diff options
author | Jakob Odersky <jodersky@gmail.com> | 2011-04-24 13:31:11 +0000 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2011-04-24 13:31:11 +0000 |
commit | a91ecfe471c4659e65be573e0217c8b72d5fa958 (patch) | |
tree | ddb16859fdd206b5978902f2d965bfc7bc900a94 /src/gui | |
parent | a80f5cb7b3d8e4cf3e48c55895b3ea23a940b8ec (diff) | |
download | vhc-a91ecfe471c4659e65be573e0217c8b72d5fa958.tar.gz vhc-a91ecfe471c4659e65be573e0217c8b72d5fa958.tar.bz2 vhc-a91ecfe471c4659e65be573e0217c8b72d5fa958.zip |
*Ajout d'un pointeur sur les element precedents.
*Implementation de la methode 'close()' dans l'accelerateur.
*Restructuration des methodes geometriques des elements.
-Ajout d'une methode isBefore(): determine si un point est contenu dans l'espace avant le plan de la face d'entree.
-Ajout d'une methode isBeside(): determine si un point est plus proche de la trajectoire ideal que le rayon de section.
-Ajout d'une methode isAfter(): determine si un point est contenu dans l'espace apres le plan de la face de sortie.
-Ajout d'une methode contains(): determine si un point est contenu dans l'element (contains = !(isBefore || isBeside || isAfter))
-La methode isPast() (passe_au_suivant selon projet) a ete supprimee, elle est a remplacer par isAfter().
-La methode hitWall() (heurte_bord selon projet) a ete supprimee, elle est a remplacer par isBeside().
*Resolution d'un bug dans la methode isBeside() de StraightElement, avant une particule ne pouvait jamais heuter le bord!
*Ajout des cibles gui et gui-build dans eclipse.
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/ElementRenderer.cc | 2 | ||||
-rw-r--r-- | src/gui/Main.cc | 12 | ||||
-rw-r--r-- | src/gui/ParticleRenderer.cc | 3 | ||||
-rw-r--r-- | src/gui/Stage.cc | 2 | ||||
-rw-r--r-- | src/gui/util.cc | 2 |
5 files changed, 13 insertions, 8 deletions
diff --git a/src/gui/ElementRenderer.cc b/src/gui/ElementRenderer.cc index 5f99491..a547851 100644 --- a/src/gui/ElementRenderer.cc +++ b/src/gui/ElementRenderer.cc @@ -60,7 +60,7 @@ void ElementRenderer::visit(const Quadrupole* quadrupole) const { void ElementRenderer::visit(const Dipole* dipole) const { - glColor4d(0.2, 0, 0.4, 0.9); + glColor4d(0.8, 0.4, 0, 0.9); glPushMatrix(); glTranslated(dipole->getCurvatureCenter().getX(), dipole->getCurvatureCenter().getY(), dipole->getCurvatureCenter().getZ()); Vector3D d = dipole->getExitPosition() - dipole->getCurvatureCenter(); diff --git a/src/gui/Main.cc b/src/gui/Main.cc index 03ba472..09465c2 100644 --- a/src/gui/Main.cc +++ b/src/gui/Main.cc @@ -9,6 +9,7 @@ #include <QApplication> #include <QWidget> #include <cmath> +#include "exceptions.h" #include "Stage.h" #include "Accelerator.h" #include "StraightElement.h" @@ -112,14 +113,16 @@ Accelerator* singleDipole() { int main(int argc, char *argv[]) { + try { + QApplication app(argc, argv); vhc::Stage window; - Accelerator* acc = singleDipole(); + Accelerator* acc = linear(); window.accelerator = acc; - window.showFullScreen(); + //window.showFullScreen(); - //window.resize(QSize(500, 500)); + window.resize(QSize(500, 500)); window.setWindowTitle("Virtual Hadron Collider"); window.show(); @@ -127,4 +130,7 @@ int main(int argc, char *argv[]) delete acc; acc = NULL; + } catch (Exception& ex){ + std::cerr << ex.toString() << "\n"; + } } diff --git a/src/gui/ParticleRenderer.cc b/src/gui/ParticleRenderer.cc index 38736c7..3c8fe86 100644 --- a/src/gui/ParticleRenderer.cc +++ b/src/gui/ParticleRenderer.cc @@ -12,12 +12,11 @@ namespace vhc { ParticleRenderer::ParticleRenderer() { - //Auto-generated constructor stub } ParticleRenderer::~ParticleRenderer() { - //Auto-generated destructor stub + } void ParticleRenderer::render(const Particle& particle) const { diff --git a/src/gui/Stage.cc b/src/gui/Stage.cc index 6928b29..6dec091 100644 --- a/src/gui/Stage.cc +++ b/src/gui/Stage.cc @@ -137,7 +137,7 @@ void Stage::mouseMoveEvent(QMouseEvent* event) { int dpitch = -event->y() + center.y(); camera.addHeading(1.0 * dheading * frameTime / 4000); camera.addPitch(1.0 * dpitch * frameTime / 4000); - QCursor::setPos(center); + QCursor::setPos(QWidget::mapToGlobal(center)); update(); } diff --git a/src/gui/util.cc b/src/gui/util.cc index e460e36..5f026bf 100644 --- a/src/gui/util.cc +++ b/src/gui/util.cc @@ -24,7 +24,7 @@ void torus(double R, double r, double fraction, int slices, int stacks) { x = (R+r*cos(s*twopi/slices))*cos(t*twopi/stacks); y = (R+r*cos(s*twopi/slices))*sin(t*twopi/stacks); z = r * sin(s * twopi / slices); - glColor3d(0, 1 - 1.0 * j / (stacks * fraction), 1.0 * j / (stacks * fraction)); + // glColor3d(0, 1 - 1.0 * j / (stacks * fraction), 1.0 * j / (stacks * fraction)); glVertex3d(x, y, z); } } |