-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcircle.hpp
More file actions
35 lines (23 loc) · 851 Bytes
/
circle.hpp
File metadata and controls
35 lines (23 loc) · 851 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
29
30
31
32
33
34
35
#pragma once
#include "node_component.hpp"
class circle : public node_component {
public:
circle(glm::vec3 position, float radius, glm::vec3 rotation, glm::vec3 scale, glm::vec3 offset, glm::vec4 color);
circle(glm::vec2 pos, float radius);
circle(const circle & c);
std::shared_ptr<component> copy() override;
glm::vec3 get_center() override;
glm::vec3 get_border(glm::vec3 direction) override;
float get_radius();
void set_radius(float radius);
bool hit(glm::vec2 pt) override;
void drag(glm::vec2 d) override;
void apply(std::shared_ptr<circle> animation);
static std::shared_ptr<shader> _shader;
protected:
var<float> radius;
void calc_vertices() override;
void calc_indices() override;
std::shared_ptr<shader> get_shader() override;
void bind_uniforms() override;
};