classDiagram
class Mesh {
+RENDER_MODE$
+WIREFRAME_COLOR$
+setGLUHolder(value)$
}
class MeshInterface {
+visible
+markVerticesPos(opts)
+render()
}
class AbstractMesh {
-glu
-modelMatrix
-verticesVBO
-wireframeVAO
-#renderMode
+renderMode
constructor(vertices, wireframeIndices, wireframeColor = Mesh.WIREFRAME_COLOR)
+translate(vector)
+rotate(degree, vector)
+render()
+renderSolid()
+renderWireframe()
+renderSolidWireframe()
}
class WireframeMesh {
constructor(vertices, wireframeIndices, wireframeColor = Mesh.WIREFRAME_COLOR)
}
class SolidMesh {
-solidVAO
constructor(vertices, colors, solidIndices, wireframeIndices)
}
class SoleColorMesh {
constructor(vertices, soleColor, solidIndices, wireframeIndices)
}
class CompositeMesh {
-childMeshes
+set renderMode(value)
+translate(vector)
+rotate(degree, vector)
constructor()
+render()
+renderInViewport(viewportRenderMode)
}
class HelperMesh
class GridFloorMesh {
constructor(cellSide = 0.5, num = 10)
}
class CoordsAxesMesh {
constructor(axisLength, markGap = 1, markLen = 0.1)
}
class FaceMesh {
+vertices2D
constructor(vertices, facesIndices, facesColors)
}
class RegularPolygonMesh {
constructor(radius, sidesNum, isNeedOrg = false, facesColors)
}
class CircularMesh {
constructor(radius, pointsNum, isNeedOrg = false, facesColors)
}
class CubeMesh {
constructor(sideLength, facesColors)
}
class CuboidMesh {
constructor(length, width, height, facesColors)
}
class BoxMesh {
constructor(length, width, height, lengthThick, widthThick, bottomThick, facesColors)
}
class ConeMesh {
constructor(radius, sidesNum, height, facesColors)
}
class ConeFrustumMesh {
constructor(bottomRadius, sidesNum, height, topRadius, facesColors)
}
class CylinderMesh {
constructor(radius, sidesNum, height, facesColors)
}
Mesh <|-- MeshInterface
MeshInterface <|-- AbstractMesh
AbstractMesh <|-- WireframeMesh
AbstractMesh <|-- SolidMesh
SolidMesh <|-- SoleColorMesh
MeshInterface <|-- CompositeMesh
CompositeMesh <|-- HelperMesh
HelperMesh <|-- GridFloorMesh
HelperMesh <|-- CoordsAxesMesh
CompositeMesh <|-- FaceMesh
FaceMesh <|-- RegularPolygonMesh
RegularPolygonMesh <|-- CircularMesh
FaceMesh <|-- CubeMesh
FaceMesh <|-- CuboidMesh
FaceMesh <|-- BoxMesh
FaceMesh <|-- ConeMesh
FaceMesh <|-- ConeFrustumMesh
FaceMesh <|-- CylinderMesh