private void RotateView(MCView view, RotationAxis rotationAxis, int number, double angle, string viewNameTemplate, bool useExistingWorkOffset) { var instance = 1; var initialAngle = angle; while (number >= instance) { var rotatedView = new MCView { ViewName = BuildViewNameFromTemplate(view.ViewName, view.ViewOrigin.ToString(), rotationAxis.LinearLabel, rotationAxis.RotaryLabel, instance.ToString(), angle.ToString(), viewNameTemplate), ViewOrigin = view.ViewOrigin, ViewMatrix = CreateMatrix(view.ViewMatrix, rotationAxis.Axis, angle) }; if (useExistingWorkOffset) { rotatedView.WorkOffsetNumber = view.WorkOffsetNumber; } rotatedView.Commit(); instance++; angle = initialAngle * instance; } }
public void CreateRotatedViews(MCView view, ViewAxis selectedAxis, int number, double angle, DistanceType distanceType, string viewNameTemplate, bool useExistingWorkOffset) { var rotationAxis = GetRotationAxis(selectedAxis, view.ViewMatrix); if (distanceType == DistanceType.TotalSweep) { angle /= number; RotateView(view, rotationAxis, number, angle, viewNameTemplate, useExistingWorkOffset); } else { RotateView(view, rotationAxis, number, angle, viewNameTemplate, useExistingWorkOffset); } }
public DisplayableView(MCView view) { Data = view; DisplayID = 0; IsDisplayed = false; }