KoordinatniSistem.cpp

Dokumentacija.
00001 // Copyright (C) 2008 ETF Mighty Coders
00002 
00003 #include "KoordinatniSistem.h"
00004 
00005 #include <ostream>
00006 
00007 KoordinatniSistem* KoordinatniSistem::Instance()
00008 {
00009         if (instance == 0) 
00010         {
00011                 instance = new KoordinatniSistem();
00012         }
00013         return instance;
00014 }
00015 
00016 KoordinatniSistem::~KoordinatniSistem()
00017 {
00018         obrisiSveTacke();
00019 }
00020 
00021 void KoordinatniSistem::ReleaseInstance()
00022 {
00023         if (0 != instance) 
00024         {
00025                 delete instance, instance = 0;
00026         }
00027 }
00028 
00029 void KoordinatniSistem::dodajTacku(Tacka *pp_tacka)
00030 {
00031         dodajKopijuTacke(*pp_tacka);
00032         dodajAdresuTacke(pp_tacka);
00033 }
00034 
00035 void KoordinatniSistem::ispisiTacke(std::ostream &os)
00036 {
00037         os << "Kopije unetih tacaka (iz zbirke kopija): " << std::endl;
00038         for (std::vector<Tacka>::iterator it = kopijeTacaka.begin(); it != kopijeTacaka.end(); it++)
00039         {
00040                 os << *it;
00041         }
00042 
00043         os << "Unete tacke (iz zbirke adresa): " << std::endl;
00044         for (std::vector<Tacka*>::iterator it = adreseTacaka.begin(); it != adreseTacaka.end(); it++)
00045         {
00046                 os << *(*it); // zagrade nisu neophodne
00047         }
00048 }
00049 
00050 KoordinatniSistem::KoordinatniSistem()
00051 {
00052 }
00053 
00054 void KoordinatniSistem::obrisiSveTacke()
00055 {
00056         // Kod kopija ne treba raditi ništa posebno, samo isprazniti zbirku.
00057         kopijeTacaka.clear();
00058         // Kod adresa treba i dealocirati svaku tačku.
00059         for (std::vector<Tacka*>::iterator it = adreseTacaka.begin(); it != adreseTacaka.end(); it++)
00060         {
00061                 delete *it;
00062         }
00063         adreseTacaka.clear();
00064 }
00065 
00066 void KoordinatniSistem::dodajKopijuTacke(Tacka pv_tacka)
00067 {
00068         kopijeTacaka.push_back(pv_tacka);
00069 }
00070 
00071 void KoordinatniSistem::dodajAdresuTacke(Tacka *pp_tacka)
00072 {
00073         adreseTacaka.push_back(pp_tacka);
00074 }
00075 
00076 KoordinatniSistem* KoordinatniSistem::instance = 0;
00077 
00078 const Tacka KoordinatniSistem::koordinatniPocetak;

[Sat Jan 12 19:52:12 2008] Napravljeno automatski za projekat ks_i_tacke_vector upotrebom   doxygen 1.5.3