Ignore:
Timestamp:
04/12/02 16:59:23 (23 years ago)
Author:
tbretz
Message:
*** empty log message ***
Location:
trunk/MagicSoft/Cosy/gui
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/MagicSoft/Cosy/gui/MGCosy.cc

    r1273 r1275  
    206206    TGCompositeFrame *tf1 = fTab->AddTab("Position Zd/Az");
    207207    TGCompositeFrame *tf2 = fTab->AddTab("Track Ra/Dec");
     208    TGCompositeFrame *tf3 = fTab->AddTab("Demo Mode");
    208209
    209210    fCZdAz = new MGCoordinates(tf1, kETypeZdAz);
     
    467468    cout << "Closing window - waiting until all nodes are stopped." << endl;
    468469    fQueue->PostMsg(WM_QUIT, 0, 0);
     470    cout << "Closing window - done." << endl;
    469471    // gApplication->Terminate(0);
    470472}
     
    497499    cout << "PostMsg (WM_Position) returned." << endl;
    498500}
     501
     502//
     503// ************************** For demo purpose **********************
     504//
     505#include <TRandom.h>
     506class MDemo : public MThread
     507{
     508private:
     509    MsgQueue *fQueue;
     510    TRandom  fRand;
     511
     512public:
     513    MDemo() : MThread(false) {}
     514
     515    void SetQueue(MsgQueue *q) { fQueue = q; }
     516
     517    virtual void *Thread()
     518    {
     519        while (1)
     520        {
     521            Timer tm;
     522            tm.Now();
     523
     524            Float_t h = 2.+tm.H()+(8.+tm.M())/60.;
     525            RaDec dest(h*15, 130);
     526
     527            cout << dest.Ra()/15 << "h " << dest.Dec() << "°" << endl;
     528
     529            fQueue->PostMsg(WM_TRACK, &dest, sizeof(dest));
     530
     531            int i = 0;
     532            while (!HasStopFlag() && i++<130)  // 2.5min
     533                usleep(1000000);
     534            if (HasStopFlag())
     535                break;
     536
     537            //fQueue->PostMsg(WM_STOP, 0, 0);
     538
     539            ZdAz dest1(fRand.Integer(56)+5, fRand.Integer(360));
     540
     541            cout << "Demo: Zd=" << dest1.Zd() << "° Az=" << dest1.Az() << "°" << endl;
     542
     543            fQueue->PostMsg(WM_POSITION, &dest1, sizeof(dest1));
     544
     545            i = 0;
     546            while (!HasStopFlag() && i++<30)  // 30s
     547                usleep(1000000);
     548            if (HasStopFlag())
     549                break;
     550
     551            //ZdAz dest2(5, 30);
     552            //fQueue->PostMsg(WM_POSITION, &dest2, sizeof(dest2));
     553            /*
     554            i = 0;
     555            while (!HasStopFlag() && i++<30)  // 30s
     556                usleep(1000000);
     557            */
     558            //if (HasStopFlag())
     559            //    break;
     560        }
     561        cout << "Demo Thread: done." << endl;
     562        return NULL;
     563    }
     564};
     565
     566MDemo demo;
     567
     568void MGCosy::StartDemo()
     569{
     570    cout << "Start Demo." << endl;
     571
     572    demo.SetQueue(fQueue);
     573    demo.Start();
     574
     575    cout << "PostMsg (WM_Demo) returned." << endl;
     576}
     577
     578void StopDemo()
     579{
     580    cout << "Stopping demo." << endl;
     581    demo.Stop();
     582}
     583//
     584// ******************************************************************
     585//
    499586
    500587Bool_t MGCosy::ProcessMessage(Long_t msg, Long_t mp1, Long_t mp2)
     
    526613             */
    527614            case kPB_START:
    528                 fTab->GetCurrent() ? StartTrack() : StartPos();
     615                switch (fTab->GetCurrent())
     616                {
     617                case 0:
     618                    StartPos();
     619                    return kTRUE;
     620                case 1:
     621                    StartTrack();
     622                    return kTRUE;
     623                case 2:
     624                    StartDemo();
     625                    return kTRUE;
     626                }
    529627                return kTRUE;
    530628
    531629            case kPB_STOP:
    532630                cout << "Sending stop movement msg." << endl;
     631                StopDemo();
    533632                fQueue->PostMsg(WM_STOP, 0, 0);
     633
    534634                cout << "PostMsg (WM_Stop) returned." << endl;
    535635                return kTRUE;
     
    563663            {
    564664            case IDM_EXIT:
     665                cout << "IDM_EXIT: Posting WM_QUIT." << endl;
    565666                fQueue->PostMsg(WM_QUIT, 0, 0);
     667                cout << "IDM_EXIT: WM_QUIT done." << endl;
    566668                //cout << "Idm_Exit." << endl;
    567669                //CloseWindow();
  • trunk/MagicSoft/Cosy/gui/MGCosy.h

    r1111 r1275  
    7373    void StartPos();
    7474    void StartTrack();
     75    void StartDemo();
    7576
    7677    void EnableLabel(TGLabel *label, Bool_t stat);
  • trunk/MagicSoft/Cosy/gui/MGEmbeddedCanvas.cc

    r1111 r1275  
    66
    77#include "MGEmbeddedCanvas.h"
     8
     9#include <iostream.h>
    810
    911#include <TList.h>
     
    1719      fModified(kFALSE), fWidth(width), fRange(range), fPix(2.*range/width)
    1820{
     21    cout << "MGEmbeddedCanvas: Initializing." << endl;
    1922    fCanvas = GetCanvas();
    2023
     24    cout << "MGEmbeddedCanvas: fCanvas = 0x" << fCanvas << endl;
     25
     26    cout << "MGEmbeddedCanvas: SetFillColor." << endl;
    2127    fCanvas->SetFillColor(39); // s. TAttFill
    22     fCanvas->Range(-fRange, -fRange, fRange, fRange);
     28    cout << "MGEmbeddedCanvas: fRange=" << fRange << endl;
     29    if (fRange>0)
     30        fCanvas->Range(-fRange, -fRange, fRange, fRange);
    2331
    2432    fList = new TList;
    2533    fList->SetOwner();
     34
     35    cout << "MGEmbeddedCanvas: Initializing done." << endl;
    2636}
    2737
  • trunk/MagicSoft/Cosy/gui/MGSkyPosition.cc

    r1273 r1275  
    208208{
    209209    RaDec rd(radec.Ra()+off*360/24*kDeg2Rad, radec.Dec());
    210     ZdAz zdaz = fSlaStar->CalcZdAz(rd);
     210    ZdAz zdaz = fSlaStar->CalcZdAzFast(rd);
    211211
    212212    const float s = sin(zdaz.Az());
     
    319319    UpdatePlanet(kEMars,    fMars);
    320320
    321     RaDec radec = fSlaStar->CalcRaDec(pos*kDeg2Rad);
     321    RaDec radec = fSlaStar->CalcRaDecFast(pos*kDeg2Rad);
    322322
    323323    UpdatePosition(radec, pos.Zd(), pos.Az());
Note: See TracChangeset for help on using the changeset viewer.