#pragma once #include #include "../math/vector2.h" #include "control_object.h" #include "../engine/math_string_gl_texture.h" class design { public: design(); ~design(); //render an overlay of control points, relationships, and the evaluated string void render(_vector2 upper_left, _vector2 lower_right); //selects the closest control object within "radius" object units of the given point //object_id select(_vector2 point, double radius) const; //gets the center of a control object //_vector2 get_center(object_id obj) const; //void move(object_id obj, _vector2 new_center) std::string get_math_string(); control_object* check_hit(_vector2 p, double r); void move(control_object* selected_object, _vector2 end_position); void add_control_point(_vector2 p); private: math_string_gl_texture evaluated_string; std::set my_controls; //std::set my_relationships; //std::set ...; //std::set my_shapes; //vector2 };