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);
77 void compactGrid(std::vector<smIdType>& idNodesOldToNew,
79 std::vector<smIdType>& idCellsOldToNew,
80 smIdType newCellSize);
82 virtual vtkPoints *GetPoints();
84 vtkIdType InsertNextLinkedCell(
int type,
int npts, vtkIdType *pts);
86 int CellIdToDownId(vtkIdType vtkCellId);
87 void setCellIdToDownId(vtkIdType vtkCellId,
int downId);
88 void CleanDownwardConnectivity();
89 void BuildDownwardConnectivity(
bool withEdges);
90 int GetNeighbors(
int* neighborsVtkIds,
int* downIds,
unsigned char* downTypes,
int vtkId,
bool getSkin=
false);
91 int GetParentVolumes(
int* volVtkIds,
int vtkId);
92 int GetParentVolumes(
int* volVtkIds,
int downId,
unsigned char downType);
93 void GetNodeIds(std::set<int>& nodeSet,
int downId,
unsigned char downType);
94 void ModifyCellNodes(
int vtkVolId, std::map<int, int> localClonedNodeIds);
95 int getOrderedNodesOfFace(
int vtkVolId,
int& dim, std::vector<vtkIdType>& orderedNodes);
96 SMDS_MeshCell* extrudeVolumeFromFace(
int vtkVolId,
int domain1,
int domain2,
97 std::set<int>& originalNodes,
98 std::map<
int, std::map<int, int> >& nodeDomains,
99 std::map<
int, std::map<long,int> >& nodeQuadDomains);
107 return _downArray[vtkType];
109 void AllocateDiameters( vtkIdType maxVtkID );
110 void SetBallDiameter( vtkIdType vtkID,
double diameter );
111 double GetBallDiameter( vtkIdType vtkID )
const;
119 void copyNodes(vtkPoints *newPoints, std::vector<smIdType>& idNodesOldToNew, vtkIdType& alreadyCopied, vtkIdType start, vtkIdType
end);
120 void copyBloc(vtkUnsignedCharArray *newTypes,
121 const std::vector<smIdType>& idCellsOldToNew,
122 const std::vector<smIdType>& idNodesOldToNew,
123 vtkCellArray* newConnectivity,
124 vtkIdTypeArray* newLocations,
125 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
Definition: SMDS_UnstructuredGrid.hxx:74
SMDS_Downward * getDownArray(unsigned char vtkType)
Definition: SMDS_UnstructuredGrid.hxx:105
std::vector< int > _cellIdToDownId
convert vtk Id to downward[vtkType] id, initialized with -1
Definition: SMDS_UnstructuredGrid.hxx:127
std::vector< unsigned char > _downTypes
Definition: SMDS_UnstructuredGrid.hxx:128
std::vector< SMDS_Downward * > _downArray
Definition: SMDS_UnstructuredGrid.hxx:129
bool HasLinks() const
Definition: SMDS_UnstructuredGrid.hxx:103
SMDS_Mesh * _mesh
Definition: SMDS_UnstructuredGrid.hxx:114
QMap< int, QList< int > > Connectivity
Definition: SMESHGUI_SelectionProxy.h:114