"GL02 - 开源命令行工具:节省时间,提高报告质量,优化团队沟通"

需积分: 5 0 下载量 113 浏览量 更新于2024-03-20 收藏 1010KB DOCX 举报
Le projet Dragonteam_GL02 est un outil open-source développé par l'équipe de développeurs A19Cahier des chargesv1.5Sujet B - UIConsult pour répondre aux besoins du cabinet de conseil "Elyte de le France". Ce projet se présente sous la forme d'un outil en ligne de commande permettant d'extraire des données importantes à partir d'e-mails et de les visualiser sous forme de graphiques en SVG ou PNG, pouvant ainsi être facilement intégrés dans des rapports. L'objectif principal de ce projet est d'aider les leaders d'équipe à gagner du temps et à rédiger des rapports plus efficaces en automatisant la création de graphiques à partir des données extraites des e-mails. Cette approche permettra également d'améliorer la qualité des rapports en rendant les informations plus visuelles et faciles à interpréter. Le cahier des charges présente en détail les exigences et les spécifications du projet, en commençant par une introduction qui met en contexte les besoins du cabinet de conseil UIConsult et les objectifs visés par l'application. Les spécifications générales du logiciel sont ensuite détaillées, couvrant les aspects fonctionnels, techniques et ergonomiques de l'outil. L'équipe de développeurs en charge de concevoir l'application est composée de Guillaume Perrier, Mithulan Vanniyasingam, Maxence Grenon et Vincent Jouanne. Chaque membre de l'équipe apporte son expertise et ses compétences pour garantir le succès du projet et répondre aux attentes du commanditaire. En conclusion, le projet Dragonteam_GL02 représente une solution innovante pour optimiser la gestion et l'analyse des données à partir d'e-mails, offrant ainsi un outil précieux pour les leaders d'équipe et les professionnels en charge de la rédaction de rapports. Ce projet démontre l'importance de l'automatisation et de la visualisation des données pour améliorer l'efficacité et la qualité des processus de communication et de prise de décision au sein des organisations.

详细解释下面的代码,具体到各个参数的含义和作用#ifndef MESH_H #define MESH_H #include <QOpenGLShaderProgram> #include <QOpenGLFunctions_3_3_Core> #include <string> #include <vector> #include <QOpenGLTexture> using namespace std; struct Vertex { QVector3D Position; QVector3D Normal; QVector2D TexCoords; }; struct Texture { unsigned int id; string type; string path; }; class Mesh { public: Mesh(){}; // mesh data vector<Vertex> vertices; vector<unsigned int> indices; vector<Texture> textures; void Draw(QOpenGLShaderProgram &shader); void Draw(QOpenGLShaderProgram &shader, QString type); Mesh(QOpenGLFunctions_3_3_Core *glFuns, vector<Vertex> vertices, vector<unsigned int> indices, vector<Texture> textures); private: // render data unsigned int VAO, VBO, EBO; void setupMesh(); private: QOpenGLFunctions_3_3_Core *m_glFuns; QOpenGLTexture *m_STLDiffuseTex; }; #endif//MESH_H void Mesh::setupMesh() { //创建VBO和VAO对象,并赋予ID m_glFuns->glGenVertexArrays(1, &VAO); m_glFuns->glGenBuffers(1, &VBO); m_glFuns->glGenBuffers(1,&EBO); //绑定VBO和VAO对象 m_glFuns->glBindVertexArray(VAO); m_glFuns->glBindBuffer(GL_ARRAY_BUFFER, VBO); //为当前绑定到target的缓冲区对象创建一个新的数据存储。 //如果data不是NULL,则使用来自此指针的数据初始化数据存储 m_glFuns->glBufferData(GL_ARRAY_BUFFER, vertices.size()*sizeof(Vertex), &vertices[0], GL_STATIC_DRAW); m_glFuns->glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO); m_glFuns->glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices.size() * sizeof(unsigned int),&indices[0], GL_STATIC_DRAW); //告知显卡如何解析缓冲里的属性值 m_glFuns->glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 8 * sizeof(float), (void*)0); m_glFuns->glEnableVertexAttribArray(0); m_glFuns->glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)offsetof(Vertex, Normal)); m_glFuns->glEnableVertexAttribArray(1); m_glFuns->glVertexAttribPointer(2, 2, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)offsetof(Vertex, TexCoords)); m_glFuns->glEnableVertexAttribArray(2); }

2023-06-02 上传