VMTK
vtkvmtkPolyDataScissors.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: VMTK
4 Module: $RCSfile: vtkvmtkPolyDataScissors.h,v $
5 Language: C++
6 
7  Copyright (c) Luca Antiga, David Steinman. All rights reserved.
8  See LICENSE file for details.
9 
10  Portions of this code are covered under the VTK copyright.
11  See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm
12  for details.
13 
14  This software is distributed WITHOUT ANY WARRANTY; without even
15  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16  PURPOSE. See the above copyright notices for more information.
17 
18 =========================================================================*/
28 #ifndef __vtkvmtkPolyDataScissors_h
29 #define __vtkvmtkPolyDataScissors_h
30 
31 #include "vtkPolyDataAlgorithm.h"
32 #include "vtkPolyData.h"
33 //#include "vtkvmtkComputationalGeometryWin32Header.h"
34 #include "vtkvmtkWin32Header.h"
35 
36 class VTK_VMTK_COMPUTATIONAL_GEOMETRY_EXPORT vtkvmtkPolyDataScissors : public vtkPolyDataAlgorithm
37 {
38  public:
39  vtkTypeMacro(vtkvmtkPolyDataScissors,vtkPolyDataAlgorithm);
40  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
41 
42  static vtkvmtkPolyDataScissors *New();
43 
44  vtkSetObjectMacro(CutLine,vtkPolyData);
45  vtkGetObjectMacro(CutLine,vtkPolyData);
46 
47  vtkSetStringMacro(CutLinePointIdsArrayName);
48  vtkGetStringMacro(CutLinePointIdsArrayName);
49 
50  protected:
53 
54  virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
55  int GetCellsOnSameSide(vtkPolyData* input, vtkIdType targetCellId0, vtkIdType targetCellId1, vtkIdType referenceCellId, vtkIdType linePointId0, vtkIdType linePointId1, vtkIdType linePointId2, vtkIdList *cellsOnSameSide);
56  int IsEdgeInCell(vtkPolyData *input, vtkIdType edgePointId0, vtkIdType edgePointId1, vtkIdType cellId);
57 
59  vtkPolyData *CutLine;
60 
61 private:
62  vtkvmtkPolyDataScissors(const vtkvmtkPolyDataScissors&); // Not implemented.
63  void operator=(const vtkvmtkPolyDataScissors&); // Not implemented.
64 };
65 
66 #endif
not implemented, try to cut a surface along a line.