123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- #ifndef QT3DEXTRAS_QTORUSGEOMETRY_H
- #define QT3DEXTRAS_QTORUSGEOMETRY_H
- #include <Qt3DExtras/qt3dextras_global.h>
- #include <Qt3DRender/qgeometry.h>
- QT_BEGIN_NAMESPACE
- namespace Qt3DRender {
- class QAttribute;
- }
- namespace Qt3DExtras {
- class QTorusGeometryPrivate;
- class QT3DEXTRASSHARED_EXPORT QTorusGeometry : public Qt3DRender::QGeometry
- {
- Q_OBJECT
- Q_PROPERTY(int rings READ rings WRITE setRings NOTIFY ringsChanged)
- Q_PROPERTY(int slices READ slices WRITE setSlices NOTIFY slicesChanged)
- Q_PROPERTY(float radius READ radius WRITE setRadius NOTIFY radiusChanged)
- Q_PROPERTY(float minorRadius READ minorRadius WRITE setMinorRadius NOTIFY minorRadiusChanged)
- Q_PROPERTY(Qt3DRender::QAttribute *positionAttribute READ positionAttribute CONSTANT)
- Q_PROPERTY(Qt3DRender::QAttribute *normalAttribute READ normalAttribute CONSTANT)
- Q_PROPERTY(Qt3DRender::QAttribute *texCoordAttribute READ texCoordAttribute CONSTANT)
- Q_PROPERTY(Qt3DRender::QAttribute *indexAttribute READ indexAttribute CONSTANT)
- public:
- explicit QTorusGeometry(QNode *parent = nullptr);
- ~QTorusGeometry();
- void updateVertices();
- void updateIndices();
- int rings() const;
- int slices() const;
- float radius() const;
- float minorRadius() const;
- Qt3DRender::QAttribute *positionAttribute() const;
- Qt3DRender::QAttribute *normalAttribute() const;
- Qt3DRender::QAttribute *texCoordAttribute() const;
- Qt3DRender::QAttribute *indexAttribute() const;
- public Q_SLOTS:
- void setRings(int rings);
- void setSlices(int slices);
- void setRadius(float radius);
- void setMinorRadius(float minorRadius);
- Q_SIGNALS:
- void radiusChanged(float radius);
- void ringsChanged(int rings);
- void slicesChanged(int slices);
- void minorRadiusChanged(float minorRadius);
- protected:
- QTorusGeometry(QTorusGeometryPrivate &dd, QNode *parent = nullptr);
- private:
- Q_DECLARE_PRIVATE(QTorusGeometry)
- };
- }
- QT_END_NAMESPACE
- #endif
|