Using oop principles one can create personal 3D Universe.
At this moment users can use engine to draw rotate and move different simple and complex objects.
- Cube
- Paralleliped
- Pyramid
- Plane
- Sphere
- PartsObject
- ComplexObject (Multiple objects rotating over one axis(its x, y and z))
- Cylinder(in progress)
- Every object extends Object3D
- Every object has DeepPoints which is an array of points in space
- Every object can be rotated depending their rotation param
- Every object can be moved either by changing its x, y and z or using the MovingService
- float x, float y, float z
- float x, float y, float z, float edgeLength, Paint edgePaint, Paint wallPaint, float rotation
- float x, float y, float z, float aLength, float bLength, float cLength, Paint edgePaint, Paint wallPaint, float rotation
- float x, float y, float z, Paint edgePaint, Paint wallPaint, float rotation, float aLength, float bLength, float h(the depth of pyramid)
- float x, float y, float z, Paint edgePaint, Paint wallPaint, float rotation, float aLength, float bLength
- float x, float y, float z, Paint edgePaint, Paint wallPaint, float rotation, float radius
- float x, float y, float z, Paint edgePaint, Paint wallPaint, float rotation, DeepPoint[] points, ArrayList<DeepPoint[]> parts
- float x, float y, float z, Paint edgePaint, Paint wallPaint, float rotation, ArrayList objects
- DrawingService(knows how to draw objects)
- PaintService(knows how to generate paints for different objects)
- SortingService(used by drawing service and arranges objects so they are sorted by depth parameter)
- BreakingService(breaks object to smaller objects so every one is calculated more precisely where it is relative to others)
- CanvasService(updates and draws the GamePanel state) Canvas Service only has method updateAndDraw which requires GamePanel as param.