10.12.2012 Views

Κεφάλαιο 1 - Nemertes

Κεφάλαιο 1 - Nemertes

Κεφάλαιο 1 - Nemertes

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

}<br />

}<br />

public void importCompleteModel(String filename, MDParameters params)<br />

{<br />

particles = new Particles();<br />

particles.importModel(filename, params);<br />

}<br />

public void setParticles(Particles particles)<br />

{<br />

this.particles = particles;<br />

}<br />

}<br />

ΚΕΦΑΛΑΙΟ 6 ο<br />

Από την υλοποίηση ένα κρίσιµο σηµείο είναι αυτό που έχει να κάνει µε την συµπεριφορά<br />

ενός σωµατιδίου όταν αυτό αφαιρείται από το µοντέλο προσοµοίωσης. Λόγω της χρήσης<br />

iterator για την επεξεργασία των σωµατιδίων είναι αδύνατον να αφαιρεθεί κάποιο σωµατίδιο<br />

την ώρα που γίνεται η επεξεργασία. Αυτό που στην πραγµατικότητα συµβαίνει είναι ότι<br />

µαρκάρεται ένα σωµατίδιο σαν αφαιρούµενο και καλείται η συνάρτηση removeParticles<br />

όταν έχει τελειώσει η επεξεργασία.<br />

6.4.3 Κλάση Particles<br />

Η κλάση Particles είναι υπεύθυνη για την απόθήκευση των σωµατίδιων στην υλοποίηση που<br />

χρησιµοποιείται. Χρησιµοποιεί ένα ArrayList για να κρατά τα σωµατίδια και είναι υπεύθυνη<br />

για το µηχανισµό αφαίρεσης όπως προαναφέρθηκε. Ο µηχανισµός αφαίρεσης, δουλεύει ως<br />

εξής: όταν ένα σωµατίδιο µαρκάρεται ως αφαιρούµενο, τοποθετείται σε µια ειδική λίστα.<br />

Όταν τελειώσει η επεξεργασία, καλείται η µέθοδος doRemove, η οποία διαγράφει από τη<br />

κυρίως λίστα όλα τα σωµατίδια που βρίσκονται στη λίστα αφαίρεσης. Με αυτό τον τρόπο,<br />

υπάρχει απόδέσµευση από τον περιορισµό των iterators, ο οποίος απότρέπει την αφαίρεση<br />

κάποιου σωµατίδιου από τη λίστα την ώρα που γίνεται επεξεργασία.<br />

package md;<br />

import java.io.File;<br />

import java.io.FileReader;<br />

import java.io.FileWriter;<br />

import java.io.IOException;<br />

import java.io.LineNumberReader;<br />

import java.util.ArrayList;<br />

import java.util.Iterator;<br />

215

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!