VTK  9.6.20260704
vtkNonLinearCell3D.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
12
13#ifndef vtkNonLinearCell3D_h
14#define vtkNonLinearCell3D_h
15
16#include "vtkCommonDataModelModule.h" // For export macro
17#include "vtkNonLinearCell.h"
18
19VTK_ABI_NAMESPACE_BEGIN
20class VTKCOMMONDATAMODEL_EXPORT vtkNonLinearCell3D : public vtkNonLinearCell
21{
22public:
24 void PrintSelf(ostream& os, vtkIndent indent) override;
25
27
31 int GetCellDimension() override { return 3; }
32
51
62 VTK_EXPECTS(0 <= pointId && pointId < GetNumberOfPoints()) = 0;
63
73 virtual vtkIdType GetEdgePoints(vtkIdType edgeId, const vtkIdType*& pts) VTK_SIZEHINT(pts, _)
74 VTK_EXPECTS(0 <= edgeId && edgeId < GetNumberOfEdges()) = 0;
75
85 virtual vtkIdType GetFacePoints(vtkIdType faceId, const vtkIdType*& pts) VTK_SIZEHINT(pts, _)
86 VTK_EXPECTS(0 <= faceId && faceId < GetNumberOfFaces()) = 0;
87
95 virtual void GetEdgeToAdjacentFaces(vtkIdType edgeId, const vtkIdType*& faceIds)
96 VTK_SIZEHINT(faceIds, 2) VTK_EXPECTS(0 <= edgeId && edgeId < GetNumberOfEdges()) = 0;
97
113 virtual vtkIdType GetFaceToAdjacentFaces(vtkIdType faceId, const vtkIdType*& faceIds)
114 VTK_SIZEHINT(faceIds, _) VTK_EXPECTS(0 <= faceId && faceId < GetNumberOfFaces()) = 0;
115
132 virtual vtkIdType GetPointToIncidentEdges(vtkIdType pointId, const vtkIdType*& edgeIds)
133 VTK_SIZEHINT(edgeIds, _) VTK_EXPECTS(0 <= pointId && pointId < GetNumberOfPoints()) = 0;
134
156 virtual vtkIdType GetPointToIncidentFaces(vtkIdType pointId, const vtkIdType*& faceIds)
157 VTK_SIZEHINT(faceIds, _) VTK_EXPECTS(0 <= pointId && pointId < GetNumberOfPoints()) = 0;
158
177 VTK_SIZEHINT(pts, _) VTK_EXPECTS(0 <= pointId && pointId < GetNumberOfPoints()) = 0;
178
188 virtual bool IsInsideOut();
189
199 int Inflate(double dist) override;
200
201protected:
203 ~vtkNonLinearCell3D() override = default;
204
205private:
206 vtkNonLinearCell3D(const vtkNonLinearCell3D&) = delete;
207 void operator=(const vtkNonLinearCell3D&) = delete;
208};
209
210VTK_ABI_NAMESPACE_END
211#endif // vtkNonLinearCell3D_h
virtual int GetNumberOfEdges()=0
Return the number of edges in the cell.
virtual int GetNumberOfFaces()=0
Return the number of faces in the cell.
vtkIdType GetNumberOfPoints() const
Return the number of points in the cell.
Definition vtkCell.h:208
a simple class to control print indentation
Definition vtkIndent.h:108
int Inflate(double dist) override
Inflate the cell.
virtual vtkIdType GetFacePoints(vtkIdType faceId, const vtkIdType *&pts)=0
Get the list of vertices that define a face.
virtual vtkIdType GetFaceToAdjacentFaces(vtkIdType faceId, const vtkIdType *&faceIds)=0
Get the ids of the adjacent faces to face of id faceId.
virtual vtkIdType GetPointToOneRingPoints(vtkIdType pointId, const vtkIdType *&pts)=0
Get the ids of the one-ring neighbors of point of id pointId.
PointType
Describes the topological role of a point within a non-linear cell.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int GetCellDimension() override
Implement the vtkCell API.
virtual vtkIdType GetPointToIncidentFaces(vtkIdType pointId, const vtkIdType *&faceIds)=0
Get the ids of the faces incident to point of id pointId.
virtual PointType GetPointType(vtkIdType pointId)=0
Get the topological type of point of id pointId within this cell.
virtual vtkIdType GetEdgePoints(vtkIdType edgeId, const vtkIdType *&pts)=0
Get the vertices that define an edge.
vtkNonLinearCell3D()=default
Describes the topological role of a point within a non-linear cell.
virtual vtkIdType GetPointToIncidentEdges(vtkIdType pointId, const vtkIdType *&edgeIds)=0
Get the ids of the edges incident to point of id pointId.
virtual bool IsInsideOut()
Returns true if the normals of the vtkNonLinearCell3D point inside the cell.
virtual void GetEdgeToAdjacentFaces(vtkIdType edgeId, const vtkIdType *&faceIds)=0
Get the ids of the two adjacent faces to edge of id edgeId.
int vtkIdType
Definition vtkType.h:363
#define VTK_SIZEHINT(...)
#define VTK_EXPECTS(x)