Exemplo n.º 1
0
//---------------------------------------------------------
bool CSG_PointCloud::Assign(CSG_Data_Object *pObject)
{
    if( pObject && pObject->is_Valid() && pObject->Get_ObjectType() == Get_ObjectType() )
    {
        Destroy();

        CSG_PointCloud	*pPointCloud	= (CSG_PointCloud *)pObject;

        Get_History()	= pPointCloud->Get_History();

        for(int iField=0; iField<pPointCloud->m_nFields; iField++)
        {
            _Add_Field(pPointCloud->m_Field_Name[iField]->c_str(), pPointCloud->m_Field_Type[iField]);
        }

        for(int iPoint=0; iPoint<pPointCloud->Get_Count(); iPoint++)
        {
            if( _Inc_Array() )
            {
                memcpy(m_Points[iPoint] + 1, pPointCloud->m_Points[iPoint] + 1, m_nPointBytes - 1);
            }
        }

        return( true );
    }

    return( false );
}
Exemplo n.º 2
0
//---------------------------------------------------------
bool CSG_Grid::Assign(CSG_Data_Object *pObject)
{
	if( pObject && pObject->is_Valid() && pObject->Get_ObjectType() == Get_ObjectType() )
	{
		return( Assign((CSG_Grid *)pObject, GRID_INTERPOLATION_Undefined) );
	}

	return( false );
}