//#####################################################################
// Copyright 2017, Craig Schroeder.
// This file is part of PhysBAM whose distribution is governed by the license contained in the accompanying file PHYSBAM_COPYRIGHT.txt.
//#####################################################################
#ifndef __IMPLICIT_OBJECT_UTILITIES__
#define __IMPLICIT_OBJECT_UTILITIES__
#include <Core/Meshes/MESHES_FORWARD.h>
#include <Core/Vectors/VECTOR.h>
#include <string>
namespace PhysBAM{
template<class TV> class LEVELSET_IMPLICIT_OBJECT;

template<class T> LEVELSET_IMPLICIT_OBJECT<VECTOR<T,3> >*
Initialize_Implicit_Surface(TRIANGULATED_SURFACE<T>& surface,int max_res);
template<class T> LEVELSET_IMPLICIT_OBJECT<VECTOR<T,2> >*
Initialize_Implicit_Surface(SEGMENTED_CURVE<VECTOR<T,2> >& surface,int max_res);
template<class T> LEVELSET_IMPLICIT_OBJECT<VECTOR<T,3> >* 
Levelset_From_Tri_File(const std::string& filename,int max_resolution=200);
}
#endif
