CRINSA-team2025 V1
Documentation du Club Robot INSA Rennes 2025
Chargement...
Recherche...
Aucune correspondance
Sphere.h
1//
2// Created by awing on 25/05/25.
3//
4#include "Teleplot_client.h"
5
6#ifndef TEAM2025_SPHERE_H
7#define TEAM2025_SPHERE_H
8
9
10class Sphere {
11public:
28 Sphere(char* nom_forme, float pos_x, float pos_y, float pos_z,
29 float radius, float quat_x, float quat_y, float quat_z, float quat_w,
30 int precision, char* color, float transparency);
38 void setPosition(float pos_x, float pos_y, float pos_z);
39
45 void setXPosition(float pos_x);
46
52 void setYPosition(float pos_y);
53
59 void setZPosition(float pos_z);
60
66 void setRadius(float radius);
67
73 void setPrecision(int precision);
74
83 void setRotation(float quat_x, float quat_y, float quat_z, float quat_w);
84
90 void setQuatX(float quat_x);
91
97 void setQuatY(float quat_y);
98
104 void setQuatZ(float quat_z);
105
111 void setQuatW(float quat_w);
112
118 void setColor(const char* color);
119
125 void setTransparency(float transparency);
126
132 void sendSphereToTeleplot(Teleplot &teleplot);
133
134private:
135 static const char NAME_LENGTH = 50; // Length of the shape name
136 static const char NUMBER_PRECISION = 20; // Precision for floating point numbers
137
138 const short MASK_NAME = 0b0000000000000001;
139 const short MASK_POS_X = 0b0000000000000010;
140 const short MASK_POS_Y = 0b0000000000000100;
141 const short MASK_POS_Z = 0b0000000000001000;
142 const short MASK_RADIUS = 0b0000000000010000;
143 const short MASK_PRECISION = 0b0000000000100000;
144 const short MASK_QUAT_X = 0b0000000010000000;
145 const short MASK_QUAT_Y = 0b0000000100000000;
146 const short MASK_QUAT_Z = 0b0000001000000000;
147 const short MASK_QUAT_W = 0b0000010000000000;
148 const short MASK_COLOR = 0b0000100000000000;
149 const short MASK_TRANSPARENCY = 0b0001000000000000;
150
151 char nom_forme[NAME_LENGTH]; // Name of the sphere, initialized to an empty string
152 // position
153 float pos_x;
154 float pos_y;
155 float pos_z;
156 char r_pos_x[NUMBER_PRECISION];
157 char r_pos_y[NUMBER_PRECISION];
158 char r_pos_z[NUMBER_PRECISION];
159 // radius
160 float radius;
161 char r_radius[NUMBER_PRECISION];
162 // precision
163 int precision;
164 char r_precision[NUMBER_PRECISION];
165 // rotation (quaternion)
166 float quat_x;
167 float quat_y;
168 float quat_z;
169 float quat_w;
170 char r_quat_x[NUMBER_PRECISION];
171 char r_quat_y[NUMBER_PRECISION];
172 char r_quat_z[NUMBER_PRECISION];
173 char r_quat_w[NUMBER_PRECISION];
174 //color
175 char color[NUMBER_PRECISION];
176 // transparency
177 float transparency;
178 char r_transparency[NUMBER_PRECISION];
179
180 short modified_mask = 0; // Mask to track which parameters have been modified
186 const char * generateTeleplotMessage(unsigned long temps);
187};
188
189
190#endif //TEAM2025_SPHERE_H
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
Definition Teleplot_client.h:18