本文整理汇总了C++中SG_Create_Grid函数的典型用法代码示例。如果您正苦于以下问题:C++ SG_Create_Grid函数的具体用法?C++ SG_Create_Grid怎么用?C++ SG_Create_Grid使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了SG_Create_Grid函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Parameters
//---------------------------------------------------------
bool C_Kriging_Base::_Get_Grid(void)
{
CSG_Shapes *pShapes = Parameters("SHAPES")->asShapes();
m_pGrid = NULL;
m_pVariance = NULL;
//-------------------------------------------------
switch( Parameters("TARGET")->asInt() )
{
case 0: // user defined...
if( Dlg_Parameters("USER") )
{
m_pGrid = _Get_Grid(pShapes->Get_Extent());
}
break;
case 1: // grid system...
if( Dlg_Parameters("SYSTEM") )
{
m_pGrid = SG_Create_Grid(*Get_Parameters("SYSTEM")->Get_Parameter("SYSTEM")->asGrid_System(), SG_DATATYPE_Float);
}
break;
case 2: // grid...
if( Dlg_Parameters("GRID") )
{
m_pGrid = Get_Parameters("GRID")->Get_Parameter("GRID") ->asGrid();
m_pVariance = Get_Parameters("GRID")->Get_Parameter("VARIANCE") ->asGrid();
}
break;
}
//-------------------------------------------------
if( m_pGrid )
{
if( !m_pVariance && Parameters("BVARIANCE")->asBool() )
{
m_pVariance = SG_Create_Grid(m_pGrid, SG_DATATYPE_Float);
}
m_pGrid->Set_Name(CSG_String::Format(SG_T("%s (%s)"), pShapes->Get_Name(), Get_Name()));
Parameters("GRID")->Set_Value(m_pGrid);
if( m_pVariance )
{
m_pVariance->Set_Name(CSG_String::Format(SG_T("%s (%s - %s)"), pShapes->Get_Name(), Get_Name(), _TL("Variance")));
Parameters("VARIANCE")->Set_Value(m_pVariance);
}
if( Parameters("TARGET")->asInt() == 2 )
{
Get_Parameters("GRID")->Get_Parameter("VARIANCE")->Set_Value(m_pVariance);
}
}
//-----------------------------------------------------
return( m_pGrid != NULL );
}
示例2: Parameters
//---------------------------------------------------------
bool CGrid_3D_Image::On_Execute(void)
{
//-----------------------------------------------------
m_pDEM = Parameters("DEM" )->asGrid();
m_pImage = Parameters("IMAGE" )->asGrid();
m_Projection = Parameters("PROJECTION" )->asInt();
m_ZExagg = Parameters("ZEXAGG" )->asDouble();
m_ZExagg_Min = Parameters("ZEXAGG_MIN" )->asDouble() / 100.0;
m_ZMean = Parameters("X_ROTATE_LEVEL")->asInt() == 0 ? 0.0 : m_pDEM->Get_Min() + m_pDEM->Get_Range() / 2.0;
m_XRotate = Parameters("X_ROTATE" )->asDouble() * M_DEG_TO_RAD;
m_ZRotate = Parameters("Z_ROTATE" )->asDouble() * M_DEG_TO_RAD;
m_PanoramaBreak = Parameters("PANBREAK" )->asDouble() / 100.0;
//-----------------------------------------------------
m_pRGB = Parameters("RGB" )->asGrid();
m_pRGB_Z = Parameters("RGB_Z")->asGrid();
if( !m_pRGB )
{
int nx, ny;
nx = Parameters("NX")->asInt();
ny = Parameters("NY")->asInt();
m_pRGB = SG_Create_Grid(SG_DATATYPE_Int , nx, ny, 1.0);
}
if( !m_pRGB_Z || !m_pRGB_Z->is_Compatible(m_pRGB->Get_System()) )
{
m_pRGB_Z = SG_Create_Grid(m_pRGB, SG_DATATYPE_Float);
}
m_pRGB ->Set_Name(_TL("3D Image"));
m_pRGB ->Assign(Parameters("BKCOLOR")->asDouble());
m_pRGB_Z ->Set_Name(_TL("3D Image Height"));
m_pRGB_Z ->Set_NoData_Value_Range(-999999, -999999);
m_pRGB_Z ->Assign_NoData();
//-----------------------------------------------------
m_XScale = (double)m_pRGB->Get_NX() / (double)Get_NX();
m_YScale = (double)m_pRGB->Get_NY() / (double)Get_NY();
//-----------------------------------------------------
_Set_Grid();
CSG_Parameter_Shapes_List *pShapes = Parameters("SHAPES")->asShapesList();
for(int i=0; i<pShapes->Get_Item_Count(); i++)
{
_Set_Shapes(pShapes->Get_Shapes(i));
}
//-----------------------------------------------------
return( true );
}
示例3: SG_Create_Grid
//---------------------------------------------------------
void CPit_Eliminator::Create_goRoute(void)
{
int x, y;
goRoute = SG_Create_Grid(pRoute);
for(y=0; y<Get_NY() && Set_Progress(y); y++)
{
for(x=0; x<Get_NX(); x++)
{
if( !is_InGrid(x,y) )
{
goRoute->Set_NoData(x, y);
}
else if( pRoute->asChar(x, y) > 0 )
{
goRoute->Set_Value(x, y, pRoute->asChar(x, y) % 8 );
}
else
{
goRoute->Set_Value(x, y, pDTM->Get_Gradient_NeighborDir(x, y));
}
}
}
}
示例4: Parameters
//---------------------------------------------------------
bool CExercise_10::On_Execute(void)
{
bool bAlive;
int x, y, i;
CSG_Colors Colors;
//-----------------------------------------------------
// General initialisations...
m_pLife = Parameters("RESULT")->asGrid();
m_nColors = Parameters("COLORS")->asInt();
Colors.Set_Count(m_nColors + 1);
Colors.Set_Ramp(SG_GET_RGB(127, 127, 127), SG_GET_RGB(0, 0, 0));
Colors.Set_Color(0, SG_GET_RGB(255, 255, 255));
DataObject_Set_Colors(m_pLife, Colors);
//-----------------------------------------------------
// Initialise life's world...
if( Parameters("REFRESH")->asBool() )
{
srand((unsigned)time(NULL));
for(y=0; y<Get_NY(); y++)
{
for(x=0; x<Get_NX(); x++)
{
m_pLife->Set_Value(x, y, rand() > RAND_MAX / 2 ? 0 : 1);
}
}
}
//-----------------------------------------------------
// Execution...
m_pTemp = SG_Create_Grid(m_pLife, SG_DATATYPE_Byte);
for(i=1, bAlive=true; bAlive && Process_Get_Okay(true); i++)
{
Process_Set_Text(CSG_String::Format(SG_T("%d %s"), i, _TL("Life Cycle")));
if( (bAlive = Next_Step()) == false )
{
Message_Add(CSG_String::Format(SG_T("%s %d %s\n"), _TL("Dead after"), i, _TL("Life Cycles")));
}
}
delete(m_pTemp);
//-----------------------------------------------------
// Finish...
return( true );
}
示例5: A
//---------------------------------------------------------
void CGrid_Import::Set_Transformation(CSG_Grid **ppImage, double ax, double ay, double dx, double dy, double rx, double ry)
{
int x, y;
double z;
TSG_Rect r;
CSG_Vector A(2), XSrc(2), XTgt(2);
CSG_Matrix D(2, 2), DInv;
CSG_Grid *pSource, *pTarget;
//-----------------------------------------------------
pSource = *ppImage;
A[0] = ax; A[1] = ay;
D[0][0] = dx; D[0][1] = rx;
D[1][0] = ry; D[1][1] = dy;
DInv = D.Get_Inverse();
//-----------------------------------------------------
XSrc[0] = pSource->Get_XMin(); XSrc[1] = pSource->Get_YMin(); XTgt = D * XSrc + A;
r.xMin = r.xMax = XTgt[0];
r.yMin = r.yMax = XTgt[1];
XSrc[0] = pSource->Get_XMin(); XSrc[1] = pSource->Get_YMax(); XTgt = D * XSrc + A;
if( r.xMin > XTgt[0] ) r.xMin = XTgt[0]; else if( r.xMax < XTgt[0] ) r.xMax = XTgt[0];
if( r.yMin > XTgt[1] ) r.yMin = XTgt[1]; else if( r.yMax < XTgt[1] ) r.yMax = XTgt[1];
XSrc[0] = pSource->Get_XMax(); XSrc[1] = pSource->Get_YMax(); XTgt = D * XSrc + A;
if( r.xMin > XTgt[0] ) r.xMin = XTgt[0]; else if( r.xMax < XTgt[0] ) r.xMax = XTgt[0];
if( r.yMin > XTgt[1] ) r.yMin = XTgt[1]; else if( r.yMax < XTgt[1] ) r.yMax = XTgt[1];
XSrc[0] = pSource->Get_XMax(); XSrc[1] = pSource->Get_YMin(); XTgt = D * XSrc + A;
if( r.xMin > XTgt[0] ) r.xMin = XTgt[0]; else if( r.xMax < XTgt[0] ) r.xMax = XTgt[0];
if( r.yMin > XTgt[1] ) r.yMin = XTgt[1]; else if( r.yMax < XTgt[1] ) r.yMax = XTgt[1];
z = fabs(dx) < fabs(dy) ? fabs(dx) : fabs(dy); // guess a suitable cellsize; could be improved...
x = 1 + (int)((r.xMax - r.xMin) / z);
y = 1 + (int)((r.yMax - r.yMin) / z);
//-----------------------------------------------------
pTarget = *ppImage = SG_Create_Grid(pSource->Get_Type(), x, y, z, r.xMin, r.yMin);
for(y=0, XTgt[1]=pTarget->Get_YMin(); y<pTarget->Get_NY() && Set_Progress(y, pTarget->Get_NY()); y++, XTgt[1]+=pTarget->Get_Cellsize())
{
for(x=0, XTgt[0]=pTarget->Get_XMin(); x<pTarget->Get_NX(); x++, XTgt[0]+=pTarget->Get_Cellsize())
{
XSrc = DInv * (XTgt - A);
if( pSource->Get_Value(XSrc[0], XSrc[1], z, GRID_INTERPOLATION_NearestNeighbour, false, true) )
{
pTarget->Set_Value(x, y, z);
}
else
{
pTarget->Set_NoData(x, y);
}
}
}
delete(pSource);
}
示例6: switch
//---------------------------------------------------------
bool CSG_Grid_Pyramid::_Get_Next_Level(CSG_Grid *pGrid)
{
if( (m_nMaxLevels <= 0 || m_nLevels < m_nMaxLevels) )
{
int nx, ny;
double Cellsize;
switch( m_Grow_Type )
{
case GRID_PYRAMID_Arithmetic: Cellsize = pGrid->Get_Cellsize() + m_Grow; break;
case GRID_PYRAMID_Geometric: Cellsize = pGrid->Get_Cellsize() * m_Grow; break;
default: Cellsize = pGrid->Get_Cellsize() * m_Grow; break;
}
nx = (int)(1.5 + m_pGrid->Get_XRange() / Cellsize); if( nx < 1 ) nx = 1;
ny = (int)(1.5 + m_pGrid->Get_YRange() / Cellsize); if( ny < 1 ) ny = 1;
if( nx > 1 || ny > 1 )
{
CSG_Grid *pNext = SG_Create_Grid(SG_DATATYPE_Float, nx, ny, Cellsize, pGrid->Get_XMin(), pGrid->Get_YMin());
pNext->Set_NoData_Value(pGrid->Get_NoData_Value());
pNext->Assign(pGrid);
m_pLevels = (CSG_Grid **)SG_Realloc(m_pLevels, (m_nLevels + 1) * sizeof(CSG_Grid *));
m_pLevels[m_nLevels++] = pNext;
_Get_Next_Level(pNext);
return( true );
}
}
return( false );
}
示例7: if
//---------------------------------------------------------
bool CSG_Grid_Pyramid::_Get_Next_Level(CSG_Grid *pGrid, double Cellsize)
{
if( (m_nMaxLevels <= 0 || m_nLevels < m_nMaxLevels) )
{
int nx, ny;
nx = (int)(1.5 + m_pGrid->Get_XRange() / Cellsize); if( nx < 1 ) nx = 1;
ny = (int)(1.5 + m_pGrid->Get_YRange() / Cellsize); if( ny < 1 ) ny = 1;
if( nx > 1 || ny > 1 )
{
CSG_Grid *pNext = SG_Create_Grid(SG_DATATYPE_Float, nx, ny, Cellsize, pGrid->Get_XMin(), pGrid->Get_YMin());
pNext->Set_NoData_Value(pGrid->Get_NoData_Value());
pNext->Assign(pGrid);
m_pLevels = (CSG_Grid **)SG_Realloc(m_pLevels, (m_nLevels + 1) * sizeof(CSG_Grid *));
m_pLevels[m_nLevels++] = pNext;
_Get_Next_Level(pNext);
return( true );
}
}
return( false );
}
示例8: Parameters
//---------------------------------------------------------
bool CGrid_Geometric_Figures::On_Execute(void)
{
int NXY;
double DXY;
CSG_Grid *pGrid;
//-----------------------------------------------------
NXY = Parameters("CELL_COUNT") ->asInt();
DXY = Parameters("CELL_SIZE") ->asDouble();
Parameters("RESULT")->asGridList()->Add_Item(
pGrid = SG_Create_Grid(SG_DATATYPE_Float, NXY, NXY, DXY)
);
//-----------------------------------------------------
switch( Parameters("FIGURE")->asInt() )
{
case 0: default:
Create_Cone (pGrid, true);
break;
case 1:
Create_Cone (pGrid, false);
break;
case 2:
Create_Plane (pGrid, Parameters("PLANE")->asDouble());
break;
}
//-----------------------------------------------------
return( true );
}
示例9: Parameters
//---------------------------------------------------------
bool CGaussian_Landscapes::On_Execute(void)
{
int nx, ny, n;
double h, s, r;
//-----------------------------------------------------
nx = Parameters("NX")->asInt();
ny = Parameters("NY")->asInt();
m_pGrid = SG_Create_Grid(SG_DATATYPE_Float, nx, ny, 1.0, 0.0, 0.0);
m_pGrid->Set_Name(_TL("Gaussian Landscape"));
m_pGrid->Assign_NoData();
Parameters("GRID")->Set_Value(m_pGrid);
m_Method = Parameters("METHOD") ->asInt();
m_M = Parameters("M") ->asDouble();
//-----------------------------------------------------
nx = nx > ny ? nx : ny;
ny = 1;
do { n = (int)pow(2.0, ny++); } while( n < nx );
h = Parameters("H") ->asDouble();
r = 1.0 / pow(2.0, h);
s = n * r;
//-----------------------------------------------------
Set_Values(0, 0, n, n, 0.0, 0.0, 0.0, 0.0, s, r);
//-----------------------------------------------------
return( true );
}
示例10: Parameters
bool CFilterClumps::On_Execute(void){
int x,y;
int iArea;
m_pInputGrid = Parameters("GRID")->asGrid();
m_pOutputGrid = Parameters("OUTPUT")->asGrid();
m_pMaskGrid = SG_Create_Grid(m_pInputGrid);
m_pMaskGridB = SG_Create_Grid(m_pInputGrid);
int iThreshold = Parameters("THRESHOLD")->asInt();
m_CentralPoints .Clear();
m_AdjPoints .Clear();
m_pMaskGrid->Assign((double)0);
m_pMaskGridB->Assign(1);
for (x = 1; x < Get_NX()-1; x++){
for (y = 1; y < Get_NY()-1; y++){
if (!m_pInputGrid->is_NoData(x,y) && m_pMaskGrid->asInt(x,y) == 0){
m_CentralPoints.Clear();
m_CentralPoints.Add(x,y);
m_pMaskGrid->Set_Value(x,y,1);
iArea = CalculateCellBlockArea();
if (iArea < iThreshold){
m_CentralPoints.Clear();
m_CentralPoints.Add(x,y);
m_pMaskGridB->Set_NoData(x,y);
EliminateClump();
}//if
}//if
}//for
}//for
for (x = 0; x < Get_NX(); x++){
for (y = 0; y < Get_NY(); y++){
if (m_pMaskGridB->is_NoData(x,y)){
m_pOutputGrid->Set_NoData(x,y);
}//if
else{
m_pOutputGrid->Set_Value(x,y,m_pInputGrid->asDouble(x,y));
}//else
}//for
}//for
return true;
}//method
示例11: Parameters
bool CGrid_Aggregate::On_Execute(void)
{
int x,y;
int x2,y2;
int i,j;
int iNX, iNY;
int iSize = Parameters("SIZE")->asInt();
int iMethod = Parameters("METHOD")->asInt();
double dMin,dMax;
double dSum;
double dValue;
iNX = (int) (Get_NX() / iSize);
iNY = (int) (Get_NY() / iSize);
CSG_Grid *pGrid = Parameters("INPUT")->asGrid();
CSG_Grid *pOutput = SG_Create_Grid(pGrid->Get_Type(), iNX, iNY, pGrid->Get_Cellsize() * iSize,
pGrid->Get_XMin(), pGrid->Get_YMin());
pOutput->Set_Name(pGrid->Get_Name());
for (y = 0, y2 = 0; y2 < iNY; y+=iSize, y2++){
for (x = 0, x2 = 0; x2 < iNX; x+=iSize, x2++){
dMax = dMin = pGrid->asDouble(x,y);
dSum = 0;
for (i = 0; i < iSize; i++){
for (j = 0; j < iSize; j++){
dValue = pGrid->asDouble(x+i,y+j);
if (dValue > dMax){
dMax = dValue;
}//if
if (dValue < dMin){
dMin = dValue;
}//if
dSum += dValue;
}//for
}//for
switch (iMethod){
case SUM:
pOutput->Set_Value(x2,y2,dSum);
break;
case MIN:
pOutput->Set_Value(x2,y2,dMin);
break;
case MAX:
pOutput->Set_Value(x2,y2,dMax);
break;
default:
break;
}
}//for
}//for
DataObject_Add(pOutput);
return true;
}
示例12: Parameters
//---------------------------------------------------------
bool CDVWK_SoilMoisture::On_Execute(void)
{
int Day, x, y, i, LandUseID;
CSG_Grid *pGrid;
//-----------------------------------------------------
if( pClimate->Get_Record_Count() > 0 )
{
pFK_mm = Parameters("STA_FC") ->asGrid();
FK_mm_Def = Parameters("STA_FC_DEF") ->asDouble();
pPWP_mm = Parameters("STA_PWP") ->asGrid();
PWP_mm_Def = Parameters("STA_PWP_DEF") ->asDouble();
pWi_mm = Parameters("DYN_W") ->asGrid();
DataObject_Set_Colors(pWi_mm, 100, SG_COLORS_YELLOW_BLUE);
//-------------------------------------------------
pLandUse = SG_Create_Grid(pWi_mm, pCropCoeff->Get_Record_Count() < 127 ? SG_DATATYPE_Char : SG_DATATYPE_Int);
pLandUse->Assign(Parameters("LANDUSE_DEF")->asInt());
if( (pGrid = Parameters("LANDUSE")->asGrid()) != NULL )
{
for(y=0; y<Get_NY(); y++)
{
for(x=0; x<Get_NX(); x++)
{
LandUseID = pGrid->asInt(x, y);
for(i=0; i<pCropCoeff->Get_Record_Count(); i++)
{
if( LandUseID == pCropCoeff->Get_Record(i)->asInt(0) )
{
pLandUse->Set_Value(x, y, i);
break;
}
}
}
}
}
//-------------------------------------------------
DataObject_Update(pWi_mm, 0, pFK_mm ? pFK_mm->Get_ZMax() : FK_mm_Def, true);
for(Day=0; Day<365 && Set_Progress(Day, 365); Day++)
{
Step_Day(Day);
DataObject_Update(pWi_mm, true);
}
//-------------------------------------------------
delete(pLandUse);
return( true );
}
return( false );
}
示例13: switch
//---------------------------------------------------------
bool CMine_Sweeper::MakeBoard(int level)
{
int i, x, y;
CSG_Colors Colors;
switch( level )
{
case 0: Mine_NX = 8; Mine_NY = 8; N_Mines=10;
break;
case 1: Mine_NX = 16; Mine_NY = 16; N_Mines=40;
break;
case 2: Mine_NX = 30; Mine_NY = 16; N_Mines=99;
break;
}
pInput = SG_Create_Grid(SG_DATATYPE_Int,SPRITE_SIZE*Mine_NX, SPRITE_SIZE*Mine_NY);
pInput->Set_Name(_TL("Mine Sweeper"));
Parameters("GRID")->Set_Value(pInput);
//-----------------------------------------------------
CSG_Parameter *pLUT = DataObject_Get_Parameter(pInput, "LUT");
if( pLUT && pLUT->asTable() )
{
pLUT->asTable()->Del_Records();
for(i=0; i<16; i++)
{
CSG_Table_Record *pRecord = pLUT->asTable()->Add_Record();
pRecord->Set_Value(0, SG_GET_RGB(mine_res_color[i*3], mine_res_color[i*3+1], mine_res_color[i*3+2]));
pRecord->Set_Value(3, i);
}
DataObject_Set_Parameter(pInput, pLUT);
DataObject_Set_Parameter(pInput, "COLORS_TYPE", 1); // Color Classification Type: Lookup Table
}
Colors.Set_Count(16);
for ( i=0;i<16; i++)
{
Colors.Set_Color(i, SG_GET_RGB(mine_res_color[i*3], mine_res_color[i*3+1], mine_res_color[i*3+2]));
}
DataObject_Set_Colors(pInput, Colors);
DataObject_Update(pInput, 0.0, 15.0, true);
//-----------------------------------------------------
for( y = 0; y < Mine_NY; y++)
for( x = 0; x < Mine_NX; x++)
{
SetSprite(x,y,SPRITE_CLOSE);
}
pInput->Set_Value(0, 0);
return true;
}
示例14: Parameters
//---------------------------------------------------------
bool CFilter_Rank::On_Execute(void)
{
int x, y;
double Rank;
CSG_Grid *pResult;
//-----------------------------------------------------
m_pInput = Parameters("INPUT" )->asGrid();
pResult = Parameters("RESULT")->asGrid();
Rank = Parameters("RANK" )->asInt() / 100.0;
//-----------------------------------------------------
m_Kernel.Set_Radius(Parameters("RADIUS")->asInt(), Parameters("MODE")->asInt() == 0);
//-----------------------------------------------------
if( !pResult || pResult == m_pInput )
{
pResult = SG_Create_Grid(m_pInput);
}
else
{
pResult->Set_Name(CSG_String::Format(SG_T("%s [%s: %.1f]"), m_pInput->Get_Name(), _TL("Rank"), 100.0 * Rank));
pResult->Set_NoData_Value(m_pInput->Get_NoData_Value());
}
//-----------------------------------------------------
for(y=0; y<Get_NY() && Set_Progress(y); y++)
{
#pragma omp parallel private(x)
for(x=0; x<Get_NX(); x++)
{
double Value;
if( Get_Value(x, y, Rank, Value) )
{
pResult->Set_Value(x, y, Value);
}
else
{
pResult->Set_NoData(x, y);
}
}
}
//-----------------------------------------------------
if( !Parameters("RESULT")->asGrid() || Parameters("RESULT")->asGrid() == m_pInput )
{
m_pInput->Assign(pResult);
delete(pResult);
DataObject_Update(m_pInput);
}
m_Kernel.Destroy();
return( true );
}
示例15: Parameters
//---------------------------------------------------------
bool CFilter_LoG::On_Execute(void)
{
CSG_Grid *pResult;
//-----------------------------------------------------
m_pInput = Parameters("INPUT") ->asGrid();
pResult = Parameters("RESULT") ->asGrid();
//-----------------------------------------------------
if( Initialise() )
{
if( !pResult || pResult == m_pInput )
{
pResult = SG_Create_Grid(m_pInput);
}
else
{
pResult->Set_Name(CSG_String::Format(SG_T("%s [%s]"), m_pInput->Get_Name(), _TL("Laplace Filter")));
pResult->Set_NoData_Value(m_pInput->Get_NoData_Value());
}
//-------------------------------------------------
for(int y=0; y<Get_NY() && Set_Progress(y); y++)
{
for(int x=0; x<Get_NX(); x++)
{
if( m_pInput->is_InGrid(x, y) )
{
pResult->Set_Value(x, y, Get_Value(x, y));
}
else
{
pResult->Set_NoData(x, y);
}
}
}
//-------------------------------------------------
if( !Parameters("RESULT")->asGrid() || Parameters("RESULT")->asGrid() == m_pInput )
{
m_pInput->Assign(pResult);
delete(pResult);
pResult = m_pInput;
}
DataObject_Set_Colors(pResult, 100, SG_COLORS_BLACK_WHITE);
m_Kernel.Destroy();
return( true );
}
//-----------------------------------------------------
return( false );
}