vtkPV3FoamMesh.C 14.5 KB
Newer Older
1
2
3
4
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     |
Mark Olesen's avatar
Mark Olesen committed
5
    \\  /    A nd           | Copyright (C) 1991-2009 OpenCFD Ltd.
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
     \\/     M anipulation  |
-------------------------------------------------------------------------------
License
    This file is part of OpenFOAM.

    OpenFOAM is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by the
    Free Software Foundation; either version 2 of the License, or (at your
    option) any later version.

    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    for more details.

    You should have received a copy of the GNU General Public License
    along with OpenFOAM; if not, write to the Free Software Foundation,
    Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Description

\*---------------------------------------------------------------------------*/

#include "vtkPV3Foam.H"

// Foam includes
#include "cellSet.H"
#include "faceSet.H"
#include "pointSet.H"
#include "fvMeshSubset.H"
#include "vtkPV3FoamReader.h"

// VTK includes
#include "vtkDataArraySelection.h"
#include "vtkMultiBlockDataSet.h"
#include "vtkPolyData.h"
#include "vtkUnstructuredGrid.h"

// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //

void Foam::vtkPV3Foam::convertMeshVolume
(
48
49
    vtkMultiBlockDataSet* output,
    int& blockNo
50
51
)
{
Mark Olesen's avatar
Mark Olesen committed
52
53
54
55
56
57
58
59
    partInfo& selector = partInfoVolume_;
    selector.block(blockNo);   // set output block
    label datasetNo = 0;       // restart at dataset 0
    const fvMesh& mesh = *meshPtr_;

    // resize for decomposed polyhedra
    regionPolyDecomp_.setSize(selector.size());

60
61
    if (debug)
    {
62
        Info<< "<beg> Foam::vtkPV3Foam::convertMeshVolume" << endl;
Mark Olesen's avatar
Mark Olesen committed
63
        printMemory();
64
65
    }

Mark Olesen's avatar
Mark Olesen committed
66
    // Convert the internalMesh
67
    // this looks like more than one part, but it isn't
Mark Olesen's avatar
Mark Olesen committed
68
69
70
    for (int partId = selector.start(); partId < selector.end(); ++partId)
    {
        const word partName = "internalMesh";
71

Mark Olesen's avatar
Mark Olesen committed
72
        if (!partStatus_[partId])
73
        {
Mark Olesen's avatar
Mark Olesen committed
74
            continue;
75
76
        }

Mark Olesen's avatar
Mark Olesen committed
77
78
79
        vtkUnstructuredGrid* vtkmesh = volumeVTKMesh
        (
            mesh,
Mark Olesen's avatar
Mark Olesen committed
80
            regionPolyDecomp_[datasetNo]
Mark Olesen's avatar
Mark Olesen committed
81
        );
82

Mark Olesen's avatar
Mark Olesen committed
83
84
        if (vtkmesh)
        {
Mark Olesen's avatar
Mark Olesen committed
85
            AddToBlock(output, vtkmesh, selector, datasetNo, partName);
Mark Olesen's avatar
Mark Olesen committed
86
            vtkmesh->Delete();
87

Mark Olesen's avatar
Mark Olesen committed
88
            partDataset_[partId] = datasetNo++;
Mark Olesen's avatar
Mark Olesen committed
89
        }
90
91
    }

Mark Olesen's avatar
Mark Olesen committed
92
    // anything added?
Mark Olesen's avatar
Mark Olesen committed
93
    if (datasetNo)
94
95
    {
        ++blockNo;
96
    }
97
98
99
100

    if (debug)
    {
        Info<< "<end> Foam::vtkPV3Foam::convertMeshVolume" << endl;
Mark Olesen's avatar
Mark Olesen committed
101
        printMemory();
102
    }
103
104
105
106
107
}


