Files
IKT213-photo-app/docs/UML/Class Diagram.puml
Kim André Bjørkede c642945176 Update UML class diagram
2025-10-27 10:49:39 +01:00

91 lines
1.3 KiB
Plaintext

@startuml
class GUI{
This is a singleton
---
- ImageContainer _currentImage
- ImageManipulation[] _imageManipulations
+ none initialise()
}
class ImageContainer{
- imagedata _imageData
+ none loadImage(path: str)
+ imagedata getImage()
+ pair<int,int> getDimensions()
}
abstract class ImageManipulation{
+none manipulateImage(ImageContainer, Parameters)
+str[] getParameters()
+str getManipulationName()
}
abstract class Filters{
list[ImageManipulation] getFilters()
}
class LiveFilters{
}
class PostFilters{
}
class CropImage{
- str _name
}
class GreyScaleImage{
- str _name
}
class SmoothImage{
- str _name
}
class RotateImage{
- str _name
}
class HSVImage{
- str _name
}
class HueShiftImage{
- str _name
}
class GeoFilter{
- str _name
}
class GeoLocation{
str getUserCurrentTown()
}
class FaceRecognition{
pair[int,int] getFaceCentre(ImageContainer)
}
GUI ..> ImageContainer
GUI ..> LiveFilters
GUI ..> PostFilters
LiveFilters ..|> Filters
PostFilters ..|> Filters
Filters ..> ImageManipulation
FaceRecognition ..> ImageContainer
GeoFilter ..> GeoLocation
CropImage ..|> ImageManipulation
GreyScaleImage ..|> ImageManipulation
SmoothImage ..|> ImageManipulation
RotateImage ..|> ImageManipulation
HSVImage ..|> ImageManipulation
HueShiftImage ..|> ImageManipulation
GeoFilter ..|> ImageManipulation
@enduml