ROOT logo
// $Id: WSWalker.cxx 2088 2008-11-23 20:26:46Z matevz $

// Copyright (C) 1999-2008, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.

//__________________________________________________________________________
// WSWalker
//
// Moves mNode as instructed. mNode should be a child of mSeed (this
// is not checked anywhere). This restriction could be removed.
//
// 1) Direct SetTime
// 2) Operator loop   -> takes time from Eventor stack
// 3) TimeMakerClient -> as given by the argument

#include "WSWalker.h"
#include <Glasses/WSSeed.h>
#include <Glasses/ZNode.h>
#include "WSWalker.c7"

#include <Glasses/Eventor.h>

ClassImp(WSWalker);

/**************************************************************************/

void WSWalker::_init()
{
  bLoop = false;
  m_last_time = 1e30;
}

/**************************************************************************/

void WSWalker::set_trans(Double_t t)
{
  if(mNode != 0 && mSeed != 0) {
    {
      GLensWriteHolder node_wrlck(*mSeed);
      mSeed->TransAtTime(m_last_trans, t, bLoop, (t < m_last_time));
    }
    {
      GLensWriteHolder node_wrlck(*mNode);
      mNode->SetTrans(m_last_trans);
    }
    m_last_time = t;
  }
}

/**************************************************************************/

void WSWalker::SetTime(Double_t t)
{
  set_trans(t);
}

/**************************************************************************/

void WSWalker::Operate(Operator::Arg* op_arg)
{
  Operator::PreOperate(op_arg);
  set_trans(op_arg->fEventor->GetEventTime());
  Operator::PostOperate(op_arg);
}

/**************************************************************************/

void WSWalker::TimeTick(Double_t t, Double_t dt)
{
  set_trans(t);
}
 WSWalker.cxx:1
 WSWalker.cxx:2
 WSWalker.cxx:3
 WSWalker.cxx:4
 WSWalker.cxx:5
 WSWalker.cxx:6
 WSWalker.cxx:7
 WSWalker.cxx:8
 WSWalker.cxx:9
 WSWalker.cxx:10
 WSWalker.cxx:11
 WSWalker.cxx:12
 WSWalker.cxx:13
 WSWalker.cxx:14
 WSWalker.cxx:15
 WSWalker.cxx:16
 WSWalker.cxx:17
 WSWalker.cxx:18
 WSWalker.cxx:19
 WSWalker.cxx:20
 WSWalker.cxx:21
 WSWalker.cxx:22
 WSWalker.cxx:23
 WSWalker.cxx:24
 WSWalker.cxx:25
 WSWalker.cxx:26
 WSWalker.cxx:27
 WSWalker.cxx:28
 WSWalker.cxx:29
 WSWalker.cxx:30
 WSWalker.cxx:31
 WSWalker.cxx:32
 WSWalker.cxx:33
 WSWalker.cxx:34
 WSWalker.cxx:35
 WSWalker.cxx:36
 WSWalker.cxx:37
 WSWalker.cxx:38
 WSWalker.cxx:39
 WSWalker.cxx:40
 WSWalker.cxx:41
 WSWalker.cxx:42
 WSWalker.cxx:43
 WSWalker.cxx:44
 WSWalker.cxx:45
 WSWalker.cxx:46
 WSWalker.cxx:47
 WSWalker.cxx:48
 WSWalker.cxx:49
 WSWalker.cxx:50
 WSWalker.cxx:51
 WSWalker.cxx:52
 WSWalker.cxx:53
 WSWalker.cxx:54
 WSWalker.cxx:55
 WSWalker.cxx:56
 WSWalker.cxx:57
 WSWalker.cxx:58
 WSWalker.cxx:59
 WSWalker.cxx:60
 WSWalker.cxx:61
 WSWalker.cxx:62
 WSWalker.cxx:63
 WSWalker.cxx:64
 WSWalker.cxx:65
 WSWalker.cxx:66
 WSWalker.cxx:67
 WSWalker.cxx:68
 WSWalker.cxx:69
 WSWalker.cxx:70
 WSWalker.cxx:71
 WSWalker.cxx:72