mirror of
https://github.com/OpenFOAM/ThirdParty-6.git
synced 2025-12-08 06:57:43 +00:00
96 lines
3.0 KiB
C++
96 lines
3.0 KiB
C++
/*=========================================================================
|
|
|
|
Program: ParaView
|
|
Module: vtkTimestepsAnimationPlayer.h
|
|
|
|
Copyright (c) Kitware, Inc.
|
|
All rights reserved.
|
|
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
PURPOSE. See the above copyright notice for more information.
|
|
|
|
=========================================================================*/
|
|
// .NAME vtkTimestepsAnimationPlayer - vtkAnimationPlayer subclass
|
|
// that plays through a discrete set of time values.
|
|
// .SECTION Description
|
|
// Player to play an animation scene through a discrete set of time values.
|
|
// FramesPerTimestep controls how many frames are generated for each time value.
|
|
|
|
#ifndef vtkTimestepsAnimationPlayer_h
|
|
#define vtkTimestepsAnimationPlayer_h
|
|
|
|
#include "vtkAnimationPlayer.h"
|
|
#include "vtkPVAnimationModule.h" // needed for export macro
|
|
|
|
class vtkTimestepsAnimationPlayerSetOfDouble;
|
|
|
|
class VTKPVANIMATION_EXPORT vtkTimestepsAnimationPlayer : public vtkAnimationPlayer
|
|
{
|
|
public:
|
|
static vtkTimestepsAnimationPlayer* New();
|
|
vtkTypeMacro(vtkTimestepsAnimationPlayer, vtkAnimationPlayer);
|
|
void PrintSelf(ostream& os, vtkIndent indent);
|
|
|
|
// Description:
|
|
// Add/Remove timesteps.
|
|
void AddTimeStep(double time);
|
|
void RemoveTimeStep(double time);
|
|
|
|
// Description:
|
|
// Remove all timesteps.
|
|
void RemoveAllTimeSteps();
|
|
|
|
// Description:
|
|
// Get number of timesteps.
|
|
unsigned int GetNumberOfTimeSteps();
|
|
|
|
// Description:
|
|
// Get/Set the number of frames per timstep.
|
|
vtkSetClampMacro(FramesPerTimestep, unsigned long, 1, VTK_UNSIGNED_LONG_MAX);
|
|
vtkGetMacro(FramesPerTimestep, unsigned long);
|
|
|
|
// Description:
|
|
// Returns the timestep value after the given timestep.
|
|
// If no value exists, returns the argument \c time itself.
|
|
double GetNextTimeStep(double time);
|
|
|
|
// Description:
|
|
// Returns the timestep value before the given timestep.
|
|
// If no value exists, returns the argument \c time itself.
|
|
double GetPreviousTimeStep(double time);
|
|
protected:
|
|
vtkTimestepsAnimationPlayer();
|
|
~vtkTimestepsAnimationPlayer();
|
|
|
|
virtual void StartLoop(double, double, double*);
|
|
virtual void EndLoop() {};
|
|
|
|
// Description:
|
|
// Return the next time given the current time.
|
|
virtual double GetNextTime(double currentime);
|
|
|
|
|
|
virtual double GoToNext(double, double, double currenttime)
|
|
{
|
|
return this->GetNextTimeStep(currenttime);
|
|
}
|
|
|
|
virtual double GoToPrevious(double, double, double currenttime)
|
|
{
|
|
return this->GetPreviousTimeStep(currenttime);
|
|
}
|
|
|
|
double PlaybackWindow[2];
|
|
unsigned long FramesPerTimestep;
|
|
unsigned long Count;
|
|
private:
|
|
vtkTimestepsAnimationPlayer(const vtkTimestepsAnimationPlayer&); // Not implemented.
|
|
void operator=(const vtkTimestepsAnimationPlayer&); // Not implemented.
|
|
|
|
vtkTimestepsAnimationPlayerSetOfDouble* TimeSteps;
|
|
};
|
|
|
|
#endif
|