Added size fields to sidebar matrix manipulators

This commit is contained in:
Enrico Turri 2018-12-18 10:10:14 +01:00
parent 1efb54cc6c
commit 8854276965
2 changed files with 93 additions and 68 deletions

View file

@ -14,11 +14,11 @@ namespace GUI {
class ObjectManipulation : public OG_Settings
{
bool m_is_percent_scale = false; // true -> percentage scale unit
// false -> uniform scale unit
bool m_is_uniform_scale = false; // It indicates if scale is uniform
Vec3d cache_position { 0., 0., 0. };
Vec3d cache_rotation { 0., 0., 0. };
Vec3d cache_scale { 100., 100., 100. };
Vec3d cache_size { 0., 0., 0. };
wxStaticText* m_move_Label = nullptr;
public:
@ -36,25 +36,22 @@ public:
void reset_position_value();
void reset_rotation_value();
void reset_scale_value();
void reset_size_value();
// update position values displacements or "gizmos"
void update_position_value(const Vec3d& position);
// update scale values after scale unit changing or "gizmos"
void update_scale_value(const Vec3d& scaling_factor);
// update size values after scale unit changing or "gizmos"
void update_size_value(const Vec3d& size);
// update rotation value after "gizmos"
void update_rotation_value(const Vec3d& rotation);
void set_uniform_scaling(const bool uniform_scale) { m_is_uniform_scale = uniform_scale; }
// change values
void change_position_value(const Vec3d& position);
void change_rotation_value(const Vec3d& rotation);
void change_scale_value(const Vec3d& scale);
private:
void print_cashe_value(const std::string& label, const Vec3d& value);
void change_size_value(const Vec3d& size);
};
}}