コード例 #1
0
 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)));
 }
         )
 { }
コード例 #2
0
 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));
 }
         )
 { }