You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ugeentitycube.cpp 1.3KB

123456789101112131415161718192021222324252627282930313233
  1. #include "ugeentitycube.h"
  2. UGEEntityCube::UGEEntityCube(QObject *parent)
  3. : UGEEntity(parent)
  4. , _size(1.0)
  5. {
  6. }
  7. float UGEEntityCube::getSize() const
  8. {
  9. return _size;
  10. }
  11. void UGEEntityCube::draw(AbstractRenderDevice *device)
  12. {
  13. QColor color = Qt::red;
  14. float r = _size / 2;
  15. QList<ColorVector3D> points;
  16. points << ColorVector3D(color, -r, -r, r) << ColorVector3D(color, -r, r, r) << ColorVector3D(color, r, r, r) << ColorVector3D(color, r, -r, r);
  17. points << ColorVector3D(color, -r, -r, -r) << ColorVector3D(color, -r, r, -r) << ColorVector3D(color, r, r, -r) << ColorVector3D(color, r, -r, -r);
  18. drawPolygon(device, QList<ColorVector3D>() << points[3] << points[2] << points[1] << points[0]);
  19. drawPolygon(device, QList<ColorVector3D>() << points[2] << points[3] << points[7] << points[6]);
  20. drawPolygon(device, QList<ColorVector3D>() << points[6] << points[7] << points[4] << points[5]);
  21. drawPolygon(device, QList<ColorVector3D>() << points[5] << points[4] << points[0] << points[1]);
  22. drawPolygon(device, QList<ColorVector3D>() << points[1] << points[2] << points[6] << points[5]);
  23. drawPolygon(device, QList<ColorVector3D>() << points[4] << points[7] << points[3] << points[0]);
  24. }
  25. void UGEEntityCube::setSize(float size)
  26. {
  27. _size = size;
  28. }