deargui-vpl/ref/virtools/Samples/Behaviors/Grids/NodeGrid.cpp

52 lines
1.8 KiB
C++

#include "CKAll.h"
#include "NodeGrid.h"
/////////////////////////////////////////////////////////////////////////////////////////////////////////
// NodeGrid
/////////////////////////////////////////////////////////////////////////////////////////////////////////
NodeGrid::NodeGrid() :
m_LinkerObs(0),
m_CaseIndex(-1),
m_LayerValue(0)
{
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////
// ~NodeGrid
/////////////////////////////////////////////////////////////////////////////////////////////////////////
NodeGrid::~NodeGrid()
{
for (int i = 0; i < m_ArrayContextInfo.Size(); i++)
delete m_ArrayContextInfo[i];
delete [] m_LinkerObs;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////
// Set
/////////////////////////////////////////////////////////////////////////////////////////////////////////
void NodeGrid::Set(int maxParallelContext, int indexCase, int numGrid)
{
int i;
m_ArrayContextInfo.Resize(maxParallelContext);
for (i = 0; i < m_ArrayContextInfo.Size(); i++)
m_ArrayContextInfo[i] = new GridContext();
m_CaseIndex = indexCase;
m_LinkerObs = new NodeLinker *[numGrid];
for (i = 0; i < numGrid; i++)
m_LinkerObs[i] = 0;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////
// ResizeParallelContext
/////////////////////////////////////////////////////////////////////////////////////////////////////////
void NodeGrid::ResizeParallelContext(int numberContext)
{
int oldNumberContext = m_ArrayContextInfo.Size();
m_ArrayContextInfo.Resize(numberContext);
if (numberContext > oldNumberContext)
for (int i = oldNumberContext; i < numberContext; i++)
m_ArrayContextInfo[i] = new GridContext();
}