30 #include "twoDdataparams.h" 31 #include "twoDimageparams.h" 34 #include "probeparams.h" 35 #include "flowparams.h" 36 #include "isolineparams.h" 38 #include "dvrparams.h" 40 #include <vapor/common.h> 46 class AnimationController;
47 class AnimationParams;
52 class ViewpointParams;
57 class TwoDImageParams;
60 class AnimationEventRouter;
61 class RegionEventRouter;
63 class ProbeEventRouter;
64 class TwoDDataEventRouter;
65 class TwoDImageEventRouter;
66 class ViewpointEventRouter;
67 class FlowEventRouter;
210 static int RegisterMouseMode(
const std::string paramsTag,
int manipType,
const char* name,
const char*
const xpmIcon[]=0);
212 #ifndef DOXYGEN_SKIP_THIS 220 static DvrParams* getActiveDvrParams(){
223 static IsolineParams* getActiveIsolineParams(){
225 static ProbeParams* getActiveProbeParams(){
227 static TwoDDataParams* getActiveTwoDDataParams(){
229 static TwoDImageParams* getActiveTwoDImageParams(){
232 return (getInstance()->getRegionParams(getInstance()->activeViz));
234 static FlowParams* getActiveFlowParams(){
237 return (getInstance()->getViewpointParams(getInstance()->activeViz));
240 return (getInstance()->getAnimationParams(getInstance()->activeViz));
242 void forceFidelityUpdate();
243 void createAllDefaultParams();
244 void RegisterMouseModes();
248 void vizAboutToDisappear(
int i);
253 void minimize(
int i) {
257 void maximize(
int i) {
262 void normalize(
int i) {
271 int launchVisualizer(
int usenum = -1,
const char* name =
"",
int newNum = -1);
273 void nameChanged(QString& name,
int num);
275 int getNumVisualizers();
276 TabManager* getTabManager() {
return tabManager;}
279 int getActiveViz() {
return activeViz;}
280 VizWin* getActiveVisualizer() {
281 if(activeViz>=0)
return vizWin[activeViz];
285 void setActiveViz(
int vizNum);
292 Params* getIsoParams(
int winnum,
int instance = -1){
295 Params* getDvrParams(
int winnum,
int instance = -1){
298 ProbeParams* getProbeParams(
int winNum,
int instance = -1);
299 IsolineParams* getIsolineParams(
int winNum,
int instance = -1);
300 TwoDDataParams* getTwoDDataParams(
int winNum,
int instance = -1);
301 TwoDImageParams* getTwoDImageParams(
int winNum,
int instance = -1);
307 int getNumDvrInstances(
int winnum){
310 int getNumIsoInstances(
int winnum){
316 void appendInstance(
int winnum,
Params* p);
318 void insertInstance(
int winnum,
int posn,
Params* p);
322 FlowParams* getFlowParams(
int winNum,
int instance = -1);
325 RegionEventRouter* getRegionRouter();
326 AnimationEventRouter* getAnimationRouter();
327 ProbeEventRouter* getProbeRouter();
328 TwoDDataEventRouter* getTwoDDataRouter();
329 TwoDImageEventRouter* getTwoDImageRouter();
330 ViewpointEventRouter* getViewpointRouter();
331 FlowEventRouter* getFlowRouter();
335 void updateActiveParams();
338 VizWin* getVizWin(
int i) {
return vizWin[i];}
341 void setVizWinName(
int winNum, QString& qs);
342 QString& getVizWinName(
int winNum) {
return vizName[winNum];}
343 bool isMinimized(
int winNum) {
return isMin[winNum];}
344 bool isMaximized(
int winNum) {
return isMax[winNum];}
351 void createDefaultParams(
int winnum);
356 void setSelectionMode(
int mode);
359 if (!vizWin[win])
return 0;
364 Trackball* getGlobalTrackball() {
return globalTrackball;}
367 void refreshRenderData();
370 void disableRenderers(
const vector<string>& vars2D,
const vector<string>& vars3D);
372 void disableAllRenderers();
386 void refreshFlow(FlowParams*);
389 void refreshProbe(ProbeParams* pParams);
390 void refreshIsoline(IsolineParams* pParams);
391 void refreshTwoDData(TwoDDataParams* pParams);
392 void refreshTwoDImage(TwoDImageParams* pParams);
405 void setFlowGraphicsDirty(FlowParams* p);
406 void setFlowDataDirty(FlowParams* p,
bool doInterrupt =
true);
407 void setFlowDisplayListDirty(FlowParams* p);
408 bool flowDataIsDirty(FlowParams* p);
411 void setAllTwoDElevDirty();
430 void reinitializeParams(
bool doOverride);
434 void reinitializeVariables();
437 void restartParams();
443 ParamNode* buildNode();
444 bool elementStartHandler(ExpatParseMgr*,
int , std::string& ,
const char ** );
445 bool elementEndHandler(ExpatParseMgr*,
int , std::string& );
447 static const string _visualizersTag;
451 void setInteractiveNavigating(
int level);
452 bool findCoincident2DSurface(
int vizwin,
float coordinate, TwoDParams *tParams);
453 void stopFlowIntegration();
467 void winActivated(
int);
468 void killViz(
int viznum);
472 void alignView(
int axis);
475 void setVpLocalGlobal(
int val);
476 void setRgLocalGlobal(
int val);
477 void setAnimationLocalGlobal(
int val);
483 void enableMultiViz(
bool onOff);
485 void newViz(QString&,
int);
487 void activateViz(
int);
488 void changeName(QString&,
int);
492 static const string _vizUseLatLonAttr;
493 static const string _vizTimeAnnotColorAttr;
494 static const string _vizTimeAnnotTextSizeAttr;
495 static const string _vizTimeAnnotTypeAttr;
496 static const string _vizTimeAnnotCoordsAttr;
497 static const string _vizElevGridEnabledAttr;
498 static const string _vizElevGridColorAttr;
499 static const string _vizElevGridRefinementAttr;
500 static const string _vizWinTag;
501 static const string _vizWinNameAttr;
502 static const string _vizBgColorAttr;
503 static const string _vizRegionColorAttr;
504 static const string _vizSubregionColorAttr;
505 static const string _vizColorbarBackgroundColorAttr;
506 static const string _vizAxisPositionAttr;
507 static const string _vizAxisOriginAttr;
508 static const string _vizAxisAnnotationEnabledAttr;
509 static const string _vizMinTicAttr;
510 static const string _vizMaxTicAttr;
511 static const string _vizTicLengthAttr;
512 static const string _vizTicDirAttr;
513 static const string _vizNumTicsAttr;
514 static const string _vizAxisColorAttr;
515 static const string _vizTicWidthAttr;
516 static const string _vizLabelHeightAttr;
517 static const string _vizLabelDigitsAttr;
518 static const string _vizColorbarDigitsAttr;
519 static const string _vizColorbarFontsizeAttr;
520 static const string _vizColorbarLLPositionAttr;
521 static const string _vizColorbarURPositionAttr;
522 static const string _vizColorbarSizeAttr;
523 static const string _vizColorbarLLXTag;
524 static const string _vizColorbarLLYTag;
525 static const string _vizColorbarTitlesTag;
526 static const string _vizColorbarAutoTitlesAttr;
527 static const string _vizColorbarNumTicsAttr;
528 static const string _vizAxisArrowsEnabledAttr;
529 static const string _vizColorbarEnabledAttr;
530 static const string _vizColorbarEnabledTag;
531 static const string _vizColorbarParamsNameAttr;
532 static const string _vizRegionFrameEnabledAttr;
533 static const string _vizSubregionFrameEnabledAttr;
534 static const string _visualizerNumAttr;
535 static const string _vizElevGridDisplacementAttr;
536 static const string _vizElevGridInvertedAttr;
537 static const string _vizElevGridRotationAttr;
538 static const string _vizElevGridTexturedAttr;
539 static const string _vizElevGridTextureNameAttr;
543 if (!vizWin[win])
return 0;
549 if (!vizWin[win])
return 0;
561 static std::map<ParamsBase::ParamsBaseType, EventRouter*> eventRouterMap;
583 int mx = -1;
int mj = -1;
585 if (vizWin[j] && activationOrder[j]>mx){
586 mx = activationOrder[j];
592 Trackball* globalTrackball;
596 MainForm* myMainWindow;
597 static TabManager* tabManager;
600 vector<int> parsingInstance;
601 int parsingVizNum, parsingDvrInstance, parsingIsoInstance,parsingFlowInstance, parsingProbeInstance,parsingTwoDDataInstance,parsingTwoDImageInstance;
607 QTimer *benchmarkTimer;
610 #endif //DOXYGEN_SKIP_THIS 616 #endif // VIZWINMGR_H A pure virtual class for managing parameters used in visualization.
void forceRender(RenderParams *rp, bool always=false)
A Params subclass for managing parameters used by Renderers.
static Params * getActiveParams(const std::string &tag)
EventRouter *() EventRouterCreateFcn()
Region bit indicates the region bounds have changed.
static int getCurrentInstanceIndex(int winnum, Params::ParamsBaseType t)
static Params * getGlobalParams(Params::ParamsBaseType ptype)
int getActiveInstanceIndex(Params::ParamsBaseType t)
bool reloadShaders()
Method that forces all glWindows to reload their shaders.
static int GetNumParamsInstances(int pType, int winnum)
A class for describing a 3D axis-aligned region in user space.
ParamsBaseType GetParamsBaseTypeId()
A pure virtual class specifying the common properties of all the parameter tabs in the VAPOR GUI...
Params * getApplicableParams(const std::string &tag)
static int findInstanceIndex(int winnum, Params *params, Params::ParamsBaseType t)
static Params * GetParamsInstance(int pType, int winnum=-1, int instance=-1)
static void InstallTab(const std::string tag, EventRouterCreateFcn fcn)
static Params * GetDefaultParams(ParamsBase::ParamsBaseType pType)
A class for describing the viewpoint and lights.
Params * getApplicableParams(Params::ParamsBaseType t)
A class for managing all visualizers.
void setVizDirty(Params *p, DirtyBitType bittype, bool bit=true, bool refresh=true)
static EventRouter * getEventRouter(const std::string &tag)
static int RegisterMouseMode(const std::string paramsTag, int manipType, const char *name, const char *const xpmIcon[]=0)
static ParamsBaseType GetTypeFromTag(const string &tag)
static EventRouter * getEventRouter(Params::ParamsBaseType typeId)
void setParams(int winNum, Params *p, ParamsBase::ParamsBaseType typeId, int instance=-1)
static int getNumInstances(int winnum, Params::ParamsBaseType pType)
A class that specifies parameters used in animation.
Params * getParams(int winNum, Params::ParamsBaseType pType, int instance=-1)
AnimationBit indicates a change in current frame.