Robot Principal 26
Documentation du Club Robot INSA Rennes 2026
Chargement...
Recherche...
Aucune correspondance
Cube.h
Aller à la documentation de ce fichier.
1//
2// Created by awing on 25/05/25.
3//
9#include "Teleplot_client.h"
10
11#ifndef TEAM2025_CUBE_H
12#define TEAM2025_CUBE_H
13
19class Cube {
20public:
38 Cube(char* nom_forme, float pos_x, float pos_y, float pos_z,
39 float width, float height, float depth,
40 float quat_x, float quat_y, float quat_z, float quat_w,
41 char* color, float transparency);
42
50 void setPosition(float pos_x, float pos_y, float pos_z);
51
57 void setXPosition(float pos_x);
58
64 void setYPosition(float pos_y);
65
71 void setZPosition(float pos_z);
72
80 void setSize(float width, float height, float depth);
81
87 void setWidth(float width);
88
94 void setHeight(float height);
95
101 void setDepth(float depth);
102
111 void setRotation(float quat_x, float quat_y, float quat_z, float quat_w);
112
118 void setQuatX(float quat_x);
119
125 void setQuatY(float quat_y);
126
132 void setQuatZ(float quat_z);
133
139 void setQuatW(float quat_w);
140
146 void setColor(char* color);
147
153 void setTransparency(float transparency);
154
163 void sendCubeToTeleplot(Teleplot &teleplot);
164
165private:
166 static constexpr size_t NAME_LENGTH = INTERNAL_BUFFER_SIZE;
167 static const char NUMBER_PRECISION = 20;
168 const short MASK_NAME = 0b0000000000000001;
169 const short MASK_POS_X = 0b0000000000000010;
170 const short MASK_POS_Y = 0b0000000000000100;
171 const short MASK_POS_Z = 0b0000000000001000;
172 const short MASK_WIDTH = 0b0000000000010000;
173 const short MASK_HEIGHT = 0b0000000000100000;
174 const short MASK_DEPTH = 0b0000000001000000;
175 const short MASK_QUAT_X = 0b0000000010000000;
176 const short MASK_QUAT_Y = 0b0000000100000000;
177 const short MASK_QUAT_Z = 0b0000001000000000;
178 const short MASK_QUAT_W = 0b0000010000000000;
179 const short MASK_COLOR = 0b0000100000000000;
180 const short MASK_TRANSPARENCY = 0b0001000000000000;
181
182 char nom_forme[NAME_LENGTH];
183 // position
184 float pos_x;
185 float pos_y;
186 float pos_z;
187
188 char r_pos_x[NUMBER_PRECISION];
189 char r_pos_y[NUMBER_PRECISION];
190 char r_pos_z[NUMBER_PRECISION];
191 // taille
192 float width;
193 float height;
194 float depth;
195 char r_width[NUMBER_PRECISION];
196 char r_height[NUMBER_PRECISION];
197 char r_depth[NUMBER_PRECISION];
198 // rotation (quaternion)
199 float quat_x;
200 float quat_y;
201 float quat_z;
202 float quat_w;
203 char r_quat_x[NUMBER_PRECISION];
204 char r_quat_y[NUMBER_PRECISION];
205 char r_quat_z[NUMBER_PRECISION];
206 char r_quat_w[NUMBER_PRECISION];
207 //color
208 char color[NUMBER_PRECISION];
209 // transparency
210 float transparency;
211 char r_transparency[NUMBER_PRECISION];
212 short modified_mask = 0; // Mask to track which parameters have been modified
213
219 const char * generateTeleplotMessage(unsigned long temps);
220};
221
222
223#endif //TEAM2025_CUBE_H
Implémentation d'un client Teleplot pour envoyer des données à un serveur Teleplot.
void setQuatZ(float quat_z)
modifie le quaternion de rotation z du cube
Definition Cube.cpp:172
void setHeight(float height)
modifie la hauteur du cube
Definition Cube.cpp:124
void setColor(char *color)
modifie la couleur du cube
Definition Cube.cpp:186
void setPosition(float pos_x, float pos_y, float pos_z)
modifie la position du cube
Definition Cube.cpp:64
Cube(char *nom_forme, float pos_x, float pos_y, float pos_z, float width, float height, float depth, float quat_x, float quat_y, float quat_z, float quat_w, char *color, float transparency)
Definition Cube.cpp:7
void setQuatX(float quat_x)
modifie le quaternion de rotation x du cube
Definition Cube.cpp:158
void setYPosition(float pos_y)
modifie la position y du cube
Definition Cube.cpp:87
void setZPosition(float pos_z)
modifie la position z du cube
Definition Cube.cpp:94
void setDepth(float depth)
modifie la profondeur du cube
Definition Cube.cpp:131
void setSize(float width, float height, float depth)
modifie la taille du cube
Definition Cube.cpp:101
void setRotation(float quat_x, float quat_y, float quat_z, float quat_w)
modifie le quaternion de rotation du cube
Definition Cube.cpp:138
void setQuatW(float quat_w)
modifie le quaternion de rotation w du cube
Definition Cube.cpp:179
void setQuatY(float quat_y)
modifie le quaternion de rotation y du cube
Definition Cube.cpp:165
void setWidth(float width)
modifie la largeur du cube
Definition Cube.cpp:117
void setTransparency(float transparency)
modifie la transparence du cube
Definition Cube.cpp:190
void setXPosition(float pos_x)
modifie la position x du cube
Definition Cube.cpp:80
void sendCubeToTeleplot(Teleplot &teleplot)
envoie l'état actuel du cube à téléplot
Definition Cube.cpp:198
Classe statique qui permet d'envoyer des données à un serveur Teleplot.
Definition Teleplot_client.h:26