/// <summary> /// /// </summary> /// <param name="f0"></param> /// <param name="f1"></param> /// <returns></returns> public static FuncField3d <double> CreateIntersection(IField3d <double> f0, IField3d <double> f1) { return(Create(p => SDFUtil.Intersection(f0.ValueAt(p), f1.ValueAt(p)))); }
/// <summary> /// /// </summary> /// <param name="center"></param> /// <param name="radius"></param> /// <returns></returns> public static FuncField3d <double> CreateSphere(Vec3d center, double radius) { return(Create(p => SDFUtil.Sphere(p - center, -radius))); }
/// <summary> /// /// </summary> /// <param name="f0"></param> /// <param name="f1"></param> /// <returns></returns> public static FuncField3d <double> CreateDifference(IField3d <double> f0, IField3d <double> f1) { return(Create(p => SDFUtil.Difference(f0.ValueAt(p), f1.ValueAt(p)))); }