1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
/*=========================================================================
Program: ParaView
Module: vtkSMComparativeAnimationCueProxy.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.
=========================================================================*/
/**
* @class vtkSMComparativeAnimationCueProxy
* @brief cue used for parameter animation by
* the comparative view.
*
* vtkSMComparativeAnimationCueProxy is a animation cue used for parameter
* animation by the vtkSMComparativeViewProxy. It provides a non-conventional
* API i.e. without using properties to allow the user to setup parameter
* values over the comparative grid.
*/
#ifndef vtkSMComparativeAnimationCueProxy_h
#define vtkSMComparativeAnimationCueProxy_h
#include "vtkPVServerManagerRenderingModule.h" //needed for exports
#include "vtkSMProxy.h"
class vtkPVComparativeAnimationCue;
class VTKPVSERVERMANAGERRENDERING_EXPORT vtkSMComparativeAnimationCueProxy : public vtkSMProxy
{
public:
static vtkSMComparativeAnimationCueProxy* New();
vtkTypeMacro(vtkSMComparativeAnimationCueProxy, vtkSMProxy);
void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
//@{
/**
* Methods simply forwarded to vtkPVComparativeAnimationCue.
* Any of these methods changing the state of the proxy, also call
* this->MarkModified(this).
*/
void UpdateXRange(int y, double minx, double maxx);
void UpdateYRange(int x, double miny, double maxy);
void UpdateWholeRange(double mint, double maxt);
void UpdateValue(int x, int y, double value);
void UpdateXRange(int y, double* minx, double* maxx, unsigned int numvalues);
void UpdateYRange(int x, double* minx, double* maxx, unsigned int numvalues);
void UpdateWholeRange(double* mint, double* maxt, unsigned int numValues);
void UpdateWholeRange(double* mint, double* maxt, unsigned int numValues, bool vertical_first);
void UpdateValue(int x, int y, double* value, unsigned int numValues);
double* GetValues(int x, int y, int dx, int dy, unsigned int& numValues);
double GetValue(int x, int y, int dx, int dy);
void UpdateAnimatedValue(int x, int y, int dx, int dy);
//@}
/**
* Saves the state of the proxy. This state can be reloaded
* to create a new proxy that is identical the present state of this proxy.
* The resulting proxy's XML hieratchy is returned, in addition if the root
* argument is not NULL then it's also inserted as a nested element.
* This call saves all a proxy's properties, including exposed properties
* and sub-proxies. More control is provided by the following overload.
*/
virtual vtkPVXMLElement* SaveXMLState(vtkPVXMLElement* root) VTK_OVERRIDE
{
return this->Superclass::SaveXMLState(root);
}
/**
* The iterator is use to filter the property available on the given proxy
*/
virtual vtkPVXMLElement* SaveXMLState(
vtkPVXMLElement* root, vtkSMPropertyIterator* iter) VTK_OVERRIDE;
/**
* Loads the proxy state from the XML element. Returns 0 on failure.
* \c locator is used to locate other proxies that may be referred to in the
* state XML (which happens in case of properties of type vtkSMProxyProperty
* or subclasses). If locator is NULL, then such properties are left
* unchanged.
*/
virtual int LoadXMLState(vtkPVXMLElement* element, vtkSMProxyLocator* locator) VTK_OVERRIDE;
protected:
vtkSMComparativeAnimationCueProxy();
~vtkSMComparativeAnimationCueProxy();
/**
* 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() VTK_OVERRIDE;
// Method used to simplify the access to the concreate VTK class underneath
friend class vtkSMComparativeAnimationCueUndoElement;
vtkPVComparativeAnimationCue* GetComparativeAnimationCue();
private:
vtkSMComparativeAnimationCueProxy(const vtkSMComparativeAnimationCueProxy&) VTK_DELETE_FUNCTION;
void operator=(const vtkSMComparativeAnimationCueProxy&) VTK_DELETE_FUNCTION;
class vtkInternal;
vtkInternal* Internals;
};
#endif
|