Files
ThirdParty-6/ParaView-5.0.1/ParaViewCore/ServerManager/Core/vtkSMDoubleMapProperty.h

123 lines
3.7 KiB
C++

/*=========================================================================
Program: ParaView
Module: vtkSMMapProperty.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 vtkSMDoubleMapProperty - a map property storing double values
// .SECTION Description
// vtkSMDoubleMapProperty stores a map of vtkIdType keys to double values.
#ifndef vtkSMDoubleMapProperty_h
#define vtkSMDoubleMapProperty_h
#include "vtkPVServerManagerCoreModule.h" //needed for exports
#include "vtkSMMapProperty.h"
class vtkSMDoubleMapPropertyPrivate;
class vtkSMDoubleMapPropertyIterator;
class VTKPVSERVERMANAGERCORE_EXPORT vtkSMDoubleMapProperty : public vtkSMMapProperty
{
public:
static vtkSMDoubleMapProperty* New();
vtkTypeMacro(vtkSMDoubleMapProperty, vtkSMMapProperty);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Sets the number of components.
void SetNumberOfComponents(unsigned int components);
// Description:
// Returns the number of components.
unsigned int GetNumberOfComponents();
// Description:
// Sets the element at index to value.
void SetElement(vtkIdType index, double value);
// Description:
// Sets the elements at index to values.
void SetElements(vtkIdType index, const double *values);
// Description:
// Sets the elements at index to values.
void SetElements(vtkIdType index, const double *values, unsigned int numValues);
// Description:
// Sets the component at index to value.
void SetElementComponent(vtkIdType index, unsigned int component, double value);
// Description:
// Returns the element at index.
double GetElement(vtkIdType index);
// Description:
// Returns the elements at index.
double* GetElements(vtkIdType index);
// Description:
// Returns the element component at index.
double GetElementComponent(vtkIdType index, vtkIdType component);
// Description:
// Removes the element at index.
void RemoveElement(vtkIdType index);
// Description:
// Returns the number of elements.
virtual vtkIdType GetNumberOfElements();
// Description:
// Clears all of the elements from the property.
void ClearElements();
// Description:
// Returns a new iterator for the map.
vtkSMDoubleMapPropertyIterator* NewIterator();
void* GetMapPointer();
// Description:
// Copy all property values.
virtual void Copy(vtkSMProperty* src);
// Description:
// For properties that support specifying defaults in XML configuration, this
// method will reset the property value to the default values specified in the
// XML.
virtual void ResetToXMLDefaults();
protected:
vtkSMDoubleMapProperty();
~vtkSMDoubleMapProperty();
virtual void WriteTo(vtkSMMessage* msg);
virtual void ReadFrom(const vtkSMMessage *message,
int message_offset,
vtkSMProxyLocator* locator);
virtual int ReadXMLAttributes(vtkSMProxy* parent,
vtkPVXMLElement* element);
virtual void SaveStateValues(vtkPVXMLElement* propertyElement);
virtual int LoadState(vtkPVXMLElement* element, vtkSMProxyLocator* loader);
private:
vtkSMDoubleMapProperty(const vtkSMDoubleMapProperty&); // Not implemented
void operator=(const vtkSMDoubleMapProperty&); // Not implemented
vtkSMDoubleMapPropertyPrivate *Private;
};
#endif // vtkSMDoubleMapProperty_h