24#ifndef _SMDS_UNSTRUCTUREDGRID_HXX
25#define _SMDS_UNSTRUCTUREDGRID_HXX
29#include <vtkUnstructuredGrid.h>
30#include <vtkCellLinks.h>
31#include <smIdType.hxx>
39#define VTK_MAXTYPE VTK_POLYHEDRON
44#define NBMAXNEIGHBORS 100
47#define NBMAXNODESINCELL 5000
51 #ifndef VTK_HAS_MTIME_TYPE
52 #define VTK_HAS_MTIME_TYPE
65 void ResizeForPoint(vtkIdType vtkID);
66 void BuildLinks(vtkDataSet *data, vtkCellArray *
Connectivity, vtkUnsignedCharArray* types);
111 void compactGrid(std::vector<smIdType>& idNodesOldToNew,
112 smIdType newNodeSize,
113 std::vector<smIdType>& idCellsOldToNew,
114 smIdType newCellSize);
116 virtual vtkPoints *GetPoints();
118 vtkIdType InsertNextLinkedCell(
int type,
int npts, vtkIdType *pts);
120 int CellIdToDownId(vtkIdType vtkCellId);
121 void setCellIdToDownId(vtkIdType vtkCellId,
int downId);
122 void CleanDownwardConnectivity();
123 void BuildDownwardConnectivity(
bool withEdges);
124 int GetNeighbors(
int* neighborsVtkIds,
int* downIds,
unsigned char* downTypes,
int vtkId,
bool getSkin=
false);
125 int GetParentVolumes(
int* volVtkIds,
int vtkId);
126 int GetParentVolumes(
int* volVtkIds,
int downId,
unsigned char downType);
127 void GetNodeIds(std::set<int>& nodeSet,
int downId,
unsigned char downType);
128 void ModifyCellNodes(
int vtkVolId, std::map<int, int> localClonedNodeIds);
129 int getOrderedNodesOfFace(
int vtkVolId,
int& dim, std::vector<vtkIdType>& orderedNodes);
130 SMDS_MeshCell* extrudeVolumeFromFace(
int vtkVolId,
int domain1,
int domain2,
131 std::set<int>& originalNodes,
132 std::map<
int, std::map<int, int> >& nodeDomains,
133 std::map<
int, std::map<long,int> >& nodeQuadDomains);
141 return _downArray[vtkType];
143 void AllocateDiameters( vtkIdType maxVtkID );
144 void SetBallDiameter( vtkIdType vtkID,
double diameter );
145 double GetBallDiameter( vtkIdType vtkID )
const;
153 void copyNodes(vtkPoints *newPoints, std::vector<smIdType>& idNodesOldToNew, vtkIdType& alreadyCopied, vtkIdType start, vtkIdType
end);
154 void copyBloc(vtkUnsignedCharArray *newTypes,
155 const std::vector<smIdType>& idCellsOldToNew,
156 const std::vector<smIdType>& idNodesOldToNew,
157 vtkCellArray* newConnectivity,
158 vtkIdTypeArray* newLocations,
159 std::vector<vtkIdType>& pointsCell);
unsigned long int vtkMTimeType
Definition: SMDS_UnstructuredGrid.hxx:53
#define SMDS_EXPORT
Definition: SMESH_SMDS.hxx:37
IMAP::const_iterator end(const IMAP &m)
Definition: StdMeshers_Projection_2D.cxx:106
Definition: SMDS_UnstructuredGrid.hxx:63
Definition: SMDS_Downward.hxx:68
Base class for all cells.
Definition: SMDS_MeshCell.hxx:32
Mesh volume.
Definition: SMDS_MeshVolume.hxx:40
Definition: SMDS_Mesh.hxx:53
This class extends vtkUnstructuredGrid to deal with downward connectivity.
Definition: SMDS_UnstructuredGrid.hxx:108
std::vector< int > _cellIdToDownId
convert vtk Id to downward[vtkType] id, initialized with -1
Definition: SMDS_UnstructuredGrid.hxx:161
std::vector< unsigned char > _downTypes
Definition: SMDS_UnstructuredGrid.hxx:162
std::vector< SMDS_Downward * > _downArray
Definition: SMDS_UnstructuredGrid.hxx:163
bool HasLinks() const
Definition: SMDS_UnstructuredGrid.hxx:137
SMDS_Mesh * _mesh
Definition: SMDS_UnstructuredGrid.hxx:148
SMDS_Downward * getDownArray(unsigned char vtkType)
Definition: SMDS_UnstructuredGrid.hxx:139
QMap< int, QList< int > > Connectivity
Definition: SMESHGUI_SelectionProxy.h:114