//#####################################################################
// Copyright 2009, Jon Gretarsson.
// This file is part of PhysBAM whose distribution is governed by the license contained in the accompanying file PHYSBAM_COPYRIGHT.txt.
//#####################################################################
// Namespace SIGNED_DISTANCE
//##################################################################### 
#ifndef __SEGMENTED_CURVE_2D_SIGNED_DISTANCE__
#define __SEGMENTED_CURVE_2D_SIGNED_DISTANCE__
#include <Core/Arrays/ARRAYS_FORWARD.h>
#include <Core/Grids/GRID.h>
#include <Core/Meshes/MESHES_FORWARD.h>
namespace PhysBAM{

namespace SIGNED_DISTANCE{
template<class T> void Calculate(SEGMENTED_CURVE<VECTOR<T,2> >& curve,const GRID<VECTOR<T,2>>& grid,AT_NODES,ARRAY<T,VECTOR<int,2> >& phi,bool print_progress=false);
template<class T> void Calculate(SEGMENTED_CURVE<VECTOR<T,2> >& curve,const GRID<VECTOR<T,2>>& grid,AT_CELLS,ARRAY<T,VECTOR<int,2> >& phi,bool print_progress=false)
{
    Calculate(curve,grid.Get_Regular_Grid_At_MAC_Positions(),at_nodes,phi,print_progress);
}
};
};
#endif
