-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSpring.h
More file actions
28 lines (21 loc) · 703 Bytes
/
Spring.h
File metadata and controls
28 lines (21 loc) · 703 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#pragma once
#include <ParametricSurface.h>
class Point;
class Spring : public ParametricSurface
{
friend class SpringEditor;
public:
Spring(QOpenGLShaderProgram* prog, GLfloat sectionRadius, GLfloat coilRadius, GLfloat pitch, GLfloat turns, GLuint nSlices, GLuint nStacks);
~Spring();
virtual float firstUParameter() const;
virtual float firstVParameter() const;
virtual float lastUParameter() const ;
virtual float lastVParameter() const ;
virtual Point pointAtParameter(const float& u, const float& v);
virtual void buildMesh(GLuint nSlices, GLuint nStacks);
private:
GLfloat _sectionRadius;
GLfloat _coilRadius;
GLfloat _pitch;
GLfloat _turns;
};