private static MD.Enums.LinkDirection ConvertLinkDirection(MM.Enums.LinkDirection d) { switch (d) { case MM.Enums.LinkDirection.X: return(MD.Enums.LinkDirection.X); case MM.Enums.LinkDirection.Y: return(MD.Enums.LinkDirection.Y); case MM.Enums.LinkDirection.Z: return(MD.Enums.LinkDirection.Z); default: throw new ArgumentOutOfRangeException(); } }
private static VmLinkDirection ConvertLinkDirection(MLinkDirection direction) { switch (direction) { case MLinkDirection.X: return(VmLinkDirection.X); case MLinkDirection.Y: return(VmLinkDirection.Y); case MLinkDirection.Z: return(VmLinkDirection.Z); default: throw new ArgumentException("Invalid link direction"); } }
private static Vector3D GetDirectionVector(MachineModels.Enums.LinkDirection d) { var direction = new Vector3D(); switch (d) { case MachineModels.Enums.LinkDirection.X: direction.X = 1.0; break; case MachineModels.Enums.LinkDirection.Y: direction.Y = 1.0; break; case MachineModels.Enums.LinkDirection.Z: direction.Z = 1.0; break; default: break; } return(direction); }
private static MachineElementViewModel GetFirstAncestorWithLinearPositionLink(MachineElementViewModel vm, MachineModels.Enums.LinkDirection direction) { if (vm != null) { if ((vm.LinkToParent != null) && (vm.LinkToParent is MachineViewModels.ViewModels.Links.LinearPositionViewModel lpvm) && (lpvm.Direction == direction)) { return(vm); } else { return(GetFirstAncestorWithLinearPositionLink(vm.Parent, direction)); } } else { return(null); } }