render vertices in addition to edges
This commit is contained in:
@ -6,11 +6,12 @@
|
||||
constexpr int WIDTH = 800;
|
||||
constexpr int HEIGHT = 800;
|
||||
|
||||
constexpr float VERTEX_SIZE = 5.0;
|
||||
constexpr float VERTEX_SIZE = 50.0;
|
||||
constexpr Color VERTEX_COLOR = {27, 188, 104, 255};
|
||||
constexpr Color EDGE_COLOR = {20, 133, 38, 255};
|
||||
|
||||
constexpr float SIM_SPEED = 4.0;
|
||||
constexpr float ROTATION_SPEED = 1.0;
|
||||
constexpr float CAMERA_DISTANCE = 2.2;
|
||||
|
||||
constexpr float DEFAULT_SPRING_CONSTANT = 1.5;
|
||||
|
||||
@ -115,9 +115,7 @@ public:
|
||||
|
||||
auto CalculateSpringForces() -> void;
|
||||
|
||||
auto IntegrateVelocities(const float delta_time) -> void;
|
||||
|
||||
auto IntegratePositions(const float delta_time) -> void;
|
||||
auto EulerUpdate(const float delta_time) -> void;
|
||||
|
||||
auto VerletUpdate(const float delta_time) -> void;
|
||||
};
|
||||
|
||||
@ -8,8 +8,11 @@
|
||||
|
||||
#include "mass_springs.hpp"
|
||||
|
||||
using Edge2Set = std::vector<std::pair<Vector2, Vector2>>;
|
||||
using Edge3Set = std::vector<std::pair<Vector3, Vector3>>;
|
||||
using Edge2Set = std::vector<std::pair<Vector2, Vector2>>;
|
||||
using Vertex2Set =
|
||||
std::vector<Vector3>; // Vertex2Set uses Vector3 to retain the z-coordinate
|
||||
// for circle size adaptation
|
||||
|
||||
class Renderer {
|
||||
private:
|
||||
@ -40,10 +43,12 @@ private:
|
||||
auto Map(const Vector2 &a) -> Vector2;
|
||||
|
||||
public:
|
||||
auto Transform(Edge2Set &edges, const MassSpringSystem &mass_springs,
|
||||
const float angle, const float distance) -> void;
|
||||
auto Transform(Edge2Set &edges, Vertex2Set &vertices,
|
||||
const MassSpringSystem &mass_springs, const float angle,
|
||||
const float distance) -> void;
|
||||
|
||||
auto Draw(const Edge2Set &edges) -> void;
|
||||
auto DrawMassSprings(const Edge2Set &edges, const Vertex2Set &vertices)
|
||||
-> void;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user