67 #include "vtkCommonDataModelModule.h"
83 struct vtkPolyDataDummyContainter;
110 int GetCellType(
vtkIdType cellId) VTK_OVERRIDE;
111 void GetCellBounds(
vtkIdType cellId,
double bounds[6]) VTK_OVERRIDE;
139 void ComputeBounds() VTK_OVERRIDE;
147 void Squeeze() VTK_OVERRIDE;
152 int GetMaxCellSize() VTK_OVERRIDE;
216 void Allocate(
vtkIdType numCells=1000,
int extSize=1000);
267 bool NeedToBuildCells() {
return this->Cells == 0; }
275 void BuildLinks(
int initialSize=0);
324 int IsTriangle(
int v1,
int v2,
int v3);
375 void RemoveDeletedCells();
385 vtkIdType InsertNextLinkedPoint(
int numLinks);
386 vtkIdType InsertNextLinkedPoint(
double x[3],
int numLinks);
412 void RemoveCellReference(
vtkIdType cellId);
453 virtual
int GetPiece();
454 virtual
int GetNumberOfPieces();
460 virtual
int GetGhostLevel();
470 unsigned long GetActualMemorySize() VTK_OVERRIDE;
485 void RemoveGhostCells();
515 ERR_NO_SUCH_FIELD = -4,
516 ERR_INCORRECT_FIELD = -3,
517 ERR_NON_MANIFOLD_STAR = -2,
524 int GetScalarFieldCriticalIndex (
vtkIdType pointId,
526 int GetScalarFieldCriticalIndex (
vtkIdType pointId,
int fieldId);
527 int GetScalarFieldCriticalIndex (
vtkIdType pointId,
const char* fieldName);
552 static vtkPolyDataDummyContainter DummyContainer;
572 void operator=(const
vtkPolyData&) VTK_DELETE_FUNCTION;
578 ncells = this->Links->GetNcells(ptId);
579 cells = this->Links->GetCells(ptId);
584 unsigned short int n1;
598 if ( (tVerts[0] == tVerts2[0] || tVerts[0] == tVerts2[1] ||
599 tVerts[0] == tVerts2[2]) &&
600 (tVerts[1] == tVerts2[0] || tVerts[1] == tVerts2[1] ||
601 tVerts[1] == tVerts2[2]) &&
602 (tVerts[2] == tVerts2[0] || tVerts[2] == tVerts2[1] ||
603 tVerts[2] == tVerts2[2]) )
619 if ( pts[i] == ptId )
630 this->Links->DeletePoint(ptId);
635 this->Cells->DeleteCell(cellId);
645 this->Links->RemoveCellReference(cellId, pts[i]);
656 this->Links->AddCellReference(cellId, pts[i]);
662 this->Links->ResizeCellList(ptId,size);
672 for ( i=0; i < nverts; i++ )
674 if ( verts[i] == oldPtId )
685 unsigned char type = this->Cells->GetCellType(cellId);
702 cells = this->Strips;
711 int loc = this->Cells->GetCellLocation(cellId);
712 cells->
GetCell(loc, npts, pts);
719 unsigned char type = this->Cells->GetCellType(cellId);
736 cells = this->Strips;
744 int loc = this->Cells->GetCellLocation(cellId);
745 cell = cells->
GetData()->GetPointer(loc);
virtual vtkIdType GetNumberOfCells()=0
Determine the number of cells composing the dataset.
virtual void GetPointCells(vtkIdType ptId, vtkIdList *cellIds)=0
Topological inquiry to get cells using point.
object represents upward pointers from points to list of cells using each point
void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds) override
Copy a cells point ids into list provided.
static vtkDataObject * New()
quickly locate points in 3-space
void ReplaceCellPoint(vtkIdType cellId, vtkIdType oldPtId, vtkIdType newPtId)
Replace a point in the cell connectivity list with a different point.
abstract class to specify dataset behavior
a cell that represents a 3D point
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
void AddCellReference(vtkIdType cellId)
Add references to cell in cell structure.
a cell that represents a 2D quadrilateral
abstract class for specifying dataset behavior
an empty cell used as a place-holder during processing
concrete dataset represents vertices, lines, polygons, and triangle strips
cell represents a set of 0D vertices
void RemoveCellReference(vtkIdType cellId)
Remove all references to cell in cell structure.
void DeletePoint(vtkIdType ptId)
Mark a point/cell as deleted from this vtkPolyData.
provides thread-safe access to cells
int GetDataObjectType() override
Return what type of dataset this is.
a cell that represents a triangle strip
cell represents a 1D line
abstract class to specify cell behavior
vtkCell * GetCell(vtkIdType cellId) override
Standard vtkDataSet interface.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
int IsTriangle(int v1, int v2, int v3)
Given three vertices, determine whether it's a triangle.
list of point or cell ids
void Initialize() override
Reset to an empty state and free any memory.
virtual void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds)=0
Topological inquiry to get points defining cell.
abstract superclass for arrays of numeric data
a cell that represents an n-sided polygon
void ResizeCellList(vtkIdType ptId, int size)
Resize the list of cells using a particular point.
virtual void GetCellNeighbors(vtkIdType cellId, vtkIdList *ptIds, vtkIdList *cellIds)
Topological inquiry to get all cells using list of points exclusive of cell specified (e...
int IsPointUsedByCell(vtkIdType ptId, vtkIdType cellId)
Determine whether a point is used by a particular cell.
object to represent cell connectivity
a cell that represents a triangle
vtkIdTypeArray * GetData()
Return the underlying data as a data array.
void DeleteCell(vtkIdType cellId)
Mark a point/cell as deleted from this vtkPolyData.
void CopyStructure(vtkDataSet *pd) override
Copy the geometric structure of an input point set object.
general representation of visualization data
object provides direct access to cells in vtkCellArray and type information
virtual vtkCell * GetCell(vtkIdType cellId)=0
Get cell with cellId such that: 0 <= cellId < NumberOfCells.
void GetCell(vtkIdType loc, vtkIdType &npts, vtkIdType *&pts)
Internal method used to retrieve a cell given an offset into the internal array.
cell represents a set of 1D lines