void Foam::vtkPV3Foam::convertMeshLagrangian
(
108
109
    vtkMultiBlockDataSet* output,
    int& blockNo
110
111
)
{
Mark Olesen's avatar
Mark Olesen committed
112
113
114
115
116
    partInfo& selector = partInfoLagrangian_;
    selector.block(blockNo);   // set output block
    label datasetNo = 0;       // restart at dataset 0
    const fvMesh& mesh = *meshPtr_;

117
118
    if (debug)
    {
119
        Info<< "<beg> Foam::vtkPV3Foam::convertMeshLagrangian" << endl;
Mark Olesen's avatar
Mark Olesen committed
120
        printMemory();
121
122
    }

Mark Olesen's avatar
Mark Olesen committed
123
124
125
126
127
    for (int partId = selector.start(); partId < selector.end(); ++partId)
    {
        const word cloudName = getPartName(partId);

        if (!partStatus_[partId])
128
129
130
131
        {
            continue;
        }

Mark Olesen's avatar
Mark Olesen committed
132
        vtkPolyData* vtkmesh = lagrangianVTKMesh(mesh, cloudName);
Mark Olesen's avatar
Mark Olesen committed
133

Mark Olesen's avatar
Mark Olesen committed
134
135
        if (vtkmesh)
        {
Mark Olesen's avatar
Mark Olesen committed
136
            AddToBlock(output, vtkmesh, selector, datasetNo, cloudName);
Mark Olesen's avatar
Mark Olesen committed
137
            vtkmesh->Delete();
138

Mark Olesen's avatar
Mark Olesen committed
139
            partDataset_[partId] = datasetNo++;
Mark Olesen's avatar
Mark Olesen committed
140
        }
141
    }
142

Mark Olesen's avatar
Mark Olesen committed
143
    // anything added?
Mark Olesen's avatar
Mark Olesen committed
144
    if (datasetNo)
145
146
147
148
    {
        ++blockNo;
    }

149
150
151
    if (debug)
    {
        Info<< "<end> Foam::vtkPV3Foam::convertMeshLagrangian" << endl;
Mark Olesen's avatar
Mark Olesen committed
152
        printMemory();
153
    }
154
155
156
157
158
}


void Foam::vtkPV3Foam::convertMeshPatches
(
159
160
    vtkMultiBlockDataSet* output,
    int& blockNo
161
162
)
{
Mark Olesen's avatar
Mark Olesen committed
163
164
165
166
167
168
    partInfo& selector = partInfoPatches_;
    selector.block(blockNo);   // set output block
    label datasetNo = 0;       // restart at dataset 0
    const fvMesh& mesh = *meshPtr_;
    const polyBoundaryMesh& patches = mesh.boundaryMesh();

169
170
    if (debug)
    {
171
        Info<< "<beg> Foam::vtkPV3Foam::convertMeshPatches" << endl;
Mark Olesen's avatar
Mark Olesen committed
172
        printMemory();
173
174
    }

Mark Olesen's avatar
Mark Olesen committed
175
    for (int partId = selector.start(); partId < selector.end(); ++partId)
176
    {
Mark Olesen's avatar
Mark Olesen committed
177
178
        const word patchName = getPartName(partId);
        const label  patchId = patches.findPatchID(patchName);
179

Mark Olesen's avatar
Mark Olesen committed
180
        if (!partStatus_[partId] || patchId < 0)
181
        {
Mark Olesen's avatar
Mark Olesen committed
182
183
            continue;
        }
184

Mark Olesen's avatar
Mark Olesen committed
185
186
187
188
189
        if (debug)
        {
            Info<< "Creating VTK mesh for patch[" << patchId <<"] "
                << patchName  << endl;
        }
190

Mark Olesen's avatar
Mark Olesen committed
191
        vtkPolyData* vtkmesh = patchVTKMesh(patches[patchId]);
192

Mark Olesen's avatar
Mark Olesen committed
193
194
195
196
        if (vtkmesh)
        {
            AddToBlock(output, vtkmesh, selector, datasetNo, patchName);
            vtkmesh->Delete();
197

Mark Olesen's avatar
Mark Olesen committed
198
            partDataset_[partId] = datasetNo++;
199
200
        }
    }
201

Mark Olesen's avatar
Mark Olesen committed
202
    // anything added?
Mark Olesen's avatar
Mark Olesen committed
203
    if (datasetNo)
204
205
206
207
    {
        ++blockNo;
    }

208
209
210
    if (debug)
    {
        Info<< "<end> Foam::vtkPV3Foam::convertMeshPatches" << endl;
Mark Olesen's avatar
Mark Olesen committed
211
        printMemory();
212
    }
213
214
215
216
217
}


