Commit 452656d1 authored by rbleile's avatar rbleile
Browse files

Modifications made to avt/Expressions/General/avtConnComponentsExpression.C...

Modifications made to avt/Expressions/General/avtConnComponentsExpression.C and avt/Expressions/General/avtConnComponentsExpression.h

Included new logic if ghost zones are unavailable to work with boundary neighbors

Replaced interval tree with octree when doing recursive coordinate bisections



git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@23520 18c085ea-50e0-402c-830e-de6fd14e8384
parent b532c041
/*****************************************************************************
*
* Copyright (c) 2000 - 2013, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2014, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......@@ -51,6 +51,7 @@ class vtkDataArray;
class vtkIntArray;
class vtkDataSet;
class vtkCell;
class vtkUnstructuredGrid;
class avtIntervalTree;
// ****************************************************************************
......@@ -222,13 +223,52 @@ class EXPRESSION_API avtConnComponentsExpression : public avtExpressionFilter
avtIntervalTree *itree;
};
// ************************************************************************
// Class: avtConnComponentsExpression::RcbOcTree
//
// Purpose:
// Creates an efficient data structure used when creating a spatial
// partition.
//
// Programmer: Ryan Bleile
// Creation: October 23, 2013
//
// ************************************************************************
class RcbOcTree
{
public:
RcbOcTree();
RcbOcTree(double *min, double *max);
~RcbOcTree();
void AddPoint( double *point , bool checkforduplicates = false );
void SetBB( double* min, double *max );
void SplitNode( double *point );
int GetNumPoints();
int NumPointsInRange( double* min, double* max );
int WhichChild( double* point );
private:
int numPoints;
double BBMax[3];
double BBMin[3];
double min_extent[3];
double max_extent[3];
double *X;
double *Y;
double *Z;
RcbOcTree *child;
};
protected:
int nFinalComps;
int currentProgress;
int totalSteps;
bool enableGhostNeighbors;
int enableGhostNeighbors;
virtual void Execute(void);
......@@ -237,6 +277,7 @@ class EXPRESSION_API avtConnComponentsExpression : public avtExpressionFilter
virtual bool CheckForProperGhostZones(vtkDataSet **sets,int nsets);
virtual void LabelGhostNeighbors(vtkDataSet *);
virtual void LabelBoundaryNeighbors(vtkDataSet *);
virtual vtkIntArray *SingleSetLabel(vtkDataSet *, int &);
......@@ -271,4 +312,3 @@ class EXPRESSION_API avtConnComponentsExpression : public avtExpressionFilter
#endif
Markdown is supported
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