8 #ifndef COVR_PLUGIN_LIST_H
9 #define COVR_PLUGIN_LIST_H
26 #include <osg/Drawable>
69 coVRPlugin *addPlugin(
const char *name, PluginDomain domain=Default);
78 void notify(
int level,
const char *text)
const;
84 void addObject(
const RenderObject *container, osg::Group *root,
91 bool requestInteraction(
coInteractor *inter, osg::Node *triggerNode,
bool isMouse);
94 void coviseError(
const char *error)
const;
97 void guiToRenderMsg(
const char *msg)
const;
100 void removeObject(
const char *objName,
bool replaceFlag)
const;
102 void removeNode(osg::Node *node,
bool isGroup =
false, osg::Node *realNode = NULL)
const;
108 void postFrame()
const;
110 void preDraw(osg::RenderInfo &renderInfo)
const;
112 void preSwapBuffers(
int windowNumber)
const;
114 void clusterSyncDraw()
const;
116 void postSwapBuffers(
int windowNumber)
const;
118 void param(
const char *paramName,
bool inMapLoading)
const;
120 bool key(
int type,
int keySym,
int mod)
const;
122 bool userEvent(
int mod)
const;
124 void requestTimestep(
int timestep);
126 void setTimestep(
int timestep);
128 void message(
int toWhom,
int t,
int l,
const void *b)
const;
131 void forwardMessage(
int len,
const void *buf)
const;
133 void requestQuit(
bool killSession)
const;
135 bool sendVisMessage(
const covise::Message *msg)
const;
137 bool becomeCollaborativeMaster()
const;
139 covise::Message *waitForVisMessage(
int messageType)
const;
141 bool executeAll()
const;
143 void expandBoundingSphere(osg::BoundingSphere &bs)
const;
146 void commitTimestep(
int t,
coVRPlugin *caller);
148 void unloadAllPlugins(PluginDomain domain=Default);
160 void manage(
coVRPlugin *plug, PluginDomain domain);
165 coVRPlugin *loadPlugin(
const char *name,
bool showErrors =
true);
170 return keyboardPlugin;
173 coVRPlugin *keyboardPlugin;
175 void grabViewer(coVRPlugin *);
176 coVRPlugin *viewerGrabber()
const;
177 coVRPlugin *viewerPlugin =
nullptr;
179 static coVRPluginList *singleton;
182 typedef std::map<std::string, coVRPlugin *> PluginMap;
184 std::vector<coVRPlugin *> m_loadedPlugins[NumPluginDomains];
186 typedef std::vector<CO_SHLIB_HANDLE> HandleList;
187 HandleList m_unloadNext, m_unloadQueue;
188 int m_numOutstandingTimestepPlugins = 0;
189 int m_requestedTimestep = -1;
190 int m_currentTimestep = 0;
base class for data received from visualization systems (e.g. COVISE or Vistle)
Definition: RenderObject.h:146
abstract feedback class for interacting with parameters of visualization modules (e.g. COVISE or Vistle)
Definition: coInteractor.h:36
Definition: coVRPluginList.h:55
Definition: coVRPluginList.h:45
Definition: coVRPluginList.h:54
Definition: coVRPluginList.h:53
double OSGVRUIEXPORT mod(double a, double b)
make sure to clean up properly in the plugin's dtor
Definition: coVRPlugin.h:70
OpenCOVER plugin interface, derive plugins from coVRPlugin.
Definition: OpenCOVER.h:53
PluginDomain
Definition: coVRPluginList.h:51
Definition: coVRPluginSupport.h:191