Files
ThirdParty-6/ParaView-5.0.1/CoProcessing/TestDriver/vtkCPUnstructuredGridBuilder.h

86 lines
2.8 KiB
C++

/*=========================================================================
Program: ParaView
Module: vtkCPUnstructuredGridBuilder.h
Copyright (c) Kitware, Inc.
All rights reserved.
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkCPUnstructuredGridBuilder - Class for creating unstructured grids.
// .SECTION Description
// Class for creating vtkUnstructuredGrids for a test driver. Note that
// the user must call SetPoints(), Allocate(), and InsertNextCell().
#ifndef vtkCPUnstructuredGridBuilder_h
#define vtkCPUnstructuredGridBuilder_h
#include "vtkCPGridBuilder.h"
#include "vtkPVCatalystTestDriverModule.h" // needed for export macros
class vtkDataObject;
class vtkIdList;
class vtkPoints;
class vtkUnstructuredGrid;
class VTKPVCATALYSTTESTDRIVER_EXPORT vtkCPUnstructuredGridBuilder : public vtkCPGridBuilder
{
public:
static vtkCPUnstructuredGridBuilder* New();
vtkTypeMacro(vtkCPUnstructuredGridBuilder, vtkCPGridBuilder);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Return a grid. BuiltNewGrid is set to 0 if the grids
// that were returned were already built before.
// vtkCPUnstructuredGridBuilder will also delete the grid.
virtual vtkDataObject* GetGrid(unsigned long timeStep, double time,
int & builtNewGrid);
// Description:
// Get the UnstructuredGrid.
vtkUnstructuredGrid* GetUnstructuredGrid();
// Description:
// Set the vtkPoints of the vtkUnstructuredGrid. Returns true
// if successful.
bool SetPoints(vtkPoints* points);
// Description:
// Allocate memory for the cells on UnstructuredGrid.
virtual void Allocate(vtkIdType numCells=1000, int extSize=1000);
// Description:
// Insert/create cell in object by type and list of point
// ids defining cell topology.
vtkIdType InsertNextCell(int type, vtkIdType npts, vtkIdType *pts);
vtkIdType InsertNextCell(int type, vtkIdList *ptIds);
protected:
vtkCPUnstructuredGridBuilder();
~vtkCPUnstructuredGridBuilder();
// Description:
// Flag to indicate if UnstructuredGrid has been modified since last call
// to GetGrid().
bool IsGridModified;
// Description:
// Macro to set UnstructuredGrid.
void SetUnstructuredGrid(vtkUnstructuredGrid* grid);
private:
vtkCPUnstructuredGridBuilder(const vtkCPUnstructuredGridBuilder&); // Not implemented
void operator=(const vtkCPUnstructuredGridBuilder&); // Not implemented
// Description:
// The unstructured grid that is created.
vtkUnstructuredGrid* UnstructuredGrid;
};
#endif