[Kstars-devel] KDE/kdeedu/kstars/kstars/skycomponents

Akarsh Simha akarshsimha at gmail.com
Wed May 30 23:14:27 CEST 2007


Hi Jason.

Yes... I observed that there were these wierd <<<<< and ===== which I
removed manually from the code.

I noticed that you have done the indexOf(" ") thing to set right Ursa
Major, Ursa Minor, Triangulum Australe, and such two-worded
constellations.

I am now working on displaying only the visible asteroids.

Thanks for the explanation.

On 5/31/07, Jason Harris <jharris at 30doradus.org> wrote:
> This is probably because your local copy is now in conflict with my commit,
> since I did modify some things.
>
> When this happens, type "svn status" and note which files have a "C" status.
> These files conflict with the SVN copy.  If you just want to get rid of your
> local changes, you can simply remove the local files, and then do "svn up" to
> get the new versions from SVN.
>
> Otherwise, you can resolve the conflict manually.  In each file, where there
> are conflicting lines, SVN will insert "<<<<<" before your version, and
> "======" betweeen your version and the SVN version, and ">>>>>" after the SVN
> version.  So you can just locate these sections, and decide which parts you
> want to keep and save the file.  Then you have to tell SVN that you've
> resolved the conflict by typing "svn resolve <filename>" (but actually, you
> won't be able to do that until you have an SVN account...)
>
> For now, just delete your local copy of the conflicting files and do an "svn
> up".
>
> Jason
>
> On Wednesday 30 May 2007 13:36, Akarsh Simha wrote:
> > Hi Jason.
> > Could you please confirm that the SVN commit was not corrupt?
> > I had compile errors after doing an svn up and found some nonsense in
> > skycomponents/skymapcomposite.h
> >
> > Thank you.
> >
> > On 5/30/07, Jason Harris <kstars at 30doradus.org> wrote:
> > > SVN commit 669815 by harris:
> > >
> > > Fixed a bug that Akarsh reported where Jupiter moons were not drawn when
> > > they were on the far side of their orbit.  This was basically an
> > > incomplete port of the old way to get the z-order correct between
> > > Jupiter and its moons.
> > >
> > > Now, we loop over the four moons.  Moons further than Jupiter are drawn
> > > immediately; those nearer are stored in a list.  Then Jupiter is drawn.
> > > Then the near moons are drawn.  Finally, the moon name labels are drawn
> > > (so they will always appear in front of Jupiter).
> > >
> > > To do this, I am now storing a pointer to the SolarSystemSingleComponent
> > > representing Jupiter in JupiterMoonsComponent.
> > >
> > > I also commented out the dubug string reporting the positions of earth
> > > satellites.
> > >
> > > CCMAIL: kstars-devel at kde.org
> > >
> > >
> > >
> > >  M  +36 -13    jupitermoonscomponent.cpp
> > >  M  +3 -1      jupitermoonscomponent.h
> > >  M  +1 -1      satellitecomposite.cpp
> > >  M  +3 -2      solarsystemcomposite.cpp
> > >  M  +2 -2      solarsystemsinglecomponent.h
> > >
> > >
> > > ---
> > > trunk/KDE/kdeedu/kstars/kstars/skycomponents/jupitermoonscomponent.cpp
> > > #669814:669815 @@ -28,10 +28,12 @@
> > >  #include "skypoint.h"
> > >  #include "dms.h"
> > >  #include "Options.h"
> > > +#include "solarsystemsinglecomponent.h"
> > >
> > > -JupiterMoonsComponent::JupiterMoonsComponent( SkyComponent *p, bool
> > > (*visibleMethod)() ) : SkyComponent( p, visibleMethod )
> > > +JupiterMoonsComponent::JupiterMoonsComponent( SkyComponent *p,
> > > SolarSystemSingleComponent *jupiterComponent, bool (*visibleMethod)() ) :
> > > SkyComponent( p, visibleMethod ) {
> > >         jmoons = 0;
> > > +       m_Jupiter = jupiterComponent;
> > >  }
> > >
> > >  JupiterMoonsComponent::~JupiterMoonsComponent()
> > > @@ -54,7 +56,7 @@
> > >  {
> > >         //TODO findPosition should named updatePosition
> > >         if ( visible() )
> > > -               jmoons->findPosition( num,
> > > (KSPlanet*)(parent()->findByName("Jupiter")),
> > > (KSSun*)(parent()->findByName( "Sun" )) ); +
> > > jmoons->findPosition( num, (KSPlanet*)(m_Jupiter->skyObject()),
> > > (KSSun*)(parent()->findByName( "Sun" )) ); }
> > >
> > >  void JupiterMoonsComponent::draw(KStars *ks, QPainter& psky, double
> > > scale) @@ -65,30 +67,51 @@
> > >         float Width = scale * map->width();
> > >         float Height = scale * map->height();
> > >
> > > -       //Re-draw Jovian moons which are in front of Jupiter, also draw
> > > all 4 moon labels. psky.setPen( QPen( QColor( "white" ) ) );
> > > -       if ( Options::zoomFactor() > 10.*MINZOOM )
> > > -       {
> > > +       if ( Options::zoomFactor() > 10.*MINZOOM ) {
> > >                 QFont pfont = psky.font();
> > >                 QFont moonFont = psky.font();
> > >                 moonFont.setPointSize( pfont.pointSize() - 2 );
> > >                 psky.setFont( moonFont );
> > >
> > > -               for ( unsigned int i=0; i<4; ++i )
> > > -               {
> > > +               //In order to get the z-order right for the moons and
> > > Jupiter, +               //we need to first draw the moons that are
> > > further away than Jupiter, +               //then re-draw Jupiter, then
> > > draw the moons nearer than Jupiter. +               QList<QPointF>
> > > frontMoons;
> > > +               for ( unsigned int i=0; i<4; ++i ) {
> > >                         QPointF o = map->toScreen( jmoons->pos(i), scale
> > > );
> > >
> > > -                       if ( ( o.x() >= 0. && o.x() <= Width && o.y() >=
> > > 0. && o.y() <= Height ) ) -                       {
> > > -                               if ( jmoons->z(i) < 0.0 ) //Moon is
> > > nearer than Jupiter +                       if ( ( o.x() >= 0. && o.x()
> > > <= Width && o.y() >= 0. && o.y() <= Height ) ) { +
> > >        if ( jmoons->z(i) < 0.0 ) { //Moon is nearer than Jupiter +
> > >                                frontMoons.append( o );
> > > +                               } else {
> > > +                                       //Draw Moons that are further
> > > than Jupiter if ( Options::useAntialias() ) psky.drawEllipse( QRectF(
> > > o.x()-1., o.y()-1., 2., 2. ) ); else
> > >                                                 psky.drawEllipse( QRect(
> > > int(o.x())-1, int(o.y())-1, 2, 2 ) ); +                               }
> > > +                       }
> > > +               }
> > >
> > > -                               //Draw Moon name labels if at high zoom
> > > -                               if (Options::showPlanetNames() &&
> > > Options::zoomFactor() > 50.*MINZOOM) -                               {
> > > +               //Now redraw Jupiter
> > > +               m_Jupiter->draw( ks, psky, scale );
> > > +
> > > +               //Now draw the remaining moons, as stored in frontMoons
> > > +               psky.setPen( QPen( QColor( "white" ) ) );
> > > +               foreach ( QPointF o, frontMoons ) {
> > > +                       if ( Options::useAntialias() )
> > > +                               psky.drawEllipse( QRectF( o.x()-1.,
> > > o.y()-1., 2., 2. ) ); +                       else
> > > +                               psky.drawEllipse( QRect( int(o.x())-1,
> > > int(o.y())-1, 2, 2 ) ); +               }
> > > +
> > > +               //Draw Moon name labels if at high zoom
> > > +               if (Options::showPlanetNames() && Options::zoomFactor() >
> > > 50.*MINZOOM) { +                       for ( unsigned int i=0; i<4; ++i )
> > > {
> > > +                               QPointF o = map->toScreen(
> > > jmoons->pos(i), scale ); +
> > > +                               if ( ( o.x() >= 0. && o.x() <= Width &&
> > > o.y() >= 0. && o.y() <= Height ) ) { float offset = 3.0*scale; if (
> > > Options::useAntialias() ) psky.drawText( QPointF( o.x() + offset, o.y() +
> > > offset ), jmoons->name(i)); ---
> > > trunk/KDE/kdeedu/kstars/kstars/skycomponents/jupitermoonscomponent.h
> > > #669814:669815 @@ -21,6 +21,7 @@
> > >  #include "skycomponent.h"
> > >
> > >  class SkyComposite;
> > > +class SolarSystemSingleComponent;
> > >  class KStarsData;
> > >  class SkyMap;
> > >  class KSNumbers;
> > > @@ -41,7 +42,7 @@
> > >                  *@short Constructor
> > >                  *@p parent pointer to the parent SkyComposite
> > >                  */
> > > -               JupiterMoonsComponent( SkyComponent *parent, bool
> > > (*visibleMethod)() ); +               JupiterMoonsComponent( SkyComponent
> > > *parent, SolarSystemSingleComponent *jup, bool (*visibleMethod)() );
> > >
> > >                 /**
> > >                  *@short Destructor
> > > @@ -68,6 +69,7 @@
> > >         private:
> > >
> > >                 JupiterMoons *jmoons;
> > > +               SolarSystemSingleComponent *m_Jupiter;
> > >  };
> > >
> > >  #endif
> > > --- trunk/KDE/kdeedu/kstars/kstars/skycomponents/satellitecomposite.cpp
> > > #669814:669815 @@ -100,7 +100,7 @@
> > >                                 KStarsDateTime dt( ps->jd );
> > >                                 dms alt( ps->sat_ele );
> > >                                 dms az( ps->sat_azi );
> > > -                               kDebug() << ps->name << " " <<
> > > dt.toString() << " " << alt.toDMSString() << " " << az.toDMSString() <<
> > > endl; +//                             kDebug() << ps->name << " " <<
> > > dt.toString() << " " << alt.toDMSString() << " " << az.toDMSString() <<
> > > endl; }
> > >                 }
> > >         }
> > > --- trunk/KDE/kdeedu/kstars/kstars/skycomponents/solarsystemcomposite.cpp
> > > #669814:669815 @@ -47,8 +47,9 @@
> > >         addComponent( new SolarSystemSingleComponent( this, new KSPlanet(
> > > data, I18N_NOOP("Mercury"), "mercury.png", QColor( "slateblue" ), 4879.4
> > > /*diameter in km*/ ), Options::showMercury, 4 ) ); addComponent( new
> > > SolarSystemSingleComponent( this, new KSPlanet( data, I18N_NOOP("Venus"),
> > > "venus.png", QColor( "lightgreen" ), 12103.6 /*diameter in km*/ ),
> > > Options::showVenus, 4 ) ); addComponent( new SolarSystemSingleComponent(
> > > this, new KSPlanet( data, I18N_NOOP( "Mars" ), "mars.png", QColor( "red"
> > > ), 6792.4 /*diameter in km*/ ), Options::showMars, 4 ) ); -
> > > addComponent( new SolarSystemSingleComponent( this, new KSPlanet( data,
> > > I18N_NOOP( "Jupiter" ), "jupiter.png", QColor( "goldenrod" ), 142984.
> > > /*diameter in km*/ ), Options::showJupiter, 4 ) ); -       m_JupiterMoons
> > > = new JupiterMoonsComponent( this, &Options::showJupiter); +
> > > SolarSystemSingleComponent *jup = new SolarSystemSingleComponent( this,
> > > new KSPlanet( data, I18N_NOOP( "Jupiter" ), "jupiter.png", QColor(
> > > "goldenrod" ), 142984. /*diameter in km*/ ), Options::showJupiter, 4 ); +
> > >       addComponent( jup );
> > > +       m_JupiterMoons = new JupiterMoonsComponent( this, jup,
> > > &Options::showJupiter); addComponent( m_JupiterMoons );
> > >         addComponent( new SolarSystemSingleComponent( this, new KSPlanet(
> > > data, I18N_NOOP( "Saturn" ), "saturn.png", QColor( "khaki" ), 120536.
> > > /*diameter in km*/ ), Options::showSaturn, 4 ) ); addComponent( new
> > > SolarSystemSingleComponent( this, new KSPlanet( data, I18N_NOOP( "Uranus"
> > > ), "uranus.png", QColor( "lightseagreen" ), 51118. /*diameter in km*/ ),
> > > Options::showUranus, 4 ) ); ---
> > > trunk/KDE/kdeedu/kstars/kstars/skycomponents/solarsystemsinglecomponent.h
> > > #669814:669815 @@ -64,6 +64,8 @@
> > >                         */
> > >                 virtual void updatePlanets( KStarsData *data, KSNumbers
> > > *num );
> > >
> > > +               void draw( KStars *ks, QPainter &psky, double scale );
> > > +
> > >                 /**
> > >                         *@short Set the size scale. Default value is 1.0
> > > and only *Saturn uses a scale of 2.5.
> > > @@ -76,8 +78,6 @@
> > >
> > >                 KSPlanetBase *ksp() { return (KSPlanetBase*)skyObject();
> > > }
> > >
> > > -               void draw( KStars *ks, QPainter &psky, double scale );
> > > -
> > >                 /**
> > >                         *@short Draws the planet's trail, if necessary.
> > >                         */
> > > _______________________________________________
> > > Kstars-devel mailing list
> > > Kstars-devel at kde.org
> > > https://mail.kde.org/mailman/listinfo/kstars-devel
>
> --
> Jason Harris
> jharris at 30doradus.org
> _______________________________________________
> Kstars-devel mailing list
> Kstars-devel at kde.org
> https://mail.kde.org/mailman/listinfo/kstars-devel
>


-- 
Regards,
     Akarsh
http://www.bas.org.in
http://www.nascent-technologies.com


More information about the Kstars-devel mailing list