Robot Principal 26
Documentation du Club Robot INSA Rennes 2026
Chargement...
Recherche...
Aucune correspondance
Sphere.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_SPHERE_H
12#define TEAM2025_SPHERE_H
13
19class Sphere {
20public:
37 Sphere(char* nom_forme, float pos_x, float pos_y, float pos_z,
38 float radius, float quat_x, float quat_y, float quat_z, float quat_w,
39 int precision, char* color, float transparency);
47 void setPosition(float pos_x, float pos_y, float pos_z);
48
54 void setXPosition(float pos_x);
55
61 void setYPosition(float pos_y);
62
68 void setZPosition(float pos_z);
69
75 void setRadius(float radius);
76
82 void setPrecision(int precision);
83
92 void setRotation(float quat_x, float quat_y, float quat_z, float quat_w);
93
99 void setQuatX(float quat_x);
100
106 void setQuatY(float quat_y);
107
113 void setQuatZ(float quat_z);
114
120 void setQuatW(float quat_w);
121
127 void setColor(const char* color);
128
134 void setTransparency(float transparency);
135
141 void sendSphereToTeleplot(Teleplot &teleplot);
142
143private:
144 static const char NAME_LENGTH = 50; // Length of the shape name
145 static const char NUMBER_PRECISION = 20; // Precision for floating point numbers
146
147 const short MASK_NAME = 0b0000000000000001;
148 const short MASK_POS_X = 0b0000000000000010;
149 const short MASK_POS_Y = 0b0000000000000100;
150 const short MASK_POS_Z = 0b0000000000001000;
151 const short MASK_RADIUS = 0b0000000000010000;
152 const short MASK_PRECISION = 0b0000000000100000;
153 const short MASK_QUAT_X = 0b0000000010000000;
154 const short MASK_QUAT_Y = 0b0000000100000000;
155 const short MASK_QUAT_Z = 0b0000001000000000;
156 const short MASK_QUAT_W = 0b0000010000000000;
157 const short MASK_COLOR = 0b0000100000000000;
158 const short MASK_TRANSPARENCY = 0b0001000000000000;
159
160 char nom_forme[NAME_LENGTH]; // Name of the sphere, initialized to an empty string
161 // position
162 float pos_x;
163 float pos_y;
164 float pos_z;
165 char r_pos_x[NUMBER_PRECISION];
166 char r_pos_y[NUMBER_PRECISION];
167 char r_pos_z[NUMBER_PRECISION];
168 // radius
169 float radius;
170 char r_radius[NUMBER_PRECISION];
171 // precision
172 int precision;
173 char r_precision[NUMBER_PRECISION];
174 // rotation (quaternion)
175 float quat_x;
176 float quat_y;
177 float quat_z;
178 float quat_w;
179 char r_quat_x[NUMBER_PRECISION];
180 char r_quat_y[NUMBER_PRECISION];
181 char r_quat_z[NUMBER_PRECISION];
182 char r_quat_w[NUMBER_PRECISION];
183 //color
184 char color[NUMBER_PRECISION];
185 // transparency
186 float transparency;
187 char r_transparency[NUMBER_PRECISION];
188
189 short modified_mask = 0; // Mask to track which parameters have been modified
195 const char * generateTeleplotMessage(unsigned long temps);
196};
197
198
199#endif //TEAM2025_SPHERE_H
Implémentation d'un client Teleplot pour envoyer des données à un serveur Teleplot.
Sphere(char *nom_forme, float pos_x, float pos_y, float pos_z, float radius, float quat_x, float quat_y, float quat_z, float quat_w, int precision, char *color, float transparency)
Definition Sphere.cpp:7
void setYPosition(float pos_y)
modifie la position y de la sphère
Definition Sphere.cpp:97
void setZPosition(float pos_z)
modifie la position z de la sphère
Definition Sphere.cpp:105
void setRotation(float quat_x, float quat_y, float quat_z, float quat_w)
modifie le quaternion de rotation de la sphère
Definition Sphere.cpp:129
void sendSphereToTeleplot(Teleplot &teleplot)
Envoie la sphère à Teleplot.
Definition Sphere.cpp:216
void setQuatZ(float quat_z)
modifie le quaternion de rotation z de la sphère
Definition Sphere.cpp:166
void setQuatY(float quat_y)
modifie le quaternion de rotation y de la sphère
Definition Sphere.cpp:158
void setQuatW(float quat_w)
modifie le quaternion de rotation w de la sphère
Definition Sphere.cpp:174
void setRadius(float radius)
modifie le rayon de la sphère
Definition Sphere.cpp:113
void setTransparency(float transparency)
modifie la transparence de la sphère
Definition Sphere.cpp:187
void setQuatX(float quat_x)
modifie le quaternion de rotation x de la sphère
Definition Sphere.cpp:150
void setXPosition(float pos_x)
modifie la position x de la sphère
Definition Sphere.cpp:89
void setPrecision(int precision)
modifie la précision de la sphère
Definition Sphere.cpp:121
void setPosition(float pos_x, float pos_y, float pos_z)
modifie la position de la sphère
Definition Sphere.cpp:72
void setColor(const char *color)
modifie la couleur de la sphère
Definition Sphere.cpp:182
Classe statique qui permet d'envoyer des données à un serveur Teleplot.
Definition Teleplot_client.h:26