Commit a732458f authored by Will Schroeder's avatar Will Schroeder
Browse files

*** empty log message ***

parent 4789efcc
......@@ -40,9 +40,9 @@ public:
vlCell *GetCell(int cellId) {return this->DataSet->GetCell(cellId);}
int GetCellType(int cellId) {return this->DataSet->GetCellType(cellId);}
void Initialize();
void GetCellPoints(int cellId, vlIdList *ptIds)
void GetCellPoints(int cellId, vlIdList& ptIds)
{this->DataSet->GetCellPoints(cellId, ptIds);};
void GetPointCells(int ptId, vlIdList *cellIds)
void GetPointCells(int ptId, vlIdList& cellIds)
{this->DataSet->GetPointCells(ptId, cellIds);};
int FindCell(float x[3], vlCell *cell, float tol2, int& subId, float pc[3])
{return this->DataSet->FindCell(x,cell,tol2,subId,pc);};
......
......@@ -54,10 +54,10 @@ public:
virtual int GetCellType(int cellId) = 0;
// topological inquiries to get neighbors and cells that use a point
virtual void GetCellPoints(int cellId, vlIdList *ptIds) = 0;
virtual void GetPointCells(int ptId, vlIdList *cellIds) = 0;
virtual void GetCellNeighbors(int cellId, vlIdList *ptIds,
vlIdList *cellIds);
virtual void GetCellPoints(int cellId, vlIdList& ptIds) = 0;
virtual void GetPointCells(int ptId, vlIdList& cellIds) = 0;
virtual void GetCellNeighbors(int cellId, vlIdList& ptIds,
vlIdList& cellIds);
// Locate cell based on global coordinate x and tolerance squared. If cell
// is non-Null, then search starts from this cell and looks at
......
......@@ -27,7 +27,7 @@ public:
// special set operations
void DeleteId(int Id);
void IntersectWith(vlIdList *otherIds);
void IntersectWith(vlIdList& otherIds);
int IsId(int id)
{for(int i=0; i<this->GetNumberOfIds(); i++) if(id == this->GetId(i)) return 1;
return 0;}
......
......@@ -41,9 +41,9 @@ public:
vlCell *GetCell(int cellId) {return this->Geometry->GetCell(cellId);}
int GetCellType(int cellId) {return this->Geometry->GetCellType(cellId);}
void Initialize();
void GetCellPoints(int cellId, vlIdList *ptIds)
void GetCellPoints(int cellId, vlIdList& ptIds)
{this->Geometry->GetCellPoints(cellId, ptIds);};
void GetPointCells(int ptId, vlIdList *cellIds)
void GetPointCells(int ptId, vlIdList& cellIds)
{this->Geometry->GetPointCells(ptId, cellIds);};
int FindCell(float x[3], vlCell *cell, float tol2, int& subId, float pc[3])
{return this->Geometry->FindCell(x,cell,tol2,subId,pc);};
......
......@@ -42,8 +42,8 @@ public:
vlCell *GetCell(int cellId);
int GetCellType(int cellId);
void Initialize();
void GetCellPoints(int cellId, vlIdList *ptIds);
void GetPointCells(int ptId, vlIdList *cellIds);
void GetCellPoints(int cellId, vlIdList& ptIds);
void GetPointCells(int ptId, vlIdList& cellIds);
// Can't use macros to set/get following cell arrays. This is due to tricks
// required to support traversal methods.
......
......@@ -45,8 +45,8 @@ public:
int GetNumberOfCells();
int GetNumberOfPoints();
void Initialize();
void GetCellPoints(int cellId, vlIdList *ptIds);
void GetPointCells(int ptId, vlIdList *cellIds);
void GetCellPoints(int cellId, vlIdList& ptIds);
void GetPointCells(int ptId, vlIdList& cellIds);
void SetDimensions(int i, int j, int k);
void SetDimensions(int dim[3]);
......
......@@ -49,8 +49,8 @@ public:
void Initialize();
int GetNumberOfCells();
vlCell *GetCell(int cellId);
void GetCellPoints(int cellId, vlIdList *ptIds);
void GetPointCells(int ptId, vlIdList *cellIds);
void GetCellPoints(int cellId, vlIdList& ptIds);
void GetPointCells(int ptId, vlIdList& cellIds);
int GetCellType(int cellId);
protected:
......
......@@ -155,7 +155,7 @@ void vlAppendFilter::Execute()
// copy cells
for (cellId=0; cellId < numCells; cellId++)
{
ds->GetCellPoints(cellId,&ptIds);
ds->GetCellPoints(cellId,ptIds);
for (j=0; j < ptIds.GetNumberOfIds(); j++)
newPtIds.SetId(j,ptIds.GetId(i)+ptOffset);
this->InsertNextCell(ds->GetCellType(cellId),newPtIds);
......
......@@ -109,7 +109,7 @@ void vlConnectivityFilter::Execute()
pt = this->Seeds.GetId(i);
if ( pt >= 0 )
{
this->Input->GetPointCells(pt,&cellIds);
this->Input->GetPointCells(pt,cellIds);
for (j=0; j < cellIds.GetNumberOfIds(); j++)
RecursionSeeds->InsertNextId(cellIds.GetId(j));
}
......@@ -171,7 +171,7 @@ void vlConnectivityFilter::Execute()
{
if ( Visited[cellId] >= 0 )
{
this->Input->GetCellPoints(cellId, &ptIds);
this->Input->GetCellPoints(cellId, ptIds);
for (i=0; i < ptIds.GetNumberOfIds(); i++)
{
id = PointMap[ptIds.GetId(i)];
......@@ -206,7 +206,7 @@ void vlConnectivityFilter::TraverseAndMark (int cellId)
return;
}
this->Input->GetCellPoints(cellId, &ptIds);
this->Input->GetCellPoints(cellId, ptIds);
for (j=0; j < ptIds.GetNumberOfIds(); j++)
{
......@@ -216,7 +216,7 @@ void vlConnectivityFilter::TraverseAndMark (int cellId)
NewScalars->SetScalar(PointMap[ptId], RegionNumber);
}
this->Input->GetPointCells(ptId,&cellIds);
this->Input->GetPointCells(ptId,cellIds);
for (k=0; k < cellIds.GetNumberOfIds(); k++)
if ( Visited[cellIds.GetId(k)] < 0 )
......
......@@ -116,23 +116,23 @@ void vlDataSet::PrintSelf(ostream& os, vlIndent indent)
}
}
void vlDataSet::GetCellNeighbors(int cellId, vlIdList *ptIds,
vlIdList *cellIds)
void vlDataSet::GetCellNeighbors(int cellId, vlIdList &ptIds,
vlIdList &cellIds)
{
int i;
vlIdList otherCells(MAX_CELL_SIZE);
// load list with candidate cells, remove current cell
this->GetPointCells(ptIds->GetId(0),cellIds);
cellIds->DeleteId(cellId);
this->GetPointCells(ptIds.GetId(0),cellIds);
cellIds.DeleteId(cellId);
// now perform multiple intersections on list
if ( cellIds->GetNumberOfIds() > 0 )
if ( cellIds.GetNumberOfIds() > 0 )
{
for ( i=1; i < ptIds->GetNumberOfIds(); i++)
for ( i=1; i < ptIds.GetNumberOfIds(); i++)
{
this->GetPointCells(ptIds->GetId(i), &otherCells);
cellIds->IntersectWith(&otherCells);
this->GetPointCells(ptIds.GetId(i), otherCells);
cellIds.IntersectWith(otherCells);
}
}
}
......@@ -98,7 +98,7 @@ void vlFeatureEdges::Execute()
{
edge.SetId(0,pts[i]);
edge.SetId(1,pts[(i+1)%npts]);
Mesh.GetCellNeighbors(cellId,&edge,&neighbors);
Mesh.GetCellNeighbors(cellId,edge,neighbors);
if ( (numNei=neighbors.GetNumberOfIds()) < 1 && this->BoundaryEdges )
{
......
......@@ -152,8 +152,8 @@ void vlGeometryFilter::Execute()
for (j=0; j < cell->GetNumberOfFaces(); j++)
{
face = cell->GetFace(j);
this->Input->GetCellNeighbors(cellId, &(face->PointIds),
&cellIds);
this->Input->GetCellNeighbors(cellId, face->PointIds,
cellIds);
if ( cellIds.GetNumberOfIds() > 0 && cellVis[cellIds.GetId(0)] )
{
numPts = face->GetNumberOfPoints();
......
......@@ -37,7 +37,7 @@ void vlIdList::DeleteId(int cellId)
}
void vlIdList::IntersectWith(vlIdList *otherIds)
void vlIdList::IntersectWith(vlIdList& otherIds)
{
int id, i, j;
int numOriginalIds=this->GetNumberOfIds();
......@@ -47,7 +47,7 @@ void vlIdList::IntersectWith(vlIdList *otherIds)
for ( j=0; j < this->GetNumberOfIds(); j++)
{
id = this->GetId(j);
if ( ! otherIds->IsId(id) ) this->DeleteId(id);
if ( ! otherIds.IsId(id) ) this->DeleteId(id);
}
}
}
......@@ -118,7 +118,7 @@ int vlPointSet::FindCell(float x[3], vlCell *cell, float tol2, int& subId,
if ( (ptId = this->Locator->FindClosestPoint(x)) >= 0 )
{
this->GetPointCells(ptId, &cellIds);
this->GetPointCells(ptId, cellIds);
for (i=0; i<cellIds.GetNumberOfIds(); i++)
{
cellId = cellIds.GetId(i);
......
......@@ -426,11 +426,12 @@ void vlPolyData::BuildLinks()
this->Links->BuildLinks(this);
}
void vlPolyData::GetCellPoints(int cellId, vlIdList *ptIds)
void vlPolyData::GetCellPoints(int cellId, vlIdList& ptIds)
{
int i, loc, numPts, *pts;
unsigned char type;
ptIds.Reset();
if ( this->Cells == NULL ) this->BuildCells();
type = this->Cells->GetCellType(cellId);
......@@ -454,24 +455,24 @@ void vlPolyData::GetCellPoints(int cellId, vlIdList *ptIds)
this->Strips->GetCell(loc,numPts,pts);
break;
}
for (i=0; i<numPts; i++) ptIds->SetId(i,pts[i]);
for (i=0; i<numPts; i++) ptIds.SetId(i,pts[i]);
}
void vlPolyData::GetPointCells(int ptId, vlIdList *cellIds)
void vlPolyData::GetPointCells(int ptId, vlIdList& cellIds)
{
int *cells;
int numCells;
int i;
if ( ! this->Links ) this->BuildLinks();
cellIds->Reset();
cellIds.Reset();
numCells = this->Links->GetNcells(ptId);
cells = this->Links->GetCells(ptId);
for (i=0; i < numCells; i++)
{
cellIds->InsertId(i,cells[i]);
cellIds.InsertId(i,cells[i]);
}
}
......
......@@ -170,7 +170,7 @@ void vlPolyNormals::Execute()
{
Mark++;
replacementPoint = ptId;
OldMesh->GetPointCells(ptId,&cellIds);
OldMesh->GetPointCells(ptId,cellIds);
for (j=0; j < cellIds.GetNumberOfIds(); j++)
{
if ( Visited[cellIds.GetId(j)] != Mark )
......@@ -284,7 +284,7 @@ void vlPolyNormals::TraverseAndOrder (int cellId)
return;
}
NewMesh->GetCellPoints(cellId, &ptIds);
NewMesh->GetCellPoints(cellId, ptIds);
npts = ptIds.GetNumberOfIds();
for (j=0; j < npts; j++)
......@@ -295,7 +295,7 @@ void vlPolyNormals::TraverseAndOrder (int cellId)
edge.SetId(0,p1);
edge.SetId(1,p2);
OldMesh.GetCellNeighbors(cellId, &edge, &cellIds);
OldMesh.GetCellNeighbors(cellId, edge, cellIds);
//
// Check the direction of the neighbor ordering. Should be
// consistent with us (i.e., if we are n1->n2, neighbor should be n2->n1).
......@@ -305,7 +305,7 @@ void vlPolyNormals::TraverseAndOrder (int cellId)
if ( ! Visited[cellIds.GetId(k)] )
{
neighbor = cellIds.GetId(k);
NewMesh->GetCellPoints(neighbor,&neiPtIds);
NewMesh->GetCellPoints(neighbor,neiPtIds);
for (l=0; l < neiPtIds.GetNumberOfIds(); l++)
if (neiPtIds.GetId(l) == p2)
break;
......@@ -340,7 +340,7 @@ void vlPolyNormals::MarkAndReplace (int cellId, int n, int replacementPoint)
vlMath math;
Visited[cellId] = Mark;
OldMesh->GetCellPoints(cellId,&oldPts);
OldMesh->GetCellPoints(cellId,oldPts);
npts = oldPts.GetNumberOfIds();
//
// Replace the node if necessary
......@@ -349,7 +349,7 @@ void vlPolyNormals::MarkAndReplace (int cellId, int n, int replacementPoint)
{
Map->InsertId(replacementPoint, n);
NewMesh->GetCellPoints(cellId,&ptIds);
NewMesh->GetCellPoints(cellId,ptIds);
newPtIds = ptIds;
for (i=0; i < newPtIds.GetNumberOfIds(); i++)
{
......@@ -391,7 +391,7 @@ void vlPolyNormals::MarkAndReplace (int cellId, int n, int replacementPoint)
for (i=0; i<2; i++)
{
edge.SetId(1,neiNode[i]);
OldMesh->GetCellNeighbors(cellId, &edge, &cellIds);
OldMesh->GetCellNeighbors(cellId, edge, cellIds);
if ( cellIds.GetNumberOfIds() == 1 && Visited[cellIds.GetId(0)] != Mark )
{
thisNormal = PolyNormals->GetNormal(cellId);
......
......@@ -49,7 +49,7 @@ void vlShrinkFilter::Execute()
//
for (cellId=0; cellId < numCells; i++)
{
this->Input->GetCellPoints(cellId,&ptIds);
this->Input->GetCellPoints(cellId,ptIds);
// get the center of the cell
center[0] = center[1] = center[2] = 0.0;
......
......@@ -176,13 +176,13 @@ void vlStructuredDataSet::Initialize()
}
}
void vlStructuredDataSet::GetCellPoints(int cellId, vlIdList *ptIds)
void vlStructuredDataSet::GetCellPoints(int cellId, vlIdList& ptIds)
{
int i, j, k, idx, loc[3], npts;
int iMin, iMax, jMin, jMax, kMin, kMax;
int d01 = this->Dimensions[0]*this->Dimensions[1];
ptIds->Reset();
ptIds.Reset();
switch (this->DataDescription)
{
......@@ -250,13 +250,13 @@ void vlStructuredDataSet::GetCellPoints(int cellId, vlIdList *ptIds)
for (loc[0]=iMin; loc[0]<=iMax; loc[0]++)
{
idx = loc[0] + loc[1]*this->Dimensions[0] + loc[2]*d01;
ptIds->InsertId(npts++,idx);
ptIds.InsertId(npts++,idx);
}
}
}
}
void vlStructuredDataSet::GetPointCells(int ptId, vlIdList *cellIds)
void vlStructuredDataSet::GetPointCells(int ptId, vlIdList& cellIds)
{
int ptDim[3], cellDim[3];
int ptLoc[3], cellLoc[3];
......@@ -279,7 +279,7 @@ void vlStructuredDataSet::GetPointCells(int ptId, vlIdList *cellIds)
// From the point lcoation, compute the cell locations. There are at
// most eight possible.
//
cellIds->Reset();
cellIds.Reset();
for (j=0; j<8; j++)
{
......@@ -296,7 +296,7 @@ void vlStructuredDataSet::GetPointCells(int ptId, vlIdList *cellIds)
{
cellId = cellLoc[0] + cellLoc[1]*cellDim[0] +
cellLoc[2]*cellDim[0]*cellDim[1];
cellIds->InsertNextId(cellId);
cellIds.InsertNextId(cellId);
}
}
......
......@@ -101,7 +101,7 @@ void vlStripper::Execute()
edge.SetId(0,pts[1]);
edge.SetId(1,pts[2]);
Mesh.GetCellNeighbors(cellId, &edge, &cellIds);
Mesh.GetCellNeighbors(cellId, edge, cellIds);
if ( cellIds.GetNumberOfIds() > 0 &&
!visited[neighbor=cellIds.GetId(0)] &&
Mesh.GetCellType(neighbor) == vlTRIANGLE )
......@@ -138,7 +138,7 @@ void vlStripper::Execute()
edge.SetId(1,pts[numPts-1]);
if ( ++numPts > longest ) longest = numPts;
Mesh.GetCellNeighbors(neighbor, &edge, &cellIds);
Mesh.GetCellNeighbors(neighbor, edge, cellIds);
// note: if updates value of neighbor
if ( cellIds.GetNumberOfIds() <= 0 ||
visited[neighbor=cellIds.GetId(0)] ||
......
......@@ -224,31 +224,32 @@ void vlUnstructuredGrid::BuildLinks()
this->Links->BuildLinks(this);
}
void vlUnstructuredGrid::GetCellPoints(int cellId, vlIdList *ptIds)
void vlUnstructuredGrid::GetCellPoints(int cellId, vlIdList& ptIds)
{
int i, loc, numPts, *pts;
ptIds.Reset();
loc = this->Cells->GetCellLocation(cellId);
this->Connectivity->GetCell(loc,numPts,pts);
for (i=0; i<numPts; i++) ptIds->SetId(i,pts[i]);
for (i=0; i<numPts; i++) ptIds.SetId(i,pts[i]);
}
void vlUnstructuredGrid::GetPointCells(int ptId, vlIdList *cellIds)
void vlUnstructuredGrid::GetPointCells(int ptId, vlIdList& cellIds)
{
int *cells;
int numCells;
int i;
if ( ! this->Links ) this->BuildLinks();
cellIds->Reset();
cellIds.Reset();
numCells = this->Links->GetNcells(ptId);
cells = this->Links->GetCells(ptId);
for (i=0; i < numCells; i++)
{
cellIds->InsertId(i,cells[i]);
cellIds.InsertId(i,cells[i]);
}
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment