add transform mode and tollbar button, implement polygon clipping with uvs interpolation and cube faces projection with near plane clipping, add duplicate points removal template function, implement Spere mesh surface section creation.
This commit is contained in:
@@ -103,7 +103,7 @@ class CanvasModeFill : public CanvasMode
|
||||
{
|
||||
ui::DynamicShape m_shape;
|
||||
bool m_dragging = false;
|
||||
std::vector<ui::Shape::vertex_t> m_points;
|
||||
std::vector<vertex_t> m_points;
|
||||
std::map<int, int> m_dirty_planes;
|
||||
public:
|
||||
virtual void on_Draw(const glm::mat4& ortho, const glm::mat4& proj, const glm::mat4& camera) override;
|
||||
@@ -116,7 +116,7 @@ class CanvasModeMaskFree : public CanvasMode
|
||||
{
|
||||
ui::DynamicShape m_shape;
|
||||
bool m_dragging = false;
|
||||
std::vector<ui::Shape::vertex_t> m_points;
|
||||
std::vector<vertex_t> m_points;
|
||||
std::vector<glm::vec2> m_points2d;
|
||||
std::map<int, int> m_dirty_planes;
|
||||
public:
|
||||
@@ -130,7 +130,7 @@ class CanvasModeMaskLine : public CanvasMode
|
||||
{
|
||||
ui::DynamicShape m_shape;
|
||||
bool m_dragging = false;
|
||||
std::vector<ui::Shape::vertex_t> m_points;
|
||||
std::vector<vertex_t> m_points;
|
||||
std::vector<glm::vec2> m_points2d;
|
||||
std::map<int, int> m_dirty_planes;
|
||||
bool m_active_tool = false;
|
||||
@@ -141,3 +141,26 @@ public:
|
||||
virtual void enter() override;
|
||||
virtual void leave() override;
|
||||
};
|
||||
|
||||
class CanvasModeTransform : public CanvasMode
|
||||
{
|
||||
ui::DynamicShape m_shape;
|
||||
ui::Sphere m_sphere;
|
||||
ui::Circle m_circle;
|
||||
glm::vec3 m_origin{0, 0, 1 };
|
||||
glm::vec3 m_center_point;
|
||||
glm::vec2 m_center_point_uv;
|
||||
int m_counter = 0;
|
||||
bool m_dragging = false;
|
||||
std::vector<vertex_t> m_points;
|
||||
std::vector<glm::vec2> m_points2d;
|
||||
std::map<int, int> m_dirty_planes;
|
||||
bool m_active_tool = false;
|
||||
public:
|
||||
CanvasModeTransform() = default;
|
||||
virtual void on_Draw(const glm::mat4& ortho, const glm::mat4& proj, const glm::mat4& camera) override;;
|
||||
virtual void on_MouseEvent(MouseEvent* me, glm::vec2& loc) override;;
|
||||
virtual void init() override;;
|
||||
//virtual void enter() override;
|
||||
//virtual void leave() override;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user