// // methoden // /* de methoden initClass stelt de standaardwaarde in voor enkele * eigenschappen. de methode is private omdat deze alleen binnen deze * klasse gebruikt wordt. deze methode wordt altijd door één of meerdere * constructors gebruikt. */ private void initClass() { KaderKleur = Color.Black; Kleur = Color.WhiteSmoke; Wiskleur = Color.PaleGoldenrod; //grafische instellingen: Tekengebied = new Rechthoek(); /* instellen van de guid. een gud of uuid is een acroniem voor * 'Globalle Unique Indentiefier' (of 'Universally Unique Indentiefier'). * het is een 128-bits integer die gebruikt wordt om objecten te indentificeren */ _id = Guid.NewGuid(); }
// statische methode om te onderzoeken of 2 objecten van het type rechthoek // elkaar raken. deze methode kan statisch zijn omdat alle parameters worden // meegegeven aan de methode. public static Vlak GrensBereikt(Rechthoek rechthoek1, Rechthoek rechthoek2) { Vlak vlak = Vlak.Geen; // overschrijden linker- of rechterkant if (rechthoek1.A.X <= rechthoek2.A.X || rechthoek1.B.X >= rechthoek2.B.X) { vlak = Vlak.Verticaal; } // overschrijden onder - of bovenrand if (rechthoek1.A.Y <= rechthoek2.A.Y || rechthoek1.C.Y >= rechthoek2.C.Y) { if (vlak == Vlak.Verticaal) { vlak = Vlak.Hoek; } else { vlak = Vlak.Horizontaal; } } return(vlak); }
// methode waarmee bepaald wordt of 2 rechthoeken elkaar overlapper: public bool Overlap(Rechthoek rechthoek) { return((rechthoek.D.X >= A.X && rechthoek.A.X <= D.X) && (rechthoek.D.Y >= A.Y && rechthoek.A.Y <= D.Y)); }
// de volgende methode onderzoekt of een andere rechtoek de huidige instantie // van Rechthoek raakt. // omdat gebruikgemaakt wordt van de variabelen van de huidige instantie // Rechthoek kan deze methode niet statisch zijn. public Vlak GrensBereik(Rechthoek Rechthoek2) { // Rechthoek2 is de huidige instantie van de klasse Rechthoek en deze wordt // aangeroepen met het woord this. return(GrensBereikt(this, Rechthoek2)); }