You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.7 KiB
74 lines
2.7 KiB
/*=========================================================================
|
|
|
|
Program: Visualization Toolkit
|
|
Module: $RCSfile: vtkExplicitCell.h,v $
|
|
|
|
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
|
|
All rights reserved.
|
|
See Copyright.txt or http://www.kitware.com/Copyright.htm 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 vtkExplicitCell - abstract superclass for cells requiring an explicit representation
|
|
// .SECTION Description
|
|
// vtkExplicitCell is an abstract superclass for cells that cannot be
|
|
// represented implicitly. An implicit representation requires only a
|
|
// cell type and connectivity list (e.g., triangle). Explicit cells
|
|
// require information beyond this; e.g., a NURBS surface or cells that
|
|
// require explicit face/edge descriptions. Most cells in VTK are
|
|
// implicitly represented.
|
|
|
|
#ifndef __vtkExplicitCell_h
|
|
#define __vtkExplicitCell_h
|
|
|
|
#include "vtkNonLinearCell.h"
|
|
|
|
class vtkDataSet;
|
|
|
|
class VTK_FILTERING_EXPORT vtkExplicitCell : public vtkNonLinearCell
|
|
{
|
|
public:
|
|
vtkTypeRevisionMacro(vtkExplicitCell,vtkNonLinearCell);
|
|
void PrintSelf(ostream& os, vtkIndent indent);
|
|
|
|
// Description:
|
|
// Explicit cells require additional representational information
|
|
// beyond the usual cell type and connectivity list information.
|
|
// Most cells in VTK are implicit cells. The vtkCell::IsImplicitCell()
|
|
// virtual function is overloaded to reflect this requirement.
|
|
virtual int IsExplicitCell() {return 1;}
|
|
|
|
// Description:
|
|
// Set/Get the cell id. This is necessary for explicit cells because they
|
|
// often need to keep extra information (typically contained in the
|
|
// cell data of a point set). This information might be things like
|
|
// knot points/weights, boundaries, etc.
|
|
vtkSetMacro(CellId,vtkIdType);
|
|
vtkGetMacro(CellId,vtkIdType);
|
|
|
|
// Description:
|
|
// Set/Get the mesh that owns this cell. This is necessary for explicit
|
|
// cells because they often need to keep extra information (typically
|
|
// contained in the cell data of a point set). This information might be
|
|
// things like knot points/weights, boundaries, etc.
|
|
virtual void SetDataSet(vtkDataSet*);
|
|
vtkGetObjectMacro(DataSet,vtkDataSet);
|
|
|
|
protected:
|
|
vtkExplicitCell();
|
|
~vtkExplicitCell() {}
|
|
|
|
vtkIdType CellId; //used to index into other arrays
|
|
vtkDataSet *DataSet; //dataset from which this cell came
|
|
|
|
private:
|
|
vtkExplicitCell(const vtkExplicitCell&); // Not implemented.
|
|
void operator=(const vtkExplicitCell&); // Not implemented.
|
|
};
|
|
|
|
#endif
|
|
|
|
|
|
|