void Foam::vtkPV3Foam::convertMeshCellZones
(
218
219
    vtkMultiBlockDataSet* output,
    int& blockNo
220
221
)
{
Mark Olesen's avatar
Mark Olesen committed
222
223
224
225
226
227
228
229
230
231
232
233
234
    partInfo& selector = partInfoCellZones_;
    selector.block(blockNo);   // set output block
    label datasetNo = 0;       // restart at dataset 0
    const fvMesh& mesh = *meshPtr_;

    // resize for decomposed polyhedra
    zonePolyDecomp_.setSize(selector.size());

    if (!selector.size())
    {
        return;
    }

235
236
    if (debug)
    {
237
        Info<< "<beg> Foam::vtkPV3Foam::convertMeshCellZones" << endl;
Mark Olesen's avatar
Mark Olesen committed
238
        printMemory();
239
240
    }

Mark Olesen's avatar
Mark Olesen committed
241
242
    const cellZoneMesh& zMesh = mesh.cellZones();
    for (int partId = selector.start(); partId < selector.end(); ++partId)
243
    {
Mark Olesen's avatar
Mark Olesen committed
244
245
        const word zoneName = getPartName(partId);
        const label  zoneId = zMesh.findZoneID(zoneName);
246

Mark Olesen's avatar
Mark Olesen committed
247
        if (!partStatus_[partId] || zoneId < 0)
248
        {
Mark Olesen's avatar
Mark Olesen committed
249
250
            continue;
        }
Mark Olesen's avatar
Mark Olesen committed
251

Mark Olesen's avatar
Mark Olesen committed
252
253
254
255
256
        if (debug)
        {
            Info<< "Creating VTK mesh for cellZone[" << zoneId << "] "
                << zoneName << endl;
        }
257

Mark Olesen's avatar
Mark Olesen committed
258
259
        fvMeshSubset subsetter(mesh);
        subsetter.setLargeCellSubset(zMesh[zoneId]);
260

Mark Olesen's avatar
Mark Olesen committed
261
262
263
264
265
        vtkUnstructuredGrid* vtkmesh = volumeVTKMesh
        (
            subsetter.subMesh(),
            zonePolyDecomp_[datasetNo]
        );
266

Mark Olesen's avatar
Mark Olesen committed
267
268
269
270
        if (vtkmesh)
        {
            // superCells + addPointCellLabels must contain global cell ids
            inplaceRenumber
271
            (
Mark Olesen's avatar
Mark Olesen committed
272
273
274
275
276
277
278
                subsetter.cellMap(),
                zonePolyDecomp_[datasetNo].superCells()
            );
            inplaceRenumber
            (
                subsetter.cellMap(),
                zonePolyDecomp_[datasetNo].addPointCellLabels()
279
280
            );

Mark Olesen's avatar
Mark Olesen committed
281
282
            // copy pointMap as well, otherwise pointFields fail
            zonePolyDecomp_[datasetNo].pointMap() = subsetter.pointMap();
Mark Olesen's avatar
Mark Olesen committed
283

Mark Olesen's avatar
Mark Olesen committed
284
285
286
287
            AddToBlock(output, vtkmesh, selector, datasetNo, zoneName);
            vtkmesh->Delete();

            partDataset_[partId] = datasetNo++;
288
289
        }
    }
290

Mark Olesen's avatar
Mark Olesen committed
291
    // anything added?
Mark Olesen's avatar
Mark Olesen committed
292
    if (datasetNo)
293
294
295
296
    {
        ++blockNo;
    }

297
298
299
    if (debug)
    {
        Info<< "<end> Foam::vtkPV3Foam::convertMeshCellZones" << endl;
Mark Olesen's avatar
Mark Olesen committed
300
        printMemory();
301
    }
302
303
304
}


