Интерфейс объектов для инструментов
This commit is contained in:
parent
2bd2481ad4
commit
bb5f424387
@ -30,13 +30,27 @@ struct ID
|
|||||||
GLuint etc = 0; // Дополнительная информация
|
GLuint etc = 0; // Дополнительная информация
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class I_Movable
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void dPosition(const glm::vec3& dvec) = 0; // Сдвинуть объект на dvec
|
||||||
|
virtual void dRotation(const glm::vec3& dvec) = 0; // Повернуть объект на dvec
|
||||||
|
virtual void dScale(const glm::vec3& dvec) = 0; // Увеличить объект на dvec
|
||||||
|
virtual const glm::vec3 getPos() = 0; // Получить позицию объекта
|
||||||
|
};
|
||||||
|
|
||||||
// Класс определяющий положение, вращение и размер объекта
|
// Класс определяющий положение, вращение и размер объекта
|
||||||
class Movable
|
class Movable : I_Movable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Movable(); // Конструктор без параметров
|
Movable(); // Конструктор без параметров
|
||||||
Movable(const Movable& copy); // Конструктор копирования
|
Movable(const Movable& copy); // Конструктор копирования
|
||||||
|
|
||||||
|
virtual void dPosition(const glm::vec3& dvec); // Сдвинуть объект на dvec
|
||||||
|
virtual void dRotation(const glm::vec3& dvec); // Повернуть объект на dvec
|
||||||
|
virtual void dScale(const glm::vec3& dvec); // Увеличить объект на dvec
|
||||||
|
virtual const glm::vec3 getPos(); // Получить позицию объекта
|
||||||
|
|
||||||
glm::vec3 position; // позиция модели
|
glm::vec3 position; // позиция модели
|
||||||
glm::vec3 rotation; // поворот модели
|
glm::vec3 rotation; // поворот модели
|
||||||
glm::vec3 scale; // масштабирование модели
|
glm::vec3 scale; // масштабирование модели
|
||||||
|
@ -571,3 +571,27 @@ void GrouptedModel::set_group_id(GLuint64 id, GLuint etc)
|
|||||||
part.id.etc = etc;
|
part.id.etc = etc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Сдвинуть объект на dvec
|
||||||
|
void Movable::dPosition(const glm::vec3& dvec)
|
||||||
|
{
|
||||||
|
position += dvec;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Повернуть объект на dvec
|
||||||
|
void Movable::dRotation(const glm::vec3& dvec)
|
||||||
|
{
|
||||||
|
rotation += dvec;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Увеличить объект на dvec
|
||||||
|
void Movable::dScale(const glm::vec3& dvec)
|
||||||
|
{
|
||||||
|
scale += dvec;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Получить позицию объекта
|
||||||
|
const glm::vec3 Movable::getPos()
|
||||||
|
{
|
||||||
|
return position;
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user