Beispiel #1
0
        public override object CreateSymbol(QuantumCircuitElement element)
        {
            double       step   = element.Size > 1 ? (5 * (element.Size - 1) * Unit) : 2 * Unit;
            LineGeometry slash1 = new LineGeometry()
            {
                StartPoint = new Point(0, 0), EndPoint = new Point(Unit, Unit)
            };
            LineGeometry backslash1 = new LineGeometry()
            {
                StartPoint = new Point(Unit, 0), EndPoint = new Point(0, Unit)
            };
            LineGeometry slash2 = new LineGeometry()
            {
                StartPoint = new Point(0, step), EndPoint = new Point(Unit, step + Unit)
            };
            LineGeometry backslash2 = new LineGeometry()
            {
                StartPoint = new Point(Unit, step), EndPoint = new Point(0, step + Unit)
            };
            LineGeometry line = new LineGeometry()
            {
                StartPoint = new Point(Unit / 2, Unit / 2), EndPoint = new Point(Unit / 2, step + Unit / 2)
            };
            Geometry group = CreateGeometryGroup(slash1, backslash1, line, slash2, backslash2);
            Path     path  = CreateGeometryPath();

            path.Data = group;
            return(path);
        }
        public override object CreateSymbol(QuantumCircuitElement size)
        {
            LineGeometry slash = new LineGeometry()
            {
                StartPoint = new Point(0, 0), EndPoint = new Point(4 * Unit, 4 * Unit)
            };
            Geometry group = CreateGeometryGroup(slash);
            Path     path  = CreateGeometryPath();

            path.Data = group;
            return(path);
        }
Beispiel #3
0
        public override object CreateSymbol(QuantumCircuitElement element)
        {
            EllipseGeometry ellipse = new EllipseGeometry()
            {
                Center  = new Point(Unit / 2, Unit / 2),
                RadiusX = Unit / 2, RadiusY = Unit / 2,
            };
            Geometry geo  = CreateGeometryGroup(ellipse);
            Path     path = CreateGeometryPath();

            path.Fill = Brushes.Black;
            path.Data = geo;
            return(path);
        }
        public override object CreateSymbol(QuantumCircuitElement element)
        {
            EllipseGeometry ellipse = new EllipseGeometry()
            {
                Center = new Point(Unit, Unit), RadiusX = Unit, RadiusY = Unit
            };
            LineGeometry vertical = new LineGeometry()
            {
                StartPoint = new Point(Unit, 0), EndPoint = new Point(Unit, Unit * 2)
            };
            LineGeometry horizontal = new LineGeometry()
            {
                StartPoint = new Point(0, Unit), EndPoint = new Point(Unit * 2, Unit)
            };
            Geometry group = CreateGeometryGroup(ellipse, vertical, horizontal);
            Path     path  = CreateGeometryPath();

            path.Data = group;
            return(path);
        }
 public override object CreateSymbol(QuantumCircuitElement size)
 {
     return("M(" + Signature + ")");
 }
 public void Apply(QuantumCircuitElement element, Brush background, Brush border)
 {
     element.Background  = background ?? BackgroundColor;
     element.BorderBrush = border ?? BorderColor;
     element.Content     = CreateSymbol(element);
 }
 public void Apply(QuantumCircuitElement element)
 {
     Apply(element, null, null);
 }
 public abstract object CreateSymbol(QuantumCircuitElement size);
Beispiel #9
0
 public override object CreateSymbol(QuantumCircuitElement element)
 {
     return(Signature);
 }