From 032592bbb6e2a995b1ea1e94d684a41d50ef3ec4 Mon Sep 17 00:00:00 2001
From: Oliver Bock <oliver.bock@aei.mpg.de>
Date: Mon, 1 Dec 2008 16:24:27 +0100
Subject: [PATCH] Sent neutron star on same orbit as pulsar (and adjusted
 lights)

---
 src/pulsaranimationwidget.cpp | 13 ++++++++-----
 src/pulsaranimationwidget.h   |  1 +
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/pulsaranimationwidget.cpp b/src/pulsaranimationwidget.cpp
index bcf4a55..5db703e 100644
--- a/src/pulsaranimationwidget.cpp
+++ b/src/pulsaranimationwidget.cpp
@@ -69,7 +69,7 @@ void PulsarAnimationWidget::initializeGL()
 	glDepthFunc(GL_LEQUAL);
 	glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
 
-	GLfloat LightAmbient[] = { 0.0f, 0.0f, 0.0f, 1.0f };
+	GLfloat LightAmbient[] = { 0.3f, 0.3f, 0.3f, 1.0f };
 	GLfloat LightDiffuse[] = { 1.0f, 1.0f, 1.0f, 1.0f };
 	GLfloat LightSpecular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
 	GLfloat LightPosition[] = { 0.0f, 0.0f, 3.0f, 1.0f };
@@ -79,9 +79,9 @@ void PulsarAnimationWidget::initializeGL()
 	glLightfv(GL_LIGHT0, GL_DIFFUSE, LightDiffuse);
 	glLightfv(GL_LIGHT0, GL_SPECULAR, LightSpecular);
 	glLightfv(GL_LIGHT0, GL_POSITION, LightPosition);
-	glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 20.0);
+	glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 50.0);
 	glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, spot_direction);
-	glLightf(GL_LIGHT0, GL_SPOT_EXPONENT, 5.0);
+	glLightf(GL_LIGHT0, GL_SPOT_EXPONENT, 10.0);
 
 	glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE);
 	glEnable(GL_LIGHT0);
@@ -135,11 +135,13 @@ void PulsarAnimationWidget::paintGL()
 	glMaterialfv(GL_FRONT, GL_SHININESS, low_shininess);
 	glMaterialfv(GL_FRONT, GL_EMISSION, no_mat);
 
+	glRotatef(m_orbitRotationAngle, 0.0f, 1.0f, 0.0f);
+
 	glPushMatrix();
+	glTranslatef(0.0f, 0.0f, m_orbitRadiusNeg);
 	gluSphere(m_quadricPulsar, 1.0f, 32, 32);
 	glPopMatrix();
 
-	glRotatef(m_orbitRotationAngle, 0.0f, 1.0f, 0.0f);
 	glTranslatef(0.0f, 0.0f, m_orbitRadius);
 
 	glPushMatrix();
@@ -271,7 +273,8 @@ void PulsarAnimationWidget::setPulsarSpinFrequency(const float frequency)
 
 void PulsarAnimationWidget::setOrbitRadius(const float radius)
 {
-	m_orbitRadius = -1.0 * radius;
+	m_orbitRadius = radius;
+	m_orbitRadiusNeg = -1.0 * radius;
 }
 
 void PulsarAnimationWidget::setOrbitFrequency(const float frequency)
diff --git a/src/pulsaranimationwidget.h b/src/pulsaranimationwidget.h
index 3dc5fa0..27ae5c9 100644
--- a/src/pulsaranimationwidget.h
+++ b/src/pulsaranimationwidget.h
@@ -75,6 +75,7 @@ protected:
 	float m_pulsarRotationAngle;
 
 	float m_orbitRadius;
+	float m_orbitRadiusNeg;
 	float m_orbitFrequency;
 	float m_orbitRotationAngle;
 
-- 
GitLab