305
void Foam::vtkPV3Foam::convertMeshCellSets
306
(
307
308
    vtkMultiBlockDataSet* output,
    int& blockNo
309
310
)
{
Mark Olesen's avatar
Mark Olesen committed
311
312
313
314
315
316
317
318
    partInfo& selector = partInfoCellSets_;
    selector.block(blockNo);   // set output block
    label datasetNo = 0;       // restart at dataset 0
    const fvMesh& mesh = *meshPtr_;

    // resize for decomposed polyhedra
    csetPolyDecomp_.setSize(selector.size());

319
320
    if (debug)
    {
321
        Info<< "<beg> Foam::vtkPV3Foam::convertMeshCellSets" << endl;
Mark Olesen's avatar
Mark Olesen committed
322
        printMemory();
323
324
    }

Mark Olesen's avatar
Mark Olesen committed
325
    for (int partId = selector.start(); partId < selector.end(); ++partId)
326
    {
Mark Olesen's avatar
Mark Olesen committed
327
328
329
        const word partName = getPartName(partId);

        if (!partStatus_[partId])
330
        {
Mark Olesen's avatar
Mark Olesen committed
331
332
            continue;
        }
333

Mark Olesen's avatar
Mark Olesen committed
334
335
336
337
        if (debug)
        {
            Info<< "Creating VTK mesh for cellSet=" << partName << endl;
        }
338

Mark Olesen's avatar
Mark Olesen committed
339
340
341
        const cellSet cSet(mesh, partName);
        fvMeshSubset subsetter(mesh);
        subsetter.setLargeCellSubset(cSet);
342

Mark Olesen's avatar
Mark Olesen committed
343
344
345
346
347
        vtkUnstructuredGrid* vtkmesh = volumeVTKMesh
        (
            subsetter.subMesh(),
            csetPolyDecomp_[datasetNo]
        );
348

Mark Olesen's avatar
Mark Olesen committed
349
350
351
352
353
354
355
356
357
        if (vtkmesh)
        {
            // superCells + addPointCellLabels must contain global cell ids
            inplaceRenumber
            (
                subsetter.cellMap(),
                csetPolyDecomp_[datasetNo].superCells()
            );
            inplaceRenumber
358
            (
Mark Olesen's avatar
Mark Olesen committed
359
360
                subsetter.cellMap(),
                csetPolyDecomp_[datasetNo].addPointCellLabels()
361
362
            );

Mark Olesen's avatar
Mark Olesen committed
363
364
            // copy pointMap as well, otherwise pointFields fail
            csetPolyDecomp_[datasetNo].pointMap() = subsetter.pointMap();
Mark Olesen's avatar
Mark Olesen committed
365

Mark Olesen's avatar
Mark Olesen committed
366
367
368
369
            AddToBlock(output, vtkmesh, selector, datasetNo, partName);
            vtkmesh->Delete();

            partDataset_[partId] = datasetNo++;
370
371
        }
    }
372

Mark Olesen's avatar
Mark Olesen committed
373
    // anything added?
Mark Olesen's avatar
Mark Olesen committed
374
    if (datasetNo)
375
376
377
378
    {
        ++blockNo;
    }

379
380
    if (debug)
    {
381
        Info<< "<end> Foam::vtkPV3Foam::convertMeshCellSets" << endl;
Mark Olesen's avatar
Mark Olesen committed
382
        printMemory();
383
    }
384
385
}

386

387
388
void Foam::vtkPV3Foam::convertMeshFaceZones
(
389
390
    vtkMultiBlockDataSet* output,
    int& blockNo
391
392
)
{
Mark Olesen's avatar
Mark Olesen committed
393
394
395
396
397
398
399
400
401
402
    partInfo& selector = partInfoFaceZones_;
    selector.block(blockNo);   // set output block
    label datasetNo = 0;       // restart at dataset 0
    const fvMesh& mesh = *meshPtr_;

    if (!selector.size())
    {
        return;
    }

403
404
    if (debug)
    {
405
        Info<< "<beg> Foam::vtkPV3Foam::convertMeshFaceZones" << endl;
Mark Olesen's avatar
Mark Olesen committed
406
        printMemory();
407
408
    }

Mark Olesen's avatar
Mark Olesen committed
409
410
    const faceZoneMesh& zMesh = mesh.faceZones();
    for (int partId = selector.start(); partId < selector.end(); ++partId)
411
    {
Mark Olesen's avatar
Mark Olesen committed
412
413
        const word zoneName = getPartName(partId);
        const label  zoneId = zMesh.findZoneID(zoneName);
414

Mark Olesen's avatar
Mark Olesen committed
415
        if (!partStatus_[partId] || zoneId < 0)
416
        {
Mark Olesen's avatar
Mark Olesen committed
417
418
            continue;
        }
419

Mark Olesen's avatar
Mark Olesen committed
420
421
422
423
424
        if (debug)
        {
            Info<< "Creating VTKmesh for faceZone[" << zoneId << "] "
                << zoneName << endl;
        }
425

Mark Olesen's avatar
Mark Olesen committed
426
427
428
429
430
        vtkPolyData* vtkmesh = faceZoneVTKMesh(mesh, zMesh[zoneId]);
        if (vtkmesh)
        {
            AddToBlock(output, vtkmesh, selector, datasetNo, zoneName);
            vtkmesh->Delete();
Mark Olesen's avatar
Mark Olesen committed
431

Mark Olesen's avatar
Mark Olesen committed
432
            partDataset_[partId] = datasetNo++;
433
434
        }
    }
435

Mark Olesen's avatar
Mark Olesen committed
436
    // anything added?
Mark Olesen's avatar
Mark Olesen committed
437
    if (datasetNo)
438
439
440
441
    {
        ++blockNo;
    }

442
443
444
    if (debug)
    {
        Info<< "<end> Foam::vtkPV3Foam::convertMeshFaceZones" << endl;
Mark Olesen's avatar
Mark Olesen committed
445
        printMemory();
446
    }
447
448
449
}


