Files
ThirdParty-6/ParaView-5.0.1/ParaViewCore/Animation/vtkSMAnimationSceneProxy.h

82 lines
2.9 KiB
C++

/*=========================================================================
Program: ParaView
Module: $RCSfile$
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 vtkSMAnimationSceneProxy
// .SECTION Description
// vtkSMAnimationSceneProxy observe vtkCommand::ModifiedEvent on the
// client-side VTK-object to call UpdatePropertyInformation() every time that
// happens.
#ifndef vtkSMAnimationSceneProxy_h
#define vtkSMAnimationSceneProxy_h
#include "vtkPVAnimationModule.h" //needed for exports
#include "vtkSMProxy.h"
class VTKPVANIMATION_EXPORT vtkSMAnimationSceneProxy : public vtkSMProxy
{
public:
static vtkSMAnimationSceneProxy* New();
vtkTypeMacro(vtkSMAnimationSceneProxy, vtkSMProxy);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Setups the animation scene's playback mode and time-ranges based on the
// timesteps available on the time-keeper proxy set on the animation scene.
virtual bool UpdateAnimationUsingDataTimeSteps();
static bool UpdateAnimationUsingDataTimeSteps(vtkSMProxy* scene)
{
vtkSMAnimationSceneProxy* self = vtkSMAnimationSceneProxy::SafeDownCast(scene);
return self? self->UpdateAnimationUsingDataTimeSteps() : false;
}
// Description:
// Returns the first animation cue (enabled or otherwise) that animates the
// given property on the proxy. This will return NULL if none such cue exists.
virtual vtkSMProxy* FindAnimationCue(
vtkSMProxy* animatedProxy, const char* animatedPropertyName);
static vtkSMProxy* FindAnimationCue(vtkSMProxy* scene,
vtkSMProxy* animatedProxy, const char* animatedPropertyName)
{
vtkSMAnimationSceneProxy* self = vtkSMAnimationSceneProxy::SafeDownCast(scene);
return self? self->FindAnimationCue(animatedProxy, animatedPropertyName) : NULL;
}
//BTX
protected:
vtkSMAnimationSceneProxy();
~vtkSMAnimationSceneProxy();
// Description:
// Overridden to prune start/end time properties if not applicable to the
// state being loaded.
virtual int LoadXMLState(vtkPVXMLElement* element, vtkSMProxyLocator* locator);
// Description:
// Given a class name (by setting VTKClassName) and server ids (by
// setting ServerIDs), this methods instantiates the objects on the
// server(s)
virtual void CreateVTKObjects();
private:
vtkSMAnimationSceneProxy(const vtkSMAnimationSceneProxy&); // Not implemented
void operator=(const vtkSMAnimationSceneProxy&); // Not implemented
// Called when vtkSMAnimationScene::UpdateStartEndTimesEvent is fired.
void OnUpdateStartEndTimesEvent(vtkObject*, unsigned long, void*);
//ETX
};
#endif