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 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
// SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
// SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
/**
* @class vtkAnnotation
* @brief Stores a collection of annotation artifacts.
*
*
* vtkAnnotation is a collection of annotation properties along with
* an associated selection indicating the portion of data the annotation
* refers to.
*
* @par Thanks:
* Timothy M. Shead (tshead@sandia.gov) at Sandia National Laboratories
* contributed code to this class.
*/
#ifndef vtkAnnotation_h
#define vtkAnnotation_h
#include "vtkCommonDataModelModule.h" // For export macro
#include "vtkDataObject.h"
VTK_ABI_NAMESPACE_BEGIN
class vtkInformationStringKey;
class vtkInformationDoubleVectorKey;
class vtkInformationIntegerVectorKey;
class vtkInformationDataObjectKey;
class vtkSelection;
class VTKCOMMONDATAMODEL_EXPORT vtkAnnotation : public vtkDataObject
{
public:
vtkTypeMacro(vtkAnnotation, vtkDataObject);
void PrintSelf(ostream& os, vtkIndent indent) override;
static vtkAnnotation* New();
/**
* Returns `VTK_ANNOTATION`.
*/
int GetDataObjectType() VTK_FUTURE_CONST override { return VTK_ANNOTATION; }
///@{
/**
* The selection to which this set of annotations will apply.
*/
vtkGetObjectMacro(Selection, vtkSelection);
virtual void SetSelection(vtkSelection* selection);
///@}
///@{
/**
* Retrieve a vtkAnnotation stored inside an information object.
*/
static vtkAnnotation* GetData(vtkInformation* info);
static vtkAnnotation* GetData(vtkInformationVector* v, int i = 0);
///@}
/**
* The label for this annotation.
*/
static vtkInformationStringKey* LABEL();
/**
* The color for this annotation.
* This is stored as an RGB triple with values between 0 and 1.
*/
static vtkInformationDoubleVectorKey* COLOR();
/**
* The color for this annotation.
* This is stored as a value between 0 and 1.
*/
static vtkInformationDoubleKey* OPACITY();
/**
* An icon index for this annotation.
*/
static vtkInformationIntegerKey* ICON_INDEX();
/**
* Whether or not this annotation is enabled.
* A value of 1 means enabled, 0 disabled.
*/
static vtkInformationIntegerKey* ENABLE();
/**
* Whether or not this annotation is visible.
*/
static vtkInformationIntegerKey* HIDE();
/**
* Associate a vtkDataObject with this annotation
*/
static vtkInformationDataObjectKey* DATA();
/**
* Initialize the annotation to an empty state.
*/
void Initialize() override;
/**
* Make this annotation have the same properties and have
* the same selection of another annotation.
*/
void ShallowCopy(vtkDataObject* other) override;
/**
* Make this annotation have the same properties and have
* a copy of the selection of another annotation.
*/
void DeepCopy(vtkDataObject* other) override;
/**
* Get the modified time of this object.
*/
vtkMTimeType GetMTime() override;
protected:
vtkAnnotation();
~vtkAnnotation() override;
vtkSelection* Selection;
private:
vtkAnnotation(const vtkAnnotation&) = delete;
void operator=(const vtkAnnotation&) = delete;
};
VTK_ABI_NAMESPACE_END
#endif
|