28 #ifndef CDisplayWindow3D_H
29 #define CDisplayWindow3D_H
43 using namespace mrpt::utils;
45 class C3DWindowDialog;
46 class CMyGLCanvas_DisplayWindow3D;
104 friend class C3DWindowDialog;
105 friend class CMyGLCanvas_DisplayWindow3D;
113 opengl::COpenGLScenePtr m_3Dscene;
117 synch::CCriticalSection m_csAccess3DScene;
121 void createOpenGLContext();
126 std::
string m_grab_imgs_prefix;
127 unsigned int m_grab_imgs_idx;
129 bool m_is_capturing_imgs;
131 synch::CCriticalSection m_last_captured_img_cs;
139 void internalSetMinMaxRange();
145 const std::
string &windowCaption = std::
string(),
146 unsigned int initialWindowWidth = 400,
147 unsigned int initialWindowHeight = 300 );
151 const std::
string &windowCaption = std::
string(),
152 unsigned int initialWindowWidth = 400,
153 unsigned int initialWindowHeight = 300 )
170 void unlockAccess3DScene();
194 void setMinRange(
double new_min);
199 void setMaxRange(
double new_max);
208 void resize(
unsigned int width,
unsigned int height );
212 void setPos(
int x,
int y );
216 void setWindowTitle(
const std::string &str );
220 void setCameraElevationDeg(
float deg );
224 void setCameraAzimuthDeg(
float deg );
228 void setCameraPointingToPoint(
float x,
float y,
float z );
232 void setCameraZoom(
float zoom );
235 void setCameraProjective(
bool isProjective );
239 float getCameraElevationDeg()
const;
242 float getCameraAzimuthDeg()
const;
245 void getCameraPointingToPoint(
float &x,
float &y,
float &z )
const;
248 float getCameraZoom()
const;
251 bool isCameraProjective()
const;
255 void useCameraFromScene(
bool useIt =
true);
261 virtual bool getLastMousePosition(
int &x,
int &y)
const;
264 virtual void setCursorCross(
bool cursorIsCross);
278 void grabImagesStart(
const std::string &grab_imgs_prefix = std::string(
"video_") );
283 void grabImagesStop();
288 void captureImagesStart();
293 void captureImagesStop();
313 std::string grabImageGetNextFile();
334 const std::string &text,
336 const size_t unique_index = 0,
345 const std::string &text,
347 const std::string &font_name,
348 const double font_size,
350 const size_t unique_index = 0,
351 const double font_spacing = 1.5,
352 const double font_kerning = 0.1
359 void clearTextMessages();
388 void internal_setRenderingFPS(
double FPS);
389 void internal_emitGrabImageEvent(
const std::string &fil);
409 const std::string &_img_file
410 ) : source_object(obj), img_file(_img_file) { }