internal ArcConverter(PointConverter ptConv, VectorConverter vecConv) : base( (dgarc) => { ppg.Plane pl = new ppg.Plane(ptConv.ToPipe <dg.Point, ppg.Vec>(dgarc.CenterPoint)); return(new ppc.Arc(pl, dgarc.Radius, dgarc.StartAngle, dgarc.StartAngle + dgarc.SweepAngle)); }, (pparc) => { pparc.TransformToPlane(new ppg.Plane(pparc.Plane.Origin, pparc.Plane.Z)); return(dg.Arc.ByCenterPointRadiusAngle(ptConv.FromPipe <dg.Point, ppg.Vec>(pparc.Plane.Origin), pparc.Radius, PipeDataUtil.RadiansToDegrees(pparc.StartAngle), PipeDataUtil.RadiansToDegrees(pparc.EndAngle), vecConv.FromPipe <dg.Vector, ppg.Vec>(pparc.Plane.Z))); } ) { }
public ArcConverter(PlaneConverter planeConv, Point3dConverter ptConv) : base( (rhArc) => { ppg.Plane pl = planeConv.ToPipe <rh.Plane, ppg.Plane>(rhArc.Plane); ppg.Plane pl2 = new ppg.Plane(ptConv.ToPipe <rh.Point3d, ppg.Vec>(rhArc.Center), pl.X, pl.Y); return(new pp.Arc(pl2, rhArc.Radius, rhArc.StartAngle, rhArc.EndAngle)); }, (ppArc) => { return(new rh.Arc(planeConv.FromPipe <rh.Plane, ppg.Plane>(ppArc.Plane), ppArc.Radius, ppArc.EndAngle - ppArc.StartAngle)); } ) { }