private void Draw(float gModalGroup1, Point3D oldCoordinates, Point3D newCoordinates, float?radius, ArcCenters centers, FrameChangedEventArgs e) { ArcInterpolation interpolation; switch (gModalGroup1) { case 0: //Rapid AddLine(oldCoordinates.ToVector3(), newCoordinates.ToVector3(), RapidGeometry); break; case 1: //Linear AddLine(oldCoordinates.ToVector3(), newCoordinates.ToVector3(), LinearGeometry); break; case 2: //Arc clockwise interpolation = e.Frame.RValue.HasValue ? new ArcInterpolation(oldCoordinates, radius: radius.Value, newCoordinates, true) : new ArcInterpolation(oldCoordinates, centers, newCoordinates, true); for (int i = 0; i <= 100; i += 5) { var point = interpolation.GetArcCoordinatesEx(i); AddLine(oldCoordinates.ToVector3(), point.ToVector3(), LinearGeometry); oldCoordinates = point; } AddLine(oldCoordinates.ToVector3(), newCoordinates.ToVector3(), LinearGeometry); break; case 3: //Arc Counter-clockwise if (e.Frame.RValue.HasValue) { interpolation = new ArcInterpolation(oldCoordinates, radius: radius.Value, newCoordinates, false); } else { interpolation = new ArcInterpolation(oldCoordinates, centers, newCoordinates, false); } for (int i = 100; i >= 0; i -= 5) { var point = interpolation.GetArcCoordinatesEx(i); AddLine(oldCoordinates.ToVector3(), point.ToVector3(), LinearGeometry); oldCoordinates = point; } AddLine(oldCoordinates.ToVector3(), newCoordinates.ToVector3(), LinearGeometry); break; } }
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { var trafo = ((Transform3D)value).Value; var pos = new System.Windows.Media.Media3D.Point3D(trafo.OffsetX, trafo.OffsetY, trafo.OffsetZ); return(pos.ToVector3()); }
protected override void AssignDefaultValuesToSceneNode(SceneNode node) { if (node is ScreenSpacedNode n) { n.RelativeScreenLocationX = (float)this.RelativeScreenLocationX; n.RelativeScreenLocationY = (float)this.RelativeScreenLocationY; n.SizeScale = (float)this.SizeScale; n.AbsolutePosition3D = AbsolutePosition3D.ToVector3(); n.Mode = Mode; } base.AssignDefaultValuesToSceneNode(node); InitializeMover(); }
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { var trafo = ((Transform3D)value).Value; var pos = new System.Windows.Media.Media3D.Point3D(trafo.OffsetX, trafo.OffsetY, trafo.OffsetZ); return pos.ToVector3(); }