/// <summary> /// /// </summary> /// <typeparam name="V"></typeparam> /// <typeparam name="E"></typeparam> /// <typeparam name="F"></typeparam> /// <returns></returns> public static Orient3d GetFrame <V, E, F>(this HeStructure <V, E, F> .Halfedge hedge, Func <V, Vector3d> getPosition) where V : HeStructure <V, E, F> .Vertex where E : HeStructure <V, E, F> .Halfedge where F : HeStructure <V, E, F> .Face { return(Orient3d.CreateFromPoints( getPosition(hedge.Start), getPosition(hedge.Next.Start), getPosition(hedge.Previous.Start) )); }
/// <summary> /// /// </summary> /// <typeparam name="V"></typeparam> /// <typeparam name="E"></typeparam> /// <typeparam name="F"></typeparam> /// <returns></returns> public static Orient3d GetFrame <V, E, F>(this Halfedge <V, E, F> hedge, Func <V, Vec3d> getPosition) where V : HeVertex <V, E, F> where E : Halfedge <V, E, F> where F : HeFace <V, E, F> { return(Orient3d.CreateFromPoints( getPosition(hedge.Start), getPosition(hedge.Next.Start), getPosition(hedge.Previous.Start) )); }