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.
635 lines
19 KiB
635 lines
19 KiB
2 years ago
|
/*=========================================================================
|
||
|
|
||
|
Program: Visualization Toolkit
|
||
|
Module: $RCSfile: otherStructuredGrid.cxx,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
|
||
|
// .SECTION Description
|
||
|
// this program tests vtkStructuredGrid
|
||
|
|
||
|
#include "vtkCell.h"
|
||
|
#include "vtkDebugLeaks.h"
|
||
|
#include "vtkDoubleArray.h"
|
||
|
#include "vtkFloatArray.h"
|
||
|
#include "vtkGenericCell.h"
|
||
|
#include "vtkIdList.h"
|
||
|
#include "vtkLongArray.h"
|
||
|
#include "vtkPointData.h"
|
||
|
#include "vtkShortArray.h"
|
||
|
#include "vtkStructuredGrid.h"
|
||
|
|
||
|
int TestOSG(ostream& strm)
|
||
|
{
|
||
|
int i, j, k;
|
||
|
// actual test
|
||
|
strm << "Testing vtkStructuredGrid" << endl;
|
||
|
vtkStructuredGrid *sg0D = vtkStructuredGrid::New();
|
||
|
vtkStructuredGrid *sg1Dx = vtkStructuredGrid::New();
|
||
|
vtkStructuredGrid *sg1Dy = vtkStructuredGrid::New();
|
||
|
vtkStructuredGrid *sg1Dz = vtkStructuredGrid::New();
|
||
|
vtkStructuredGrid *sg2Dxy = vtkStructuredGrid::New();
|
||
|
vtkStructuredGrid *sg2Dxz = vtkStructuredGrid::New();
|
||
|
vtkStructuredGrid *sg2Dyz = vtkStructuredGrid::New();
|
||
|
vtkStructuredGrid *sg3D = vtkStructuredGrid::New();
|
||
|
|
||
|
vtkPoints *xyzpoints = vtkPoints::New();
|
||
|
for (k = 0; k < 20; k++)
|
||
|
{
|
||
|
for (j = 0; j < 20; j++)
|
||
|
{
|
||
|
for (i = 0; i < 20; i++)
|
||
|
{
|
||
|
xyzpoints->InsertNextPoint((double) i, (double) j, (double) k);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
sg3D->SetDimensions(20,20,20);
|
||
|
sg3D->SetPoints(xyzpoints); xyzpoints->Delete();
|
||
|
|
||
|
vtkPoints *xypoints = vtkPoints::New();
|
||
|
for (j = 0; j < 20; j++)
|
||
|
{
|
||
|
for (i = 0; i < 20; i++)
|
||
|
{
|
||
|
xypoints->InsertNextPoint((double) i, (double) j, 0.0);
|
||
|
}
|
||
|
}
|
||
|
sg2Dxy->SetDimensions(20,20,1);
|
||
|
sg2Dxy->SetPoints(xypoints); xypoints->Delete();
|
||
|
|
||
|
vtkPoints *xzpoints = vtkPoints::New();
|
||
|
for (k = 0; k < 20; k++)
|
||
|
{
|
||
|
for (i = 0; i < 20; i++)
|
||
|
{
|
||
|
xzpoints->InsertNextPoint((double) i, 0.0, (double) k);
|
||
|
}
|
||
|
}
|
||
|
sg2Dxz->SetDimensions(20,1,20);
|
||
|
sg2Dxz->SetPoints(xzpoints); xzpoints->Delete();
|
||
|
|
||
|
vtkPoints *yzpoints = vtkPoints::New();
|
||
|
for (k = 0; k < 20; k++)
|
||
|
{
|
||
|
for (j = 0; j < 20; j++)
|
||
|
{
|
||
|
yzpoints->InsertNextPoint(0.0, (double) j, (double) k);
|
||
|
}
|
||
|
}
|
||
|
sg2Dyz->SetDimensions(1,20,20);
|
||
|
sg2Dyz->SetPoints(yzpoints); yzpoints->Delete();
|
||
|
|
||
|
vtkPoints *xpoints = vtkPoints::New();
|
||
|
for (i = 0; i < 20; i++)
|
||
|
{
|
||
|
xpoints->InsertNextPoint((double) i, 0.0, 0.0);
|
||
|
}
|
||
|
sg1Dx->SetDimensions(20,1,1);
|
||
|
sg1Dx->SetPoints(xpoints); xpoints->Delete();
|
||
|
|
||
|
vtkPoints *ypoints = vtkPoints::New();
|
||
|
for (j = 0; j < 20; j++)
|
||
|
{
|
||
|
ypoints->InsertNextPoint(0.0, (double) j, 0.0);
|
||
|
}
|
||
|
sg1Dy->SetDimensions(1,20,1);
|
||
|
sg1Dy->SetPoints(ypoints); ypoints->Delete();
|
||
|
strm << *sg1Dy;
|
||
|
|
||
|
vtkPoints *zpoints = vtkPoints::New();
|
||
|
for (k = 0; k < 20; k++)
|
||
|
{
|
||
|
zpoints->InsertNextPoint(0.0, 0.0, (double) k);
|
||
|
}
|
||
|
sg1Dz->SetDimensions(1,1,20);
|
||
|
sg1Dz->SetPoints(zpoints); zpoints->Delete();
|
||
|
|
||
|
vtkPoints *onepoints = vtkPoints::New();
|
||
|
for (k = 0; k < 1; k++)
|
||
|
{
|
||
|
onepoints->InsertNextPoint(0.0, 0.0, 0.0);
|
||
|
}
|
||
|
sg0D->SetDimensions(1,1,1);
|
||
|
sg0D->SetPoints(onepoints); onepoints->Delete();
|
||
|
|
||
|
vtkShortArray *shortScalars3D = vtkShortArray::New();
|
||
|
shortScalars3D->SetNumberOfComponents(3);
|
||
|
shortScalars3D->SetNumberOfTuples(20*20*20);
|
||
|
|
||
|
int l = 0;
|
||
|
for (k = 0; k < 20; k++)
|
||
|
{
|
||
|
for (j = 0; j < 20; j++)
|
||
|
{
|
||
|
for (i = 0; i < 20; i++)
|
||
|
{
|
||
|
shortScalars3D->InsertComponent(l,0,i);
|
||
|
shortScalars3D->InsertComponent(l,0,j);
|
||
|
shortScalars3D->InsertComponent(l,0,k);
|
||
|
l++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
vtkShortArray *shortScalars2D = vtkShortArray::New();
|
||
|
shortScalars2D->SetNumberOfComponents(2);
|
||
|
shortScalars2D->SetNumberOfTuples(20*20);
|
||
|
|
||
|
l = 0;
|
||
|
for (j = 0; j < 20; j++)
|
||
|
{
|
||
|
for (i = 0; i < 20; i++)
|
||
|
{
|
||
|
shortScalars2D->InsertComponent(l,0,i);
|
||
|
shortScalars2D->InsertComponent(l,0,j);
|
||
|
l++;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
vtkShortArray *shortScalars1D = vtkShortArray::New();
|
||
|
shortScalars1D->SetNumberOfComponents(1);
|
||
|
shortScalars1D->SetNumberOfTuples(20);
|
||
|
|
||
|
l = 0;
|
||
|
for (i = 0; i < 20; i++)
|
||
|
{
|
||
|
shortScalars1D->InsertComponent(l,0,i);
|
||
|
l++;
|
||
|
}
|
||
|
|
||
|
vtkShortArray *shortScalars0D = vtkShortArray::New();
|
||
|
shortScalars0D->SetNumberOfComponents(1);
|
||
|
shortScalars0D->SetNumberOfTuples(1);
|
||
|
|
||
|
l = 0;
|
||
|
shortScalars0D->InsertComponent(l,0,0);
|
||
|
|
||
|
sg3D->GetPointData()->SetScalars(shortScalars3D);
|
||
|
sg2Dxy->GetPointData()->SetScalars(shortScalars2D);
|
||
|
sg2Dxz->GetPointData()->SetScalars(shortScalars2D);
|
||
|
sg2Dyz->GetPointData()->SetScalars(shortScalars2D);
|
||
|
sg1Dx->GetPointData()->SetScalars(shortScalars1D);
|
||
|
sg1Dy->GetPointData()->SetScalars(shortScalars1D);
|
||
|
sg1Dz->GetPointData()->SetScalars(shortScalars1D);
|
||
|
sg0D->GetPointData()->SetScalars(shortScalars3D);
|
||
|
|
||
|
strm << "sg3D:" << *sg3D;
|
||
|
|
||
|
// Test shallow copy
|
||
|
vtkStructuredGrid *scsg3D = vtkStructuredGrid::New();
|
||
|
scsg3D->ShallowCopy(sg3D);
|
||
|
strm << "ShallowCopy(sg3D):" << *scsg3D;
|
||
|
|
||
|
// Test deep copy
|
||
|
vtkStructuredGrid *dcsg3D = vtkStructuredGrid::New();
|
||
|
dcsg3D->DeepCopy(sg3D);
|
||
|
strm << "DeepCopy(sg3D):" << *dcsg3D;
|
||
|
|
||
|
// Test GetCell
|
||
|
vtkIdList *ids = vtkIdList::New();
|
||
|
int cellId;
|
||
|
int ii;
|
||
|
|
||
|
i = 10; j = 15; k = 7;
|
||
|
cellId = k * (19 * 19) + j * 19 + i;
|
||
|
vtkCell *cell3D = sg3D->GetCell(cellId);
|
||
|
strm << "cell3D: " << *cell3D ;
|
||
|
sg3D->GetCellPoints (cellId, ids);
|
||
|
strm << "Ids for cell " << cellId << " are ";
|
||
|
for (ii = 0; ii < ids->GetNumberOfIds(); ii++)
|
||
|
{
|
||
|
strm << ids->GetId(ii) << " ";
|
||
|
}
|
||
|
strm << endl << endl;
|
||
|
|
||
|
i = 10; j = 15;
|
||
|
cellId = j * 19 + i;
|
||
|
vtkCell *cell2D = sg2Dxy->GetCell(cellId);
|
||
|
strm << "cell2D: " << *cell2D ;
|
||
|
sg2Dxy->GetCellPoints (cellId, ids);
|
||
|
strm << "Ids for cell " << cellId << " are ";
|
||
|
for (ii = 0; ii < ids->GetNumberOfIds(); ii++)
|
||
|
{
|
||
|
strm << ids->GetId(ii) << " ";
|
||
|
}
|
||
|
strm << endl << endl;
|
||
|
|
||
|
|
||
|
i = 10; j = 15;
|
||
|
cellId = j * 19 + i;
|
||
|
cell2D = sg2Dxz->GetCell(j * 19 + i);
|
||
|
strm << "cell2D: " << *cell2D ;
|
||
|
sg2Dxz->GetCellPoints (cellId, ids);
|
||
|
strm << "Ids for cell " << cellId << " are ";
|
||
|
for (ii = 0; ii < ids->GetNumberOfIds(); ii++)
|
||
|
{
|
||
|
strm << ids->GetId(ii) << " ";
|
||
|
}
|
||
|
strm << endl << endl;
|
||
|
|
||
|
i = 10; j = 15;
|
||
|
cellId = j * 19 + i;
|
||
|
cell2D = sg2Dyz->GetCell(j * 19 + i);
|
||
|
strm << "cell2D: " << *cell2D ;
|
||
|
sg2Dyz->GetCellPoints (cellId, ids);
|
||
|
strm << "Ids for cell " << cellId << " are ";
|
||
|
for (ii = 0; ii < ids->GetNumberOfIds(); ii++)
|
||
|
{
|
||
|
strm << ids->GetId(ii) << " ";
|
||
|
}
|
||
|
strm << endl << endl;
|
||
|
|
||
|
i = 10;
|
||
|
cellId = i;
|
||
|
vtkCell *cell1D = sg1Dx->GetCell(i);
|
||
|
strm << "cell1D: " << *cell1D;
|
||
|
sg1Dx->GetCellPoints (cellId, ids);
|
||
|
strm << "Ids for cell " << cellId << " are ";
|
||
|
for (ii = 0; ii < ids->GetNumberOfIds(); ii++)
|
||
|
{
|
||
|
strm << ids->GetId(ii) << " ";
|
||
|
}
|
||
|
strm << endl << endl;
|
||
|
|
||
|
i = 10;
|
||
|
cellId = i;
|
||
|
cell1D = sg1Dy->GetCell(i);
|
||
|
strm << "cell1D: " << *cell1D;
|
||
|
sg1Dy->GetCellPoints (cellId, ids);
|
||
|
strm << "Ids for cell " << cellId << " are ";
|
||
|
for (ii = 0; ii < ids->GetNumberOfIds(); ii++)
|
||
|
{
|
||
|
strm << ids->GetId(ii) << " ";
|
||
|
}
|
||
|
strm << endl << endl;
|
||
|
|
||
|
i = 10;
|
||
|
cellId = i;
|
||
|
cell1D = sg1Dz->GetCell(i);
|
||
|
strm << "cell1D: " << *cell1D;
|
||
|
sg1Dz->GetCellPoints (cellId, ids);
|
||
|
strm << "Ids for cell " << cellId << " are ";
|
||
|
for (ii = 0; ii < ids->GetNumberOfIds(); ii++)
|
||
|
{
|
||
|
strm << ids->GetId(ii) << " ";
|
||
|
}
|
||
|
strm << endl << endl;
|
||
|
|
||
|
cellId = 0;
|
||
|
vtkCell *cell0D = sg0D->GetCell(0);
|
||
|
strm << "cell0D: " << *cell0D;
|
||
|
sg0D->GetCellPoints (cellId, ids);
|
||
|
strm << "Ids for cell " << cellId << " are ";
|
||
|
for (ii = 0; ii < ids->GetNumberOfIds(); ii++)
|
||
|
{
|
||
|
strm << ids->GetId(ii) << " ";
|
||
|
}
|
||
|
strm << endl << endl;
|
||
|
|
||
|
// Test Thread Safe GetCell
|
||
|
vtkGenericCell *gcell3D = vtkGenericCell::New();
|
||
|
vtkGenericCell *gcell2D = vtkGenericCell::New();
|
||
|
vtkGenericCell *gcell1D = vtkGenericCell::New();
|
||
|
vtkGenericCell *gcell0D = vtkGenericCell::New();
|
||
|
i = 10; j = 15; k = 7;
|
||
|
sg3D->GetCell(k * (19 * 19) + j * 19 + i, gcell3D);
|
||
|
strm << "gcell3D: " << *gcell3D ;
|
||
|
|
||
|
i = 10; j = 15;
|
||
|
sg2Dxy->GetCell(j * 19 + i,gcell2D);
|
||
|
strm << "gcell2D: " << *gcell2D ;
|
||
|
|
||
|
i = 10; j = 15;
|
||
|
sg2Dxz->GetCell(j * 19 + i,gcell2D);
|
||
|
strm << "gcell2D: " << *gcell2D ;
|
||
|
|
||
|
i = 10; j = 15;
|
||
|
sg2Dyz->GetCell(j * 19 + i,gcell2D);
|
||
|
strm << "gcell2D: " << *gcell2D ;
|
||
|
|
||
|
i = 10;
|
||
|
sg1Dx->GetCell(i,gcell1D);
|
||
|
strm << "gcell1D: " << *gcell1D;
|
||
|
|
||
|
i = 10;
|
||
|
sg1Dy->GetCell(i,gcell1D);
|
||
|
strm << "gcell1D: " << *gcell1D;
|
||
|
|
||
|
i = 10;
|
||
|
sg1Dz->GetCell(i,gcell1D);
|
||
|
strm << "gcell1D: " << *gcell1D;
|
||
|
|
||
|
i = 10;
|
||
|
sg0D->GetCell(0,gcell0D);
|
||
|
strm << "gcell0D: " << *gcell0D;
|
||
|
|
||
|
// Test GetCellBounds
|
||
|
|
||
|
double bounds[6];
|
||
|
sg3D->GetCellBounds(k * (19 * 19) + j * 19 + i, bounds);
|
||
|
strm << "GetCellBounds(sg3D): "
|
||
|
<< bounds[0] << ", " << bounds[1] << ", "
|
||
|
<< bounds[2] << ", " << bounds[3] << ", "
|
||
|
<< bounds[4] << ", " << bounds[5] << endl;
|
||
|
|
||
|
sg2Dxy->GetCellBounds(j * 19 + i, bounds);
|
||
|
strm << "GetCellBounds(sg2Dxy): "
|
||
|
<< bounds[0] << ", " << bounds[1] << ", "
|
||
|
<< bounds[2] << ", " << bounds[3] << ", "
|
||
|
<< bounds[4] << ", " << bounds[5] << endl;
|
||
|
|
||
|
sg2Dxz->GetCellBounds(j * 19 + i, bounds);
|
||
|
strm << "GetCellBounds(sg2Dxz): "
|
||
|
<< bounds[0] << ", " << bounds[1] << ", "
|
||
|
<< bounds[2] << ", " << bounds[3] << ", "
|
||
|
<< bounds[4] << ", " << bounds[5] << endl;
|
||
|
|
||
|
sg2Dyz->GetCellBounds(j * 19 + i, bounds);
|
||
|
strm << "GetCellBounds(sg2Dyz): "
|
||
|
<< bounds[0] << ", " << bounds[1] << ", "
|
||
|
<< bounds[2] << ", " << bounds[3] << ", "
|
||
|
<< bounds[4] << ", " << bounds[5] << endl;
|
||
|
|
||
|
sg1Dx->GetCellBounds(i, bounds);
|
||
|
strm << "GetCellBounds(sg1x): "
|
||
|
<< bounds[0] << ", " << bounds[1] << ", "
|
||
|
<< bounds[2] << ", " << bounds[3] << ", "
|
||
|
<< bounds[4] << ", " << bounds[5] << endl;
|
||
|
|
||
|
sg1Dy->GetCellBounds(i, bounds);
|
||
|
strm << "GetCellBounds(sg1Dy): "
|
||
|
<< bounds[0] << ", " << bounds[1] << ", "
|
||
|
<< bounds[2] << ", " << bounds[3] << ", "
|
||
|
<< bounds[4] << ", " << bounds[5] << endl;
|
||
|
|
||
|
sg1Dz->GetCellBounds(i, bounds);
|
||
|
strm << "GetCellBounds(sg1Dz): "
|
||
|
<< bounds[0] << ", " << bounds[1] << ", "
|
||
|
<< bounds[2] << ", " << bounds[3] << ", "
|
||
|
<< bounds[4] << ", " << bounds[5] << endl;
|
||
|
|
||
|
sg0D->GetCellBounds(i, bounds);
|
||
|
strm << "GetCellBounds(sg0D): "
|
||
|
<< bounds[0] << ", " << bounds[1] << ", "
|
||
|
<< bounds[2] << ", " << bounds[3] << ", "
|
||
|
<< bounds[4] << ", " << bounds[5] << endl;
|
||
|
|
||
|
// Test GetPoint
|
||
|
|
||
|
double point[6];
|
||
|
sg3D->GetPoint(k * (20 * 20) + j * 20 + i, point);
|
||
|
strm << "GetPoint(sg3D): "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
sg2Dxy->GetPoint(j * 20 + i, point);
|
||
|
strm << "GetPoint(sg2Dxy): "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
sg2Dxz->GetPoint(j * 20 + i, point);
|
||
|
strm << "GetPoint(sg2Dxz): "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
sg2Dyz->GetPoint(j * 20 + i, point);
|
||
|
strm << "GetPoint(sg2Dyz): "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
sg1Dx->GetPoint(i, point);
|
||
|
strm << "GetPoint(sg1x): "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
sg1Dy->GetPoint(i, point);
|
||
|
strm << "GetPoint(sg1Dy): "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
sg1Dz->GetPoint(i, point);
|
||
|
strm << "GetPoint(sg1Dz): "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
sg0D->GetPoint(0, point);
|
||
|
strm << "GetPoint(sg0D): "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
// Test FindPoint
|
||
|
|
||
|
double point3D[3] = {10, 12, 14};
|
||
|
|
||
|
sg3D->GetPoint(sg3D->FindPoint(point3D), point);
|
||
|
strm << "FindPoint("
|
||
|
<< point3D[0] << ", " << point3D[1] << ", " << point3D[2] << ") = "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
point3D[0] = 10; point3D[1] = 12; point3D[2] = 0;
|
||
|
sg2Dxy->GetPoint(sg2Dxy->FindPoint(point3D), point);
|
||
|
strm << "FindPoint("
|
||
|
<< point3D[0] << ", " << point3D[1] << ", " << point3D[2] << ") = "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
point3D[0] = 10; point3D[1] = 0; point3D[2] = 14;
|
||
|
sg2Dxz->GetPoint(sg2Dxz->FindPoint(point3D), point);
|
||
|
strm << "FindPoint("
|
||
|
<< point3D[0] << ", " << point3D[1] << ", " << point3D[2] << ") = "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
point3D[0] = 0; point3D[1] = 12; point3D[2] = 14;
|
||
|
sg2Dyz->GetPoint(sg2Dyz->FindPoint(point3D), point);
|
||
|
strm << "FindPoint("
|
||
|
<< point3D[0] << ", " << point3D[1] << ", " << point3D[2] << ") = "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
point3D[0] = 10; point3D[1] = 0; point3D[2] = 0;
|
||
|
sg1Dx->GetPoint(sg1Dx->FindPoint(point3D), point);
|
||
|
strm << "FindPoint("
|
||
|
<< point3D[0] << ", " << point3D[1] << ", " << point3D[2] << ") = "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
point3D[0] = 0; point3D[1] = 12; point3D[2] = 0;
|
||
|
sg1Dy->GetPoint(sg1Dy->FindPoint(point3D), point);
|
||
|
strm << "FindPoint("
|
||
|
<< point3D[0] << ", " << point3D[1] << ", " << point3D[2] << ") = "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
point3D[0] = 0; point3D[1] = 0; point3D[2] = 14;
|
||
|
sg1Dz->GetPoint(sg1Dz->FindPoint(point3D), point);
|
||
|
strm << "FindPoint("
|
||
|
<< point3D[0] << ", " << point3D[1] << ", " << point3D[2] << ") = "
|
||
|
<< point[0] << ", " << point[1] << ", " << point[2] << endl;
|
||
|
|
||
|
// Test FindAndGetCell
|
||
|
|
||
|
double pcoords[3], weights[8];
|
||
|
int subId;
|
||
|
vtkCell *dummyCell = 0;
|
||
|
|
||
|
point3D[0] = 10.5;
|
||
|
point3D[1] = 12.1;
|
||
|
point3D[2] = 14.7;
|
||
|
|
||
|
strm << "FindAndGetCell(sg3D): " << *sg3D->FindAndGetCell(point3D, dummyCell, 0, 0, subId, pcoords, weights);
|
||
|
strm << "pcoords: "
|
||
|
<< pcoords[0] << ", " << pcoords[1] << ", " << pcoords[2] << endl;
|
||
|
strm << "weights: "
|
||
|
<< weights[0] << ", " << weights[1] << ", "
|
||
|
<< weights[2] << ", " << weights[3] << ", "
|
||
|
<< weights[4] << ", " << weights[5] << ", "
|
||
|
<< weights[6] << ", " << weights[7] << endl;
|
||
|
|
||
|
point3D[0] = 10.5; point3D[1] = 12.1; point3D[2] = 0;
|
||
|
pcoords[0] = pcoords[1] = pcoords[2] = 0.0;
|
||
|
dummyCell = 0;
|
||
|
vtkCell *found = sg2Dxy->FindAndGetCell(point3D, dummyCell, 0, 0, subId, pcoords, weights);
|
||
|
if (found == NULL)
|
||
|
{
|
||
|
strm << "FindAndGetCell(sg2Dxy) not found!" << endl;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
strm << "FindAndGetCell(sg2Dxy): " << *found;
|
||
|
strm << "pcoords: "
|
||
|
<< pcoords[0] << ", " << pcoords[1] << endl;
|
||
|
strm << "weights: "
|
||
|
<< weights[0] << ", " << weights[1] << ", " << weights[2] << ", " << weights[3] << endl;
|
||
|
|
||
|
point3D[0] = 10.5; point3D[1] = 0.0; point3D[2] = 14.7;
|
||
|
pcoords[0] = pcoords[1] = pcoords[2] = 0.0;
|
||
|
weights[0] = weights[1] = weights[2] = weights[3] = 0.0;
|
||
|
dummyCell = 0;
|
||
|
found = sg2Dxz->FindAndGetCell(point3D, dummyCell, 0, 0, subId, pcoords, weights);
|
||
|
if (found == NULL)
|
||
|
{
|
||
|
strm << "FindAndGetCell(sg2Dxz) not found!" << endl;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
strm << "FindAndGetCell(sg2Dxz): " << *found;
|
||
|
strm << "pcoords: "
|
||
|
<< pcoords[0] << ", " << pcoords[1] << endl;
|
||
|
strm << "weights: "
|
||
|
<< weights[0] << ", " << weights[1] << ", " << weights[2] << ", " << weights[3] << endl;
|
||
|
|
||
|
point3D[0] = 0.0; point3D[1] = 12.1; point3D[2] = 14.7;
|
||
|
pcoords[0] = pcoords[1] = pcoords[2] = 0.0;
|
||
|
weights[0] = weights[1] = weights[2] = weights[3] = 0.0;
|
||
|
dummyCell = 0;
|
||
|
found = sg2Dyz->FindAndGetCell(point3D, dummyCell, 0, 0, subId, pcoords, weights);
|
||
|
if (found == NULL)
|
||
|
{
|
||
|
strm << "FindAndGetCell(sg2Dyz) not found!" << endl;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
strm << "FindAndGetCell(sg2Dyz): " << *found;
|
||
|
strm << "pcoords: "
|
||
|
<< pcoords[0] << ", " << pcoords[1] << endl;
|
||
|
strm << "weights: "
|
||
|
<< weights[0] << ", " << weights[1] << ", " << weights[2] << ", " << weights[3] << endl;
|
||
|
|
||
|
point3D[0] = 10.5; point3D[1] = 0.0; point3D[2] = 0.0;
|
||
|
dummyCell = 0;
|
||
|
found = sg1Dx->FindAndGetCell(point3D, dummyCell, 0, 0, subId, pcoords, weights);
|
||
|
if (found == NULL)
|
||
|
{
|
||
|
strm << "FindAndGetCell(sg1Dx) not found!" << endl;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
strm << "FindAndGetCell(sg1Dx): " << *found;
|
||
|
strm << "pcoords: "
|
||
|
<< pcoords[0] << endl;
|
||
|
strm << "weights: "
|
||
|
<< weights[0] << ", " << weights[1] << endl;
|
||
|
|
||
|
|
||
|
point3D[0] = 0.0; point3D[1] = 12.1; point3D[2] = 0.0;
|
||
|
dummyCell = 0;
|
||
|
found = sg1Dy->FindAndGetCell(point3D, dummyCell, 0, 0, subId, pcoords, weights);
|
||
|
if (found == NULL)
|
||
|
{
|
||
|
strm << "FindAndGetCell(sg1Dy) not found!" << endl;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
strm << "FindAndGetCell(sg1Dy): " << *found;
|
||
|
strm << "pcoords: "
|
||
|
<< pcoords[0] << endl;
|
||
|
strm << "weights: "
|
||
|
<< weights[0] << ", " << weights[1] << endl;
|
||
|
|
||
|
|
||
|
point3D[0] = 0.0; point3D[1] = 0.0; point3D[2] = 14.7;
|
||
|
dummyCell = 0;
|
||
|
found = sg1Dz->FindAndGetCell(point3D, dummyCell, 0, 0, subId, pcoords, weights);
|
||
|
if (found == NULL)
|
||
|
{
|
||
|
strm << "FindAndGetCell(sg1Dz) not found!" << endl;
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
strm << "FindAndGetCell(sg1Dz): " << *found;
|
||
|
strm << "pcoords: "
|
||
|
<< pcoords[0] << endl;
|
||
|
strm << "weights: "
|
||
|
<< weights[0] << ", " << weights[1] << endl;
|
||
|
|
||
|
|
||
|
// Test GetCellType
|
||
|
|
||
|
strm << "GetCellType(sg3D): " << sg3D->GetCellType(0) << endl;
|
||
|
strm << "GetCellType(sg2Dxy): " << sg2Dxy->GetCellType(0) << endl;
|
||
|
strm << "GetCellType(sg2Dxz): " << sg2Dxz->GetCellType(0) << endl;
|
||
|
strm << "GetCellType(sg2Dyz): " << sg2Dyz->GetCellType(0) << endl;
|
||
|
strm << "GetCellType(sg1Dx): " << sg1Dx->GetCellType(0) << endl;
|
||
|
strm << "GetCellType(sg1Dy): " << sg1Dy->GetCellType(0) << endl;
|
||
|
strm << "GetCellType(sg1Dz): " << sg1Dz->GetCellType(0) << endl;
|
||
|
strm << "GetCellType(sg0D): " << sg0D->GetCellType(0) << endl;
|
||
|
|
||
|
// Test GetActualMemorySize
|
||
|
|
||
|
strm << "GetActualMemorySize(sg3D): " << sg3D->GetActualMemorySize() << endl;
|
||
|
strm << "GetActualMemorySize(sg2Dxy): " << sg2Dxy->GetActualMemorySize() << endl;
|
||
|
strm << "GetActualMemorySize(sg2Dxz): " << sg2Dxz->GetActualMemorySize() << endl;
|
||
|
strm << "GetActualMemorySize(sg2Dyz): " << sg2Dyz->GetActualMemorySize() << endl;
|
||
|
strm << "GetActualMemorySize(sg1Dx): " << sg1Dx->GetActualMemorySize() << endl;
|
||
|
strm << "GetActualMemorySize(sg1Dy): " << sg1Dy->GetActualMemorySize() << endl;
|
||
|
strm << "GetActualMemorySize(sg1Dz): " << sg1Dz->GetActualMemorySize() << endl;
|
||
|
strm << "GetActualMemorySize(sg0D): " << sg0D->GetActualMemorySize() << endl;
|
||
|
|
||
|
sg0D->Delete();
|
||
|
sg1Dx->Delete();
|
||
|
sg1Dy->Delete();
|
||
|
sg1Dz->Delete();
|
||
|
sg2Dxy->Delete();
|
||
|
sg2Dxz->Delete();
|
||
|
sg2Dyz->Delete();
|
||
|
sg3D->Delete();
|
||
|
shortScalars3D->Delete();
|
||
|
shortScalars2D->Delete();
|
||
|
shortScalars1D->Delete();
|
||
|
shortScalars0D->Delete();
|
||
|
scsg3D->Delete();
|
||
|
dcsg3D->Delete();
|
||
|
ids->Delete();
|
||
|
gcell3D->Delete();
|
||
|
gcell2D->Delete();
|
||
|
gcell1D->Delete();
|
||
|
gcell0D->Delete();
|
||
|
|
||
|
strm << "Testing completed" << endl;
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
int otherStructuredGrid(int,char *[])
|
||
|
{
|
||
|
ostrstream vtkmsg_with_warning_C4701;
|
||
|
return TestOSG(vtkmsg_with_warning_C4701);
|
||
|
}
|