450
void Foam::vtkPV3Foam::convertMeshFaceSets
451
(
452
453
    vtkMultiBlockDataSet* output,
    int& blockNo
454
455
)
{
Mark Olesen's avatar
Mark Olesen committed
456
457
458
459
460
    partInfo& selector = partInfoFaceSets_;
    selector.block(blockNo);   // set output block
    label datasetNo = 0;       // restart at dataset 0
    const fvMesh& mesh = *meshPtr_;

461
462
    if (debug)
    {
463
        Info<< "<beg> Foam::vtkPV3Foam::convertMeshFaceSets" << endl;
Mark Olesen's avatar
Mark Olesen committed
464
        printMemory();
465
466
    }

Mark Olesen's avatar
Mark Olesen committed
467
    for (int partId = selector.start(); partId < selector.end(); ++partId)
468
    {
Mark Olesen's avatar
Mark Olesen committed
469
        const word partName = getPartName(partId);
470

Mark Olesen's avatar
Mark Olesen committed
471
472
473
474
        if (!partStatus_[partId])
        {
            continue;
        }
475

Mark Olesen's avatar
Mark Olesen committed
476
477
478
479
        if (debug)
        {
            Info<< "Creating VTK mesh for faceSet=" << partName << endl;
        }
480

Mark Olesen's avatar
Mark Olesen committed
481
        const faceSet fSet(mesh, partName);
482

Mark Olesen's avatar
Mark Olesen committed
483
484
485
486
487
        vtkPolyData* vtkmesh = faceSetVTKMesh(mesh, fSet);
        if (vtkmesh)
        {
            AddToBlock(output, vtkmesh, selector, datasetNo, partName);
            vtkmesh->Delete();
Mark Olesen's avatar
Mark Olesen committed
488

Mark Olesen's avatar
Mark Olesen committed
489
            partDataset_[partId] = datasetNo++;
490
491
        }
    }
492

Mark Olesen's avatar
Mark Olesen committed
493
    // anything added?
Mark Olesen's avatar
Mark Olesen committed
494
    if (datasetNo)
495
496
497
498
    {
        ++blockNo;
    }

499
500
    if (debug)
    {
501
        Info<< "<end> Foam::vtkPV3Foam::convertMeshFaceSets" << endl;
Mark Olesen's avatar
Mark Olesen committed
502
        printMemory();
503
    }
504
505
506
507
508
}


