structure uml diagram
This commit is contained in:
parent
41a3b0bc9a
commit
ac95d26c4e
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/out/
|
94
structure.pu
Normal file
94
structure.pu
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
@startuml Boids
|
||||||
|
hide empty members
|
||||||
|
|
||||||
|
PhysicsObject <|- Boid
|
||||||
|
Drawable <|.. Boid
|
||||||
|
ChunkManager o- PhysicsObject
|
||||||
|
Boid -- ChunkManager: register, get_objects >
|
||||||
|
Display - DrawableCollection: draws >
|
||||||
|
DrawableCollection o-- Drawable
|
||||||
|
DrawableCollection <|.. Main
|
||||||
|
Main -- PhysicsObject: simulate >
|
||||||
|
Main o-- Boid
|
||||||
|
JFrame <|- Display
|
||||||
|
|
||||||
|
class Boid {
|
||||||
|
- int group
|
||||||
|
-- constructor --
|
||||||
|
+ Boid(int width, int height, int group)
|
||||||
|
-- methods --
|
||||||
|
+ draw(Graphics g): void
|
||||||
|
+ simulate(int group): void
|
||||||
|
}
|
||||||
|
|
||||||
|
class ChunkManager {
|
||||||
|
- {static} ArrayList<ArrayList<PhysicsObject>> chunks
|
||||||
|
- {static} int width
|
||||||
|
- {static} int height
|
||||||
|
- {static} int chunks_x
|
||||||
|
- {static} int chunks_y
|
||||||
|
-- initializers --
|
||||||
|
+ {static} init(int width, int height, int chunks_x, int chunks_y):
|
||||||
|
+ {static} clear(): void
|
||||||
|
-- methods --
|
||||||
|
- {static} to_chunk_coordinates(int x, int y): int
|
||||||
|
- {static} wrap(int index, int max): int
|
||||||
|
+ {static} register(PhysicsObject obj): void
|
||||||
|
+ {static} get_objects(int x, int y): ArrayList<PhysicsObject>
|
||||||
|
}
|
||||||
|
|
||||||
|
class Display {
|
||||||
|
- int width
|
||||||
|
- int height
|
||||||
|
- DrawableCollection dc
|
||||||
|
-- constructor --
|
||||||
|
+ Display(int width, int height, DrawableCollection dc)
|
||||||
|
-- methods --
|
||||||
|
+ paint(Graphics g): void
|
||||||
|
}
|
||||||
|
|
||||||
|
class Drawable << interface >> {
|
||||||
|
+ draw(Graphics g): void
|
||||||
|
}
|
||||||
|
|
||||||
|
class DrawableCollection <<interface>> {
|
||||||
|
+ get_drawables(): Drawable[]
|
||||||
|
}
|
||||||
|
|
||||||
|
class Main <<Program Entry>> {
|
||||||
|
- {static} final int WIDTH
|
||||||
|
- {static} final int HEIGHT
|
||||||
|
- {static} final int BOID_COUNT
|
||||||
|
- {static} final int CHUNKS_X
|
||||||
|
- {static} final int CHUNKS_Y
|
||||||
|
- {static} final int FRAME_STEP
|
||||||
|
- {static} final int MAX_SPEED
|
||||||
|
..
|
||||||
|
- Boid[] boids
|
||||||
|
- Display d
|
||||||
|
-- constructor --
|
||||||
|
+ Main()
|
||||||
|
-- methods --
|
||||||
|
+ {static} main(String[] args): void
|
||||||
|
+ run(): void
|
||||||
|
+ get_drawables(): Drawable[]
|
||||||
|
}
|
||||||
|
|
||||||
|
class PhysicsObject{
|
||||||
|
+ {static} int width
|
||||||
|
+ {static} int height
|
||||||
|
+ {static} float max_speed
|
||||||
|
..
|
||||||
|
+ float x
|
||||||
|
+ float y
|
||||||
|
+ float v_x
|
||||||
|
+ float v_y
|
||||||
|
-- constructor --
|
||||||
|
+ PhysicsObject(int x, int y, int v_x, int v_y)
|
||||||
|
-- methods --
|
||||||
|
- clamp(float f, float min, float max): float
|
||||||
|
+ simulate(): void
|
||||||
|
+ apply_force(float x, float y, float factor): void
|
||||||
|
+ get_sqr_distance(PhysicsObject obj): double
|
||||||
|
}
|
||||||
|
@enduml
|
Loading…
x
Reference in New Issue
Block a user