VTK  9.1.0
vtkCoincidentPoints.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkCoincidentPoints.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
15/*-------------------------------------------------------------------------
16 Copyright 2008 Sandia Corporation.
17 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18 the U.S. Government retains certain rights in this software.
19-------------------------------------------------------------------------*/
30#ifndef vtkCoincidentPoints_h
31#define vtkCoincidentPoints_h
32
33#include "vtkFiltersGeneralModule.h" // For export macro
34#include "vtkObject.h"
35
36class vtkIdList;
37class vtkPoints;
38
39class VTKFILTERSGENERAL_EXPORT vtkCoincidentPoints : public vtkObject
40{
41public:
44 void PrintSelf(ostream& os, vtkIndent indent) override;
45
53 void AddPoint(vtkIdType Id, const double point[3]);
54
59 vtkIdList* GetCoincidentPointIds(const double point[3]);
60
66
71
77
82 void Clear();
83
84 class implementation;
85 implementation* GetImplementation() { return this->Implementation; }
86
92 static void SpiralPoints(vtkIdType num, vtkPoints* offsets);
93
94protected:
97
98private:
100 void operator=(const vtkCoincidentPoints&) = delete;
101
102 implementation* Implementation;
103
104 friend class implementation;
105};
106
107#endif // vtkCoincidentPoints_h
contains an octree of labels
~vtkCoincidentPoints() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void AddPoint(vtkIdType Id, const double point[3])
Accumulates a set of Ids in a map where the point coordinate is the key.
static void SpiralPoints(vtkIdType num, vtkPoints *offsets)
Calculate num points, at a regular interval, along a parametric spiral.
vtkIdList * GetNextCoincidentPointIds()
Used to iterate the sets of coincident points within the map.
void Clear()
Clear the maps for reuse.
void RemoveNonCoincidentPoints()
Iterate through all added points and remove any entries that have no coincident points (only a single...
void InitTraversal()
Initialize iteration to the beginning of the coincident point map.
static vtkCoincidentPoints * New()
vtkIdList * GetCoincidentPointIds(const double point[3])
Retrieve the list of point Ids that are coincident with the given point.
implementation * GetImplementation()
list of point or cell ids
Definition: vtkIdList.h:140
a simple class to control print indentation
Definition: vtkIndent.h:113
abstract base class for most VTK objects
Definition: vtkObject.h:82
represent and manipulate 3D points
Definition: vtkPoints.h:143
int vtkIdType
Definition: vtkType.h:332