git-svn-id: svn://db.shs.com.ru/libs@629 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -33,23 +33,47 @@ public:
|
||||
RendererService(Renderer * r_);
|
||||
virtual ~RendererService();
|
||||
|
||||
enum HandleType {
|
||||
htNoHandle,
|
||||
htMoveX,
|
||||
htMoveY,
|
||||
htMoveZ,
|
||||
htRotateX,
|
||||
htRotateY,
|
||||
htRotateZ,
|
||||
htScaleX,
|
||||
htScaleY,
|
||||
htScaleZ,
|
||||
};
|
||||
|
||||
void init(int width, int height);
|
||||
void resize(int width, int height);
|
||||
|
||||
QMatrix4x4 invariantSizeMatrix(QVector3D p);
|
||||
void fillXYZObjects();
|
||||
void fillOmniObjects();
|
||||
void fillHandleObjects(QVector3D center, HandleType first, QMatrix4x4 add_mat);
|
||||
bool fillCurrentHandleObjects();
|
||||
void setObjectsColor(QVector<QGLEngineShaders::Object> & ol, QColor col);
|
||||
void renderService();
|
||||
void setCurrentHadle(HandleType ht) {current_handle = ht;}
|
||||
Mesh * currentHandleMesh();
|
||||
|
||||
private:
|
||||
Renderer * r;
|
||||
|
||||
Mesh * axis_mesh, * box_mesh_f, * omni_mesh_f;
|
||||
Mesh * box_mesh, * omni_mesh;
|
||||
QVector<QGLEngineShaders::Object> axis_objects, cur_objects;
|
||||
Mesh * axis_mesh, * handle_move_mesh, * handle_rotate_mesh, * handle_scale_mesh;
|
||||
Mesh * box_mesh_f, * omni_mesh_f, * box_mesh, * omni_mesh;
|
||||
QMatrix4x4 v_mat;
|
||||
QVector3D selection_center;
|
||||
QVector<QMatrix4x4> mat_xyz;
|
||||
QVector<QVector4D> color_xyz;
|
||||
QVector<QGLEngineShaders::Object> cur_objects;
|
||||
Camera * axis_camera;
|
||||
QSize axis_viewport;
|
||||
HandleType current_handle;
|
||||
int line_width;
|
||||
double box_vp_scale, box_full_scale;
|
||||
double size_vp_scale, size_full_scale;
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user