VTK  9.4.20241222
vtkEmptyCell.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
14#ifndef vtkEmptyCell_h
15#define vtkEmptyCell_h
16
17#include "vtkCell.h"
18#include "vtkCommonDataModelModule.h" // For export macro
19
20VTK_ABI_NAMESPACE_BEGIN
21class VTKCOMMONDATAMODEL_EXPORT vtkEmptyCell : public vtkCell
22{
23public:
24 static vtkEmptyCell* New();
25 vtkTypeMacro(vtkEmptyCell, vtkCell);
26 void PrintSelf(ostream& os, vtkIndent indent) override;
27
29
32 int GetCellType() override { return VTK_EMPTY_CELL; }
33 int GetCellDimension() override { return 0; }
34 int GetNumberOfEdges() override { return 0; }
35 int GetNumberOfFaces() override { return 0; }
36 vtkCell* GetEdge(int) override { return nullptr; }
37 vtkCell* GetFace(int) override { return nullptr; }
38 int CellBoundary(int subId, const double pcoords[3], vtkIdList* pts) override;
39 void Contour(double value, vtkDataArray* cellScalars, vtkIncrementalPointLocator* locator,
40 vtkCellArray* verts1, vtkCellArray* lines, vtkCellArray* verts2, vtkPointData* inPd,
41 vtkPointData* outPd, vtkCellData* inCd, vtkIdType cellId, vtkCellData* outCd) override;
42 void Clip(double value, vtkDataArray* cellScalars, vtkIncrementalPointLocator* locator,
43 vtkCellArray* pts, vtkPointData* inPd, vtkPointData* outPd, vtkCellData* inCd, vtkIdType cellId,
44 vtkCellData* outCd, int insideOut) override;
46
47 int EvaluatePosition(const double x[3], double closestPoint[3], int& subId, double pcoords[3],
48 double& dist2, double weights[]) override;
49 void EvaluateLocation(int& subId, const double pcoords[3], double x[3], double* weights) override;
50 int IntersectWithLine(const double p1[3], const double p2[3], double tol, double& t, double x[3],
51 double pcoords[3], int& subId) override;
52 int TriangulateLocalIds(int index, vtkIdList* ptIds) override;
54 int subId, const double pcoords[3], const double* values, int dim, double* derivs) override;
55
56protected:
57 vtkEmptyCell() = default;
58 ~vtkEmptyCell() override = default;
59
60private:
61 vtkEmptyCell(const vtkEmptyCell&) = delete;
62 void operator=(const vtkEmptyCell&) = delete;
63};
64
65VTK_ABI_NAMESPACE_END
66#endif
object to represent cell connectivity
represent and manipulate cell attribute data
abstract class to specify cell behavior
Definition vtkCell.h:130
abstract superclass for arrays of numeric data
an empty cell used as a place-holder during processing
void Derivatives(int subId, const double pcoords[3], const double *values, int dim, double *derivs) override
Compute derivatives given cell subId and parametric coordinates.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkEmptyCell * New()
int CellBoundary(int subId, const double pcoords[3], vtkIdList *pts) override
See the vtkCell API for descriptions of these methods.
void Contour(double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *verts1, vtkCellArray *lines, vtkCellArray *verts2, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd) override
See the vtkCell API for descriptions of these methods.
vtkEmptyCell()=default
int GetNumberOfEdges() override
See the vtkCell API for descriptions of these methods.
int GetCellDimension() override
See the vtkCell API for descriptions of these methods.
int GetCellType() override
See the vtkCell API for descriptions of these methods.
int TriangulateLocalIds(int index, vtkIdList *ptIds) override
Generate simplices of proper dimension.
vtkCell * GetEdge(int) override
See the vtkCell API for descriptions of these methods.
int EvaluatePosition(const double x[3], double closestPoint[3], int &subId, double pcoords[3], double &dist2, double weights[]) override
Given a point x[3] return inside(=1), outside(=0) cell, or (-1) computational problem encountered; ev...
void EvaluateLocation(int &subId, const double pcoords[3], double x[3], double *weights) override
Determine global coordinate (x[3]) from subId and parametric coordinates.
int IntersectWithLine(const double p1[3], const double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId) override
Intersect with a ray.
void Clip(double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *pts, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, int insideOut) override
See the vtkCell API for descriptions of these methods.
~vtkEmptyCell() override=default
vtkCell * GetFace(int) override
See the vtkCell API for descriptions of these methods.
int GetNumberOfFaces() override
See the vtkCell API for descriptions of these methods.
list of point or cell ids
Definition vtkIdList.h:133
Abstract class in support of both point location and point insertion.
a simple class to control print indentation
Definition vtkIndent.h:108
represent and manipulate point attribute data
@ VTK_EMPTY_CELL
Definition vtkCellType.h:37
int vtkIdType
Definition vtkType.h:315