1 2 3 4 5 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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
/*=========================================================================
Program: Visualization Toolkit
Module: otherEmptyCell.cxx
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.
=========================================================================*/
#include "vtkCellArray.h"
#include "vtkCellData.h"
#include "vtkEmptyCell.h"
#include "vtkFloatArray.h"
#include "vtkIdList.h"
#include "vtkPointData.h"
#include "vtkPointLocator.h"
#include "vtkPoints.h"
#include <sstream>
#include "vtkDebugLeaks.h"
void TestOEC(ostream& strm)
{
vtkEmptyCell* cell = vtkEmptyCell::New();
vtkCell* cell2 = cell->NewInstance();
cell2->DeepCopy(cell);
vtkIdList* ids = vtkIdList::New();
vtkPoints* pts = vtkPoints::New();
double v = 0.0;
vtkFloatArray* cellScalars = vtkFloatArray::New();
vtkPointLocator* locator = vtkPointLocator::New();
vtkCellArray* verts = vtkCellArray::New();
vtkCellArray* lines = vtkCellArray::New();
vtkCellArray* polys = vtkCellArray::New();
vtkPointData* inPd = vtkPointData::New();
vtkPointData* outPd = vtkPointData::New();
vtkCellData* inCd = vtkCellData::New();
vtkCellData* outCd = vtkCellData::New();
int cellId = 0;
int inOut = 0;
double t, tol = 0.0;
double x[3];
double c[3];
double p[3];
double d;
double w[3];
int s;
strm << "Testing EmptyCell" << endl;
strm << "Cell Type is: " << cell2->GetCellType() << endl;
strm << "Cell Dimension is: " << cell2->GetCellDimension() << endl;
strm << "Cell NumberOfEdges is: " << cell2->GetNumberOfEdges() << endl;
strm << "Cell NumberOfFaces is: " << cell2->GetNumberOfFaces() << endl;
strm << "Cell GetEdge(0) is: " << cell2->GetEdge(0) << endl;
strm << "Cell GetFace(0) is: " << cell2->GetFace(0) << endl;
strm << "Cell CellBoundary(0,p,ids) is: " << cell2->CellBoundary(0, p, ids) << endl;
strm << "Cell EvaluatePosition(x, c, s, p, d, w)" << endl;
cell2->EvaluatePosition(x, c, s, p, d, w);
strm << "Cell EvaluateLocation(s, p, x, w)" << endl;
cell2->EvaluateLocation(s, p, x, w);
strm << "Cell Contour" << endl;
cell2->Contour(v, cellScalars, locator, verts, lines, polys, inPd, outPd, inCd, cellId, outCd);
strm << "Cell Clip" << endl;
cell2->Clip(v, cellScalars, locator, verts, inPd, outPd, inCd, cellId, outCd, inOut);
strm << "Cell IntersectWithLine" << endl;
cell2->IntersectWithLine(x, x, tol, t, x, p, s);
strm << "Cell Triangulate" << endl;
cell2->Triangulate(s, ids, pts);
strm << "Cell Derivatives" << endl;
cell2->Derivatives(s, p, x, inOut, w);
// clean up
cell->Delete();
cell2->Delete();
ids->Delete();
pts->Delete();
cellScalars->Delete();
locator->Delete();
verts->Delete();
lines->Delete();
polys->Delete();
inPd->Delete();
outPd->Delete();
inCd->Delete();
outCd->Delete();
strm << "Testing EmptyCell Complete" << endl;
}
int otherEmptyCell(int, char*[])
{
std::ostringstream vtkmsg_with_warning_C4701;
TestOEC(vtkmsg_with_warning_C4701);
return 0;
}
|