void Foam::vtkPV3Foam::convertMeshPointZones
(
509
510
    vtkMultiBlockDataSet* output,
    int& blockNo
511
512
)
{
Mark Olesen's avatar
Mark Olesen committed
513
514
515
    partInfo& selector = partInfoPointZones_;
    selector.block(blockNo);   // set output block
    label datasetNo = 0;       // restart at dataset 0
516
    const fvMesh& mesh = *meshPtr_;
Mark Olesen's avatar
Mark Olesen committed
517

518
519
    if (debug)
    {
520
        Info<< "<beg> Foam::vtkPV3Foam::convertMeshPointZones" << endl;
Mark Olesen's avatar
Mark Olesen committed
521
        printMemory();
522
523
524
525
    }

    if (selector.size())
    {
Mark Olesen's avatar
Mark Olesen committed
526
        const pointZoneMesh& zMesh = mesh.pointZones();
Mark Olesen's avatar
Mark Olesen committed
527
        for (int partId = selector.start(); partId < selector.end(); ++partId)
528
        {
Mark Olesen's avatar
Mark Olesen committed
529
            word zoneName = getPartName(partId);
Mark Olesen's avatar
Mark Olesen committed
530
            label zoneId = zMesh.findZoneID(zoneName);
531

Mark Olesen's avatar
Mark Olesen committed
532
            if (!partStatus_[partId] || zoneId < 0)
533
534
535
536
            {
                continue;
            }

Mark Olesen's avatar
Mark Olesen committed
537
538
            vtkPolyData* vtkmesh = pointZoneVTKMesh(mesh, zMesh[zoneId]);
            if (vtkmesh)
539
            {
Mark Olesen's avatar
Mark Olesen committed
540
                AddToBlock(output, vtkmesh, selector, datasetNo, zoneName);
Mark Olesen's avatar
Mark Olesen committed
541
542
                vtkmesh->Delete();

Mark Olesen's avatar
Mark Olesen committed
543
                partDataset_[partId] = datasetNo++;
544
545
546
            }
        }
    }
547

Mark Olesen's avatar
Mark Olesen committed
548
    // anything added?
Mark Olesen's avatar
Mark Olesen committed
549
    if (datasetNo)
550
551
552
553
    {
        ++blockNo;
    }

554
555
556
    if (debug)
    {
        Info<< "<end> Foam::vtkPV3Foam::convertMeshPointZones" << endl;
Mark Olesen's avatar
Mark Olesen committed
557
        printMemory();
558
    }
559
560
561
562
}



563
void Foam::vtkPV3Foam::convertMeshPointSets
564
(
565
566
    vtkMultiBlockDataSet* output,
    int& blockNo
567
568
)
{
Mark Olesen's avatar
Mark Olesen committed
569
570
571
572
573
    partInfo& selector = partInfoPointSets_;
    selector.block(blockNo);   // set output block
    label datasetNo = 0;       // restart at dataset 0
    const fvMesh& mesh = *meshPtr_;

574
575
    if (debug)
    {
576
        Info<< "<beg> Foam::vtkPV3Foam::convertMeshPointSets" << endl;
Mark Olesen's avatar
Mark Olesen committed
577
        printMemory();
578
579
    }

Mark Olesen's avatar
Mark Olesen committed
580
    for (int partId = selector.start(); partId < selector.end(); ++partId)
581
    {
Mark Olesen's avatar
Mark Olesen committed
582
        word partName = getPartName(partId);
583

Mark Olesen's avatar
Mark Olesen committed
584
585
586
587
        if (!partStatus_[partId])
        {
            continue;
        }
588

Mark Olesen's avatar
Mark Olesen committed
589
590
591
592
        if (debug)
        {
            Info<< "Creating VTK mesh for pointSet=" << partName << endl;
        }
593

Mark Olesen's avatar
Mark Olesen committed
594
        const pointSet pSet(mesh, partName);
595

Mark Olesen's avatar
Mark Olesen committed
596
597
598
599
600
        vtkPolyData* vtkmesh = pointSetVTKMesh(mesh, pSet);
        if (vtkmesh)
        {
            AddToBlock(output, vtkmesh, selector, datasetNo, partName);
            vtkmesh->Delete();
Mark Olesen's avatar
Mark Olesen committed
601

Mark Olesen's avatar
Mark Olesen committed
602
            partDataset_[partId] = datasetNo++;
603
604
        }
    }
605

Mark Olesen's avatar
Mark Olesen committed
606
    // anything added?
Mark Olesen's avatar
Mark Olesen committed
607
    if (datasetNo)
608
609
610
611
    {
        ++blockNo;
    }

612
613
    if (debug)
    {
614
        Info<< "<end> Foam::vtkPV3Foam::convertMeshPointSets" << endl;
Mark Olesen's avatar
Mark Olesen committed
615
        printMemory();
616
    }
617
618
619
}

// ************************************************************************* //