1 #ifndef __VIZKIT_QVIZKITWIDGET__
2 #define __VIZKIT_QVIZKITWIDGET__
6 #include <QtDesigner/QDesignerExportWidget>
13 #if defined(__clang__)
14 #pragma clang system_header
15 #elif defined(__GNUC__) || defined(__GNUG__)
16 #pragma GCC system_header
18 #include <osgViewer/CompositeViewer>
19 #include <osgGA/CameraManipulator>
21 namespace osgQt {
class GraphicsWindowQt;}
157 void setAxes(
bool value);
171 void setTransformerTextSize(
float value);
189 class QDESIGNER_WIDGET_EXPORT
Vizkit3DWidget : public QWidget, public osgViewer::CompositeViewer
198 Vizkit3DWidget(QWidget* parent = 0,
const QString &world_name =
"world_osg",
bool auto_update =
true);
207 osg::Group* getRootNode()
const;
214 void setTrackedNode(osg::Node* node, QString tracked_object_name);
221 QSize sizeHint()
const;
232 void addPlugin(QObject* plugin, QObject* parent = NULL);
233 void removePlugin(QObject* plugin);
237 QString getRootVisualizationFrame()
const;
252 void setRootFrame(QString
frame);
255 QStringList* getVisualizationFramesRuby()
const;
257 QString getVisualizationFrame()
const;
265 void setPluginDataFrame(
const QString &
frame, QObject *plugin);
266 QString getPluginDataFrame(QObject *plugin)
const;
268 void setTransformation(
const QString &source_frame,
const QString &target_frame,
269 const QVector3D &position,
const QQuaternion &orientation);
270 void getTransformation(
const QString &source_frame,
const QString &target_frame, QVector3D &position, QQuaternion &orientation)
const;
271 QString getWorldName()
const;
273 void setCameraLookAt(
double x,
double y,
double z);
274 void setCameraEye(
double x,
double y,
double z);
275 void setCameraUp(
double x,
double y,
double z);
276 void getCameraView(QVector3D& eye, QVector3D& lookAt, QVector3D& up);
278 void setSmallFeatureCullingPixelSize(
float val);
283 void collapsePropertyBrowser();
284 QWidget* getPropertyWidget()
const;
299 void enableGrabbing();
305 void disableGrabbing();
313 QString findPluginPath(QString plugin_name);
314 QString findLibPath(QString lib_name);
315 QObject* loadPlugin(QString lib_name,QString plugin_name);
316 QStringList* getAvailablePlugins();
325 QString getCameraManipulatorName()
const;
338 void setEnvironmentPlugin(QObject* plugin);
359 void clearEnvironmentPlugin();
362 void addPlugins(QObject* plugin,QObject* parent);
363 void removePlugins(QObject* plugin);
367 virtual void paintEvent( QPaintEvent* event );
370 void setPluginDataFrameIntern(
const QString &
frame, QObject *plugin);
371 void addPluginIntern(QObject* plugin,QObject *parent=NULL);
372 void removePluginIntern(QObject* plugin);
373 void pluginActivityChanged(
bool enabled);
374 void pluginChildrenChanged();
375 void addProperties(QObject* plugin,QObject *parent=NULL);
379 void enableEnvironmentPlugin();
381 void disableEnvironmentPlugin();
382 void changeCameraView(
const osg::Vec3* lookAtPos,
const osg::Vec3* eyePos,
const osg::Vec3* upVector);
383 void setPluginEnabled(QObject* plugin,
bool enabled);
384 QObject* loadLib(QString file_path);
390 osg::Group *createSceneGraph(
const QString &world_name);
392 QWidget* addViewWidget( osgQt::GraphicsWindowQt* gw, ::osg::Node* scene );
393 osgQt::GraphicsWindowQt* createGraphicsWindow(
int x,
int y,
int w,
int h,
const std::string& name=
"",
bool windowDecoration=
false );
397 osg::ref_ptr<osg::Group> root;
408 struct VizPluginInfo {
409 osg::ref_ptr<osg::Group> osg_group_ptr;
410 QWeakPointer<VizPluginBase> weak_ptr;
412 VizPluginInfo(
VizPluginBase* plugin_ptr_, osg::ref_ptr<osg::Group> osg_group_ptr_)
413 : osg_group_ptr(osg_group_ptr_),
414 weak_ptr(plugin_ptr_)
418 typedef std::map<VizPluginBase*, VizPluginInfo> PluginMap;
424 QString current_frame;
430 QString tracked_object_name;
432 osg::ref_ptr<osg::Image> grabImage;
437 osg::ref_ptr<osg::Referenced> captureHandler;
438 osg::ref_ptr<osg::Referenced> captureOperation;
Definition: Vizkit3DWidget.hpp:129
static QString manipulatorIDToName(CAMERA_MANIPULATORS id)
Definition: Vizkit3DWidget.cpp:177
Definition: Vizkit3DWidget.hpp:118
CAMERA_MANIPULATORS
Definition: Vizkit3DWidget.hpp:32
QColor background
Definition: Vizkit3DWidget.hpp:140
void setAxes(bool value)
Definition: Vizkit3DWidget.cpp:64
bool transformer
Definition: Vizkit3DWidget.hpp:143
bool axes
Definition: Vizkit3DWidget.hpp:138
Definition: Vizkit3DWidget.hpp:104
Definition: Vizkit3DWidget.hpp:133
void setTransformer(bool value)
Definition: Vizkit3DWidget.cpp:87
bool isEnvironmentPluginEnabled() const
Definition: Vizkit3DWidget.cpp:92
bool isAxes() const
Definition: Vizkit3DWidget.cpp:59
float getTransformerTextSize() const
Definition: Vizkit3DWidget.cpp:102
void setVisualizationFrame(const QStringList &frames)
Definition: Vizkit3DWidget.cpp:77
void setAxesLabels(bool value)
Definition: Vizkit3DWidget.cpp:122
QStringList getVisualizationFrames() const
Definition: Vizkit3DWidget.cpp:69
bool isAxesLabels() const
Definition: Vizkit3DWidget.cpp:127
QStringList getAvailableCameraManipulators() const
Definition: Vizkit3DWidget.cpp:155
Vizkit3DWidget * getWidget() const
Definition: Vizkit3DWidget.cpp:46
bool environment
Definition: Vizkit3DWidget.hpp:142
QColor getBackgroundColor() const
Definition: Vizkit3DWidget.cpp:112
Definition: Vizkit3DWidget.hpp:79
void setCameraManipulator(QStringList const &manipulators)
Definition: Vizkit3DWidget.cpp:197
static CAMERA_MANIPULATORS manipulatorNameToID(QString const &name)
Definition: Vizkit3DWidget.cpp:187
QStringList manipulator
Definition: Vizkit3DWidget.hpp:145
void setEnvironmentPluginEnabled(bool enabled)
Definition: Vizkit3DWidget.cpp:97
bool isTransformer() const
Definition: Vizkit3DWidget.cpp:82
void setBackgroundColor(QColor color)
Definition: Vizkit3DWidget.cpp:117
QStringList frame
Definition: Vizkit3DWidget.hpp:141
void propertyChanged(QString)
Definition: Vizkit3DWidget.hpp:122
Definition: Vizkit3DWidget.hpp:51
Definition: Vizkit3DWidget.hpp:127
Definition: Vizkit3DWidget.hpp:68
Definition: Vizkit3DWidget.hpp:114
double transformerTextSize
Definition: Vizkit3DWidget.hpp:146
Definition: EnvPluginBase.hpp:14
void setTransformerTextSize(float value)
Definition: Vizkit3DWidget.cpp:107
bool axes_labels
Definition: Vizkit3DWidget.hpp:139
Definition: Vizkit3DPlugin.hpp:110