Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Mini Cad - Linee.vb

Linee.vb

Caricato da: Poggi Marco
Scarica il programma completo

  1. Imports System
  2. Imports System.Drawing
  3.  
  4. Public Class Linee
  5.     Inherits Figura
  6.  
  7.  
  8.     Public Sub New(ByVal luogo As Disegno)
  9.         MyBase.New(luogo)
  10.     End Sub
  11.  
  12.     Public Sub New(ByVal linea As Linee)
  13.         MyBase.New(linea.foglio)
  14.         setCoordinate(linea.getCoordinate)
  15.         pennino = linea.pennino
  16.     End Sub
  17.  
  18.     Public Overrides Sub disegna(ByVal eliminaPrecedente As Boolean)
  19.         If eliminaPrecedente Then
  20.             cancella()
  21.         End If
  22.         Dim c As Tratto
  23.         c = getCoordinate()
  24.         foglio.pennino = pennino
  25.         foglio.linea(c.inizio.X, c.inizio.Y, c.fine.X, c.fine.Y)
  26.     End Sub
  27.  
  28.     Public Overrides Sub disegna()
  29.         disegna(True)
  30.     End Sub
  31.  
  32.     Public Overrides Sub cancella()
  33.         Dim c As Tratto
  34.         c = GetLeVecchieCoordinate()
  35.         Dim cancellino As Pen = New Pen(Color.White, pennino.Width + 2)
  36.         cancellino.StartCap = Drawing2D.LineCap.Square
  37.         cancellino.EndCap = Drawing2D.LineCap.Square
  38.         foglio.pennino = cancellino
  39.         foglio.linea(c.inizio.X, c.inizio.Y, c.fine.X, c.fine.Y)
  40.     End Sub
  41.  
  42.     Public Overrides Function ToString() As String
  43.         Dim c As Tratto
  44.         c = getCoordinate()
  45.         Return String.Format("Linea dal punto ({0}; {1}) al ({2}; {3})", c.inizio.X, c.inizio.X, c.fine.X, c.fine.Y)
  46.     End Function
  47.  
  48.     Public Overrides Function perimetro() As Double
  49.         Dim estremi As Tratto
  50.         Dim dx, dy As Double
  51.         estremi = getCoordinate()
  52.         dx = estremi.fine.X - estremi.inizio.X
  53.         dy = estremi.fine.Y - estremi.inizio.Y
  54.         Return Math.Sqrt(dx * dx + dy * dy)
  55.     End Function
  56.  
  57. End Class