reactphysics3d/examples/common/Line.h
2014-11-29 13:08:11 +01:00

55 lines
1.4 KiB
C++

#ifndef LINE_H
#define LINE_H
// Libraries
#include "openglframework.h"
#include "reactphysics3d.h"
// Class Line
class Line : public openglframework::Object3D {
private :
// -------------------- Attributes -------------------- //
openglframework::Vector3 mWorldPoint1, mWorldPoint2;
// -------------------- Methods -------------------- //
public :
// -------------------- Methods -------------------- //
/// Constructor
Line(const openglframework::Vector3& worldPoint1,
const openglframework::Vector3& worldPoint2);
/// Destructor
~Line();
/// Return the first point of the line
openglframework::Vector3 getPoint1() const;
/// Return the second point of the line
openglframework::Vector3 getPoint2() const;
/// Update the transform matrix of the sphere
void updateTransform();
/// Render the line at the correct position and with the correct orientation
void render(openglframework::Shader& shader,
const openglframework::Matrix4& worldToCameraMatrix);
};
// Return the first point of the line
inline openglframework::Vector3 Line::getPoint1() const {
return mWorldPoint1;
}
// Return the second point of the line
inline openglframework::Vector3 Line::getPoint2() const {
return mWorldPoint2;
}
#endif