VTK  9.3.20240418
vtkNonLinearCell.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
18 #ifndef vtkNonLinearCell_h
19 #define vtkNonLinearCell_h
20 
21 #include "vtkCell.h"
22 #include "vtkCommonDataModelModule.h" // For export macro
23 
24 VTK_ABI_NAMESPACE_BEGIN
25 class VTKCOMMONDATAMODEL_EXPORT vtkNonLinearCell : public vtkCell
26 {
27 public:
28  vtkTypeMacro(vtkNonLinearCell, vtkCell);
29  void PrintSelf(ostream& os, vtkIndent indent) override;
30 
36  int IsLinear() override { return 0; }
37 
61  virtual bool StableClip(double value, vtkDataArray* cellScalars,
62  vtkIncrementalPointLocator* locator, vtkCellArray* connectivity, vtkPointData* inPd,
63  vtkPointData* outPd, vtkCellData* inCd, vtkIdType cellId, vtkCellData* outCd, int insideOut)
64  {
65  this->Clip(
66  value, cellScalars, locator, connectivity, inPd, outPd, inCd, cellId, outCd, insideOut);
67  return false;
68  }
69 
70 protected:
72  ~vtkNonLinearCell() override = default;
73 
74 private:
75  vtkNonLinearCell(const vtkNonLinearCell&) = delete;
76  void operator=(const vtkNonLinearCell&) = delete;
77 };
78 
79 VTK_ABI_NAMESPACE_END
80 #endif
object to represent cell connectivity
Definition: vtkCellArray.h:286
represent and manipulate cell attribute data
Definition: vtkCellData.h:141
abstract class to specify cell behavior
Definition: vtkCell.h:130
virtual void Clip(double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *connectivity, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, int insideOut)=0
Cut (or clip) the cell based on the input cellScalars and the specified value.
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:155
Abstract class in support of both point location and point insertion.
a simple class to control print indentation
Definition: vtkIndent.h:108
abstract superclass for non-linear cells
~vtkNonLinearCell() override=default
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual bool StableClip(double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *connectivity, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, int insideOut)
Clip the cell based on the input cellScalars and the specified value.
int IsLinear() override
Non-linear cells require special treatment (tessellation) when converting to graphics primitives (dur...
represent and manipulate point attribute data
Definition: vtkPointData.h:140
@ value
Definition: vtkX3D.h:220
int vtkIdType
Definition: vtkType.h:315