VAPoR  0.1
params.h
Go to the documentation of this file.
1 //************************************************************************
2 // *
3 // Copyright (C) 2004 *
4 // University Corporation for Atmospheric Research *
5 // All Rights Reserved *
6 // *
7 //************************************************************************/
8 //
9 // File: params.h
10 //
11 // Author: Alan Norton
12 // National Center for Atmospheric Research
13 // PO 3000, Boulder, Colorado
14 //
15 // Date: October 2004
16 //
17 // Description: Defines the Params and the RendererParams classes.
18 // This is an abstract class for all the tabbed panel params classes.
19 // Supports functionality common to all the tabbed panel params.
20 //
21 #ifndef PARAMS_H
22 #define PARAMS_H
23 
24 #include <cassert>
25 #include <qwidget.h>
26 #include <vapor/XmlNode.h>
27 #include <vapor/ExpatParseMgr.h>
28 #include <vapor/ParamNode.h>
29 #include <vapor/common.h>
30 #include <vapor/ParamsBase.h>
31 #include <vapor/RegularGrid.h>
32 #include "Box.h"
33 
34 class QWidget;
35 
36 using namespace VetsUtil;
37 //Error tolerance for gui parameters:
38 #define ROUND_OFF 1.e-6f
39 #define MAXVIZWINS 16
40 #define OUT_OF_BOUNDS -1.e30f
41 
42 namespace VAPoR{
59 };
60 class XmlNode;
61 class ParamNode;
62 class DummyParams;
63 class MapperFunction;
64 class TransferFunction;
65 class ViewpointParams;
66 class RegionParams;
67 class DataMgr;
68 class Histo;
75 class PARAMS_API Params : public MyBase, public ParamsBase {
76 
77 public:
82 Params(
83  XmlNode *parent, const string &name, int winNum
84  );
86 Params(int winNum, const string& name) : ParamsBase(name) {
87  vizNum = winNum;
88  if(winNum < 0) local = false; else local = true;
89 
90  previousClass = 0;
91 }
92 
94  Params(const Params& p);
100  virtual ~Params();
101 
104  virtual const std::string& getShortName()=0;
105 
110  static int GetCurrentParamsInstanceIndex(int pType, int winnum){
111  return currentParamsInstance[make_pair(pType,winnum)];
112  }
118  static int GetCurrentParamsInstanceIndex(const std::string tag, int winnum){
119  return GetCurrentParamsInstanceIndex(GetTypeFromTag(tag),winnum);
120  }
121 
126  static void SetCurrentParamsInstanceIndex(int pType, int winnum, int instance){
127  currentParamsInstance[make_pair(pType,winnum)] = instance;
128  }
129 
136  static Params* GetParamsInstance(int pType, int winnum = -1, int instance = -1);
137 
144  static Params* GetParamsInstance(const std::string tag, int winnum = -1, int instance = -1){
145  return GetParamsInstance(GetTypeFromTag(tag), winnum, instance);
146  }
147 
152  static Params* GetCurrentParamsInstance(int pType, int winnum){
153  Params* p = GetParamsInstance(pType, winnum, -1);
154  if (p->isLocal()) return p;
155  return GetDefaultParams(pType);
156  }
157 
163  return defaultParamsInstance[pType];
164  }
165 
171  static Params* GetDefaultParams(const string& tag){
172  return defaultParamsInstance[GetTypeFromTag(tag)];
173  }
174 
179  static void SetDefaultParams(int pType, Params* p) {
180  defaultParamsInstance[pType] = p;
181  }
182 
188  static void SetDefaultParams(const string& tag, Params* p) {
189  defaultParamsInstance[GetTypeFromTag(tag)] = p;
190  }
194  static Params* CreateDefaultParams(int pType){
195  Params*p = (Params*)(createDefaultFcnMap[pType])();
196  return p;
197  }
198 
199 
205  static int GetNumParamsInstances(int pType, int winnum){
206  return paramsInstances[make_pair(pType, winnum)].size();
207  }
208 
215  static int GetNumParamsInstances(const std::string tag, int winnum){
216  return GetNumParamsInstances(GetTypeFromTag(tag), winnum);
217  }
218 
224  static void AppendParamsInstance(int pType, int winnum, Params* p){
225  paramsInstances[make_pair(pType,winnum)].push_back(p);
226  }
227 
234  static void AppendParamsInstance(const std::string tag, int winnum, Params* p){
235  AppendParamsInstance(GetTypeFromTag(tag),winnum, p);
236  }
237 
243  static void RemoveParamsInstance(int pType, int winnum, int instance);
244 
251  static void InsertParamsInstance(int pType, int winnum, int posn, Params* dp){
252  vector<Params*>& instances = paramsInstances[make_pair(pType,winnum)];
253  instances.insert(instances.begin()+posn, dp);
254  }
255 
261  static vector<Params*>& GetAllParamsInstances(int pType, int winnum){
262  return paramsInstances[make_pair(pType,winnum)];
263  }
264 
271  static vector<Params*>& GetAllParamsInstances(const std::string tag, int winnum){
272  return GetAllParamsInstances(GetTypeFromTag(tag),winnum);
273  }
274 
279  static map <int, vector<Params*> >* cloneAllParamsInstances(int winnum);
280 
285  static vector <Params*>* cloneAllDefaultParams();
286 
290  static bool IsRenderingEnabled(int winnum);
291 
295  virtual bool isRenderParams() {return false;}
296 
300  virtual Params* deepCopy(ParamNode* nd = 0);
301 
303  virtual void restart() = 0;
304 
307  virtual int getVizNum() {return vizNum;}
308 
311  virtual void setLocal(bool lg){ if (lg) {
312  local = true;
313  }
314  else local = false;
315  }
316 
319  bool isLocal() {return local;}
320 
323  virtual void setVizNum(int vnum){vizNum = vnum;}
324 
325  virtual void SetVisualizerNum(int viznum);
326  virtual int GetVisualizerNum();
332 //
333  virtual bool reinit(bool) {return false;}
339  virtual Box* GetBox() {return 0;}
344  virtual int getOrientation() { assert(0); return -1;}
345 
346 
352  virtual void calcContainingStretchedBoxExtentsInCube(float extents[6], bool rotated = false)
353  {if (!rotated) calcStretchedBoxExtentsInCube(extents, -1);
354  else calcRotatedStretchedBoxExtentsInCube(extents);}
355 
356  void calcRotatedStretchedBoxExtentsInCube(float extents[6]);
357 
362  virtual bool isDomainConstrained() {return true;}
363 
364  //Following methods, while public, are not part of extensibility API
365 
366 #ifndef DOXYGEN_SKIP_THIS
367  void setLocalBox(const float boxMin[3], const float boxMax[3], int timestep = -1 ) {
374  double extents[6];
375  for (int i = 0; i<3; i++){
376  extents[i] = boxMin[i];
377  extents[i+3] = boxMax[i];
378  }
379  GetBox()->SetLocalExtents(extents,timestep);
380  }
381  void setLocalBox(const double boxMin[3], const double boxMax[3], int timestep = -1 ) {
382  double extents[6];
383  for (int i = 0; i<3; i++){
384  extents[i] = boxMin[i];
385  extents[i+3] = boxMax[i];
386  }
387  GetBox()->SetLocalExtents(extents,timestep);
388  }
389  //Map min/max corners of box to voxels
390  void mapBoxToVox(DataMgr* dataMgr, double bxmin[3], double bxmax[3], int refLevel, int lod, size_t timestep, size_t voxExts[6]);
391  void setTheta(float th) {
392  double angles[3];
393  GetBox()->GetAngles(angles);
394  angles[0]=th;
395  GetBox()->SetAngles(angles);
396  }
397  void setPhi(float ph) {
398  double angles[3];
399  GetBox()->GetAngles(angles);
400  angles[1]=ph;
401  GetBox()->SetAngles(angles);
402  }
403  void setPsi(float ps) {
404  double angles[3];
405  GetBox()->GetAngles(angles);
406  angles[2]=ps;
407  GetBox()->SetAngles(angles);
408  }
409 
416  void getLocalBox(float boxMin[3], float boxMax[3], int timestep = -1) {
417  double extents[6];
418  GetBox()->GetLocalExtents(extents, timestep);
419  for (int i = 0; i<3; i++){
420  boxMin[i] = extents[i];
421  boxMax[i] = extents[i+3];
422  }
423  }
424  void getLocalBox(double boxMin[3], double boxMax[3], int timestep = -1) {
425  double extents[6];
426  GetBox()->GetLocalExtents(extents, timestep);
427  for (int i = 0; i<3; i++){
428  boxMin[i] = extents[i];
429  boxMax[i] = extents[i+3];
430  }
431  }
432 
433  float getPhi() {
434  if (GetBox()->GetAngles().size() < 2) return 0.f;
435  return((float)GetBox()->GetAngles()[1]);
436  }
437  float getTheta() {
438  if (GetBox()->GetAngles().size() < 1) return 0.f;
439  return((float)GetBox()->GetAngles()[0]);
440  }
441  float getPsi() {
442  if (GetBox()->GetAngles().size() < 3) return 0.f;
443  return((float)GetBox()->GetAngles()[2]);
444  }
445 
446  static Params* CreateDummyParams(std::string tag);
447  static void BailOut (const char *errstr, const char *fname, int lineno);
448 
449  static int getNumDummyClasses(){return dummyParamsInstances.size();}
450  static Params* getDummyParamsInstance(int i) {return dummyParamsInstances[i];}
451  static void addDummyParamsInstance(Params*const & p ) {dummyParamsInstances.push_back(p);}
452 
453  static void clearDummyParamsInstances();
454  static const std::string& paramName(ParamsBaseType t);
455  static const string _dvrParamsTag;
456  static const string _isoParamsTag;
457 
458  static const string _probeParamsTag;
459  static const string _twoDParamsTag;
460  static const string _twoDDataParamsTag;
461  static const string _twoDImageParamsTag;
462  static const string _regionParamsTag;
463  static const string _viewpointParamsTag;
464  static const string _animationParamsTag;
465  static const string _flowParamsTag;
466  static const string _RefinementLevelTag;
467  static const string _CompressionLevelTag;
468  static const string _FidelityLevelTag;
469  static const string _IgnoreFidelityTag;
470  static const string _VariableNameTag;
471  static const string _VariableNamesTag;
472  static const string _VisualizerNumTag;
473  static const string _VariablesTag;
474  static const string _Variables2DTag;
475  static const string _Variables3DTag;
476 
477  static const string _vizNumAttr;
478  static const string _localAttr;
479  static const string _numVariablesAttr;
480  static const string _variableTag;
481  static const string _leftEditBoundAttr;
482  static const string _rightEditBoundAttr;
483  static const string _variableNumAttr;
484  static const string _variableNameAttr;
485  static const string _opacityScaleAttr;
486  static const string _numTransformsAttr;
487  static const string _useTimestepSampleListAttr;
488  static const string _timestepSampleListAttr;
489 
490 
491  void setStretchedBox(const float[3], const float[3], int);
492  void getStretchedBox(float boxmin[3], float boxmax[3], int timestep);
493  //Determine the box extents in the unit cube.
494  void calcStretchedBoxExtentsInCube(float extents[6], int timestep);
495 
496  void calcStretchedBoxExtents(float* extents, int timestep);
497  void calcBoxExtents(float* extents, int timestep);
498  //Calculate the box in local coords, using any theta or phi
499  virtual void calcLocalBoxCorners(float corners[8][3], float extraThickness, int timestep, float rotation = 0.f, int axis = -1);
500 
501  // Construct transformation as a mapping of [-1,1]^3 into volume array
502  // coordinates at current resolution
503  void buildLocalCoordTransform(float transformMatrix[12], float extraThickness, int timestep, float rotation = 0.f, int axis = -1);
504  void buildLocalCoordTransform(double transformMatrix[12], double extraThickness, int timestep, float rotation = 0.f, int axis = -1);
505 
506  //Construct transform of form (x,y)-> a[0]x+b[0],a[1]y+b[1],
507  //Mapping [-1,1]X[-1,1] into local 3D volume coordinates.
508  void buildLocal2DTransform(int dataOrientation, float a[2],float b[2], float* constVal, int mappedDims[3]);
509 
510  //Method indicates if the geometry is contstrained to fit in a plane (e.g. for manips)
511  //Default is false;
512  virtual bool isPlanar() {return false;}
513 
514  //Helper function for testing distances,
515  //testing whether a point is inside or outside of cube
516  //Return is positive if point is outside. Arguments are outward pointing
517  //unit normal vectors and associated points (corners) of probe faces.
518  static float distanceToCube(const float point[3],const float faceNormals[6][3], const float faceCorners[6][3]);
519  //Modifiction of above that provides x,y,z components of distances outside, when point is outside.
520  //This is useful if the box is highly nonuniform in x,y,z
521  static float distancesToCube(const float point[3],const float faceNormals[6][3], const float faceCorners[6][3], float maxDist[3]);
522 
523 
524  //
525  // Parse command line arguements
526  //
527  static bool searchCmdLine(const char *flag);
528  static const char* parseCmdLine(const char *flag);
529 
530  //Determine a new value of theta and phi when the probe is rotated around either the
531  //x-, y-, or z- axis. axis is 0,1,or 1. rotation is in degrees.
532  void convertThetaPhiPsi(float *newTheta, float* newPhi, float* newPsi, int axis, float rotation);
533  static int getGrids(size_t ts, const vector<string>& varnames, double extents[6], int* refLevel, int* lod, RegularGrid** grids);
534 
535 
536 protected:
537  bool local;
538 
539  //Keep track of which window number corresp to this. -1 for global or default parameters.
540  //
541  int vizNum;
542  double savedBoxExts[6];
543  int savedBoxVoxExts[6];
544  int savedRefLevel;
545 
546  //Params instances are vectors of Params*, one per instance, indexed by paramsBaseType, winNum
547  static map<pair<int,int>,vector<Params*> > paramsInstances;
548  //CurrentRenderParams indexed by paramsBaseType, winNum
549  static map<pair<int,int>, int> currentParamsInstance;
550  //Dummy params are those that are found in a session file but not
551  //available in the current code.
552  //default params instances indexed by paramsBaseType
553  static map<int, Params*> defaultParamsInstance;
554  static vector<Params*> dummyParamsInstances;
555 #endif //DOXYGEN_SKIP_THIS
556 };
557 
565 public:
566 
571  RenderParams(XmlNode *parent, const string &name, int winnum);
572 
573 
576  bool isEnabled(){return enabled;}
577 
580  virtual void setEnabled(bool value) {enabled = value; stopFlag = false;}
581 
585  virtual bool usingVariable(const std::string& varname) = 0;
586  virtual void SetRefinementLevel(int level){
587  GetRootNode()->SetElementLong(_RefinementLevelTag, level);
588  setAllBypass(false);
589  }
590  virtual int GetRefinementLevel(){
591  const vector<long>defaultRefinement(1,0);
592  return (GetRootNode()->GetElementLong(_RefinementLevelTag,defaultRefinement)[0]);
593  }
597  virtual int GetCompressionLevel();
601  virtual int GetFidelityLevel();
605  virtual void SetFidelityLevel(int level);
609  virtual bool GetIgnoreFidelity();
613  virtual void SetIgnoreFidelity(bool val);
617  virtual void SetCompressionLevel(int val);
618 
624  virtual const float* getSelectedPointLocal() {
625  return 0;
626  }
627 
629  // \param[in] ViewpointParams* vpp Current applicable ViewpointParams instance
630  // \param[in] const float extents[6] Box extents in world coordinates.
631  // \retval float distance from camera to box
632  static float getCameraDistance(ViewpointParams* vpp, const double exts[6]);
633 
634  // Pure virtual method indicates whether or not the geometry is opaque.
635  // \retval true if it is opaque.
636  virtual bool IsOpaque()=0;
637 
642  void setBypass(int timestep) {bypassFlags[timestep] = 2;}
643 
648  void setPartialBypass(int timestep) {bypassFlags[timestep] = 1;}
649 
654  void setAllBypass(bool val);
655 
659  bool doBypass(int ts) {return ((ts < bypassFlags.size()) && bypassFlags[ts]);}
660 
665  bool doAlwaysBypass(int ts) {return ((ts < bypassFlags.size()) && bypassFlags[ts]>1);}
666 
667 
671  virtual bool UsesMapperFunction() {return false;}
672 
673 #ifndef DOXYGEN_SKIP_THIS
674  //Following methods are deprecated, used by some built-in renderparams classes
675 
680  // \param[in] vpp Current applicable ViewpointParams instance
681  // \param[in] rp Current applicable RegionParams instance
682  // \param[in] timestep Current applicable time step
683  // \retval float distance from camera
684  virtual float getCameraDistance(ViewpointParams* vpp, RegionParams* rp, int timestep);
685 
686  //Deprecated constructor used by some built-in classes
687  RenderParams(int winNum, const string& name) : Params(winNum, name) {
688 
689  local = true;
690 
691  previousClass = 0;
692  minColorEditBounds = 0;
693  maxColorEditBounds = 0;
694  minOpacEditBounds = 0;
695  maxOpacEditBounds = 0;
696 
697  }
698  virtual ~RenderParams(){
699  if (minColorEditBounds) delete [] minColorEditBounds;
700  if (maxColorEditBounds) delete [] maxColorEditBounds;
701  if (minOpacEditBounds) delete [] minOpacEditBounds;
702  if (maxOpacEditBounds) delete [] maxOpacEditBounds;
703 
704  }
705 
706  virtual Params* deepCopy(ParamNode* nd = 0);
707  virtual bool isRenderParams() {return true;}
708 
709  //following does nothing for renderParams
710  virtual void setLocal(bool ){ assert(0);}
711 
712  virtual int getSessionVarNum(){assert(0); return -1;} //needed for transfer functions
713  virtual float GetHistoStretch() { assert(0); return 1.f;}
714  virtual bool getEditMode() {assert(0); return true;}
715  virtual const float* getCurrentDatarange(){assert(0); return(0);}
716  virtual void hookupTF(TransferFunction* , int ) {assert(0);}
717 
718 
719  //The following may be redefined by some renderer params. Parent version should never be invoked
720  virtual void setMinColorMapBound(float) {assert(0);}
721  virtual void setMaxColorMapBound(float){assert(0);}
722  virtual void setMinOpacMapBound(float){assert(0);}
723  virtual void setMaxOpacMapBound(float){assert(0);}
724 
725 
726  float getMinColorMapBound();
727  float getMaxColorMapBound();
728 
729  virtual void setMinColorEditBound(float val, int var) {
730  minColorEditBounds[var] = val;
731  }
732  virtual void setMaxColorEditBound(float val, int var) {
733  maxColorEditBounds[var] = val;
734  }
735  virtual float getMinColorEditBound(int var) {
736  return minColorEditBounds[var];
737  }
738  virtual float getMaxColorEditBound(int var) {
739  return maxColorEditBounds[var];
740  }
741  //And opacity:
742 
743  virtual float getMinOpacMapBound();
744  virtual float getMaxOpacMapBound();
745 
746 
747  virtual void setMinOpacEditBound(float val, int var) {
748  minOpacEditBounds[var] = val;
749  }
750  virtual void setMaxOpacEditBound(float val, int var) {
751  maxOpacEditBounds[var] = val;
752  }
753  virtual float getMinOpacEditBound(int var) {
754  return minOpacEditBounds[var];
755  }
756  virtual float getMaxOpacEditBound(int var) {
757  return maxOpacEditBounds[var];
758  }
759 
760  virtual MapperFunction* GetMapperFunc() {return 0;}
761 
762  void setStopFlag(bool val = true) {stopFlag = val;}
763  bool getStopFlag() {return stopFlag;}
764  int getBypassValue(int i) {return bypassFlags[i];} //only used for debugging
765 
766  void initializeBypassFlags();
767  //Used only by params with rotated boxes:
768  bool cropToBox(const double boxExts[6]);
769  bool intersectRotatedBox(double boxexts[6], double pointFound[3], double probeCoords[2]);
770  bool fitToBox(const double boxExts[6]);
771  int interceptBox(const double boxExts[6], double intercept[6][3]);
772  //change box dimensions after a rotation so that it appears to be the same size:
773  void rotateAndRenormalizeBox(int axis, float rotVal);
774  //Obtain region that contains rotated box
775  void getLocalContainingRegion(float regMin[3], float regMax[3]);
776  void getRotatedVoxelExtents(float voxdims[2]);
777  //Calculate a histogram of a slice of 3d variables
778  void calcSliceHistogram(int ts, Histo* histo);
779  //Used for rendering texture of variable. Default is linear:
780  virtual int getInterpolationOrder() {return 1;}
781 
782 protected:
783 
784  // The enabled flag is only used by renderer params
785  //
786  bool enabled;
787  bool stopFlag; //Indicates if user asked to stop (only with flow calc now)
788  //Needed for renderer params:
789  float* minColorEditBounds;
790  float* maxColorEditBounds;
791  float* minOpacEditBounds;
792  float* maxOpacEditBounds;
793 
794  vector<int> bypassFlags;
795 #endif //DOXYGEN_SKIP_THIS
796 };
797 #ifndef DOXYGEN_SKIP_THIS
798 class DummyParams : public Params {
799  public:
800  DummyParams(XmlNode *parent, const std::string tag, int winnum);
801  virtual ~DummyParams(){}
802  virtual void restart(){}
803  virtual int GetRefinementLevel() {
804  return 0;
805  }
806 
807  virtual int GetCompressionLevel() {return 0;}
808 
809  virtual void SetCompressionLevel(int){}
810 
811  virtual bool reinit(bool){return false;}
812 
813  virtual bool IsOpaque() {return true;}
814 
815  virtual bool usingVariable(const std::string& ){
816  return false;
817  }
818  const std::string &getShortName(){return myTag;}
819 
820  std::string myTag;
821 
822 };
823 
824 class PARAMS_API Point4{
825 public:
826  Point4() {point[0]=point[1]=point[2]=point[3]=0.f;}
827  Point4(const float data[4]){setVal(data);}
828  void setVal(const float sourceData[4]){
829  for (int i = 0; i< 4; i++) point[i] = sourceData[i];
830  }
831  void set3Val(const float sourceData[3]){
832  for (int i = 0; i< 3; i++) point[i] = sourceData[i];
833  }
834  void set1Val(int index, float sourceData){
835  point[index] = sourceData;
836  }
837  float getVal(int i){return point[i];}
838  void copy3Vals(float* dest) {dest[0]=point[0];dest[1]=point[1];dest[2]=point[2];}
839 protected:
840  float point[4];
841 };
842 #endif //DOXYGEN_SKIP_THIS
843 }; //End namespace VAPoR
844 #endif //PARAMS_H
#define PARAMS_API
Definition: common.h:63
static void AppendParamsInstance(const std::string tag, int winnum, Params *p)
Definition: params.h:234
static Params * CreateDefaultParams(int pType)
Definition: params.h:194
virtual void setVizNum(int vnum)
Definition: params.h:323
3D or 2D box with options for orientation angles and extents changing in time. Intended to be used in...
Definition: Box.h:34
A pure virtual class for managing parameters used in visualization.
Definition: params.h:75
virtual const float * getSelectedPointLocal()
Definition: params.h:624
A Params subclass for managing parameters used by Renderers.
Definition: params.h:564
static int GetCurrentParamsInstanceIndex(const std::string tag, int winnum)
Definition: params.h:118
virtual bool isDomainConstrained()
Definition: params.h:362
bool doAlwaysBypass(int ts)
Definition: params.h:665
static Params * GetParamsInstance(const std::string tag, int winnum=-1, int instance=-1)
Definition: params.h:144
virtual bool UsesMapperFunction()
Definition: params.h:671
static Params * GetCurrentParamsInstance(int pType, int winnum)
Definition: params.h:152
virtual int getOrientation()
Definition: params.h:344
Region bit indicates the region bounds have changed.
Definition: params.h:48
static int GetNumParamsInstances(int pType, int winnum)
Definition: params.h:205
A class for describing a 3D axis-aligned region in user space.
Definition: regionparams.h:52
Nodes with state in Xml tree representation.
Definition: ParamsBase.h:57
An Xml tree.
Definition: XmlNode.h:47
static void InsertParamsInstance(int pType, int winnum, int posn, Params *dp)
Definition: params.h:251
This class implements a 2D or 3D regular grid: a tessellation of Euculidean space by rectangles (2D) ...
static void SetCurrentParamsInstanceIndex(int pType, int winnum, int instance)
Definition: params.h:126
static Params * GetDefaultParams(ParamsBase::ParamsBaseType pType)
Definition: params.h:162
static void SetDefaultParams(const string &tag, Params *p)
Definition: params.h:188
virtual void calcContainingStretchedBoxExtentsInCube(float extents[6], bool rotated=false)
Definition: params.h:352
virtual void setLocal(bool lg)
Definition: params.h:311
A class for describing the viewpoint and lights.
virtual bool reinit(bool)
Definition: params.h:333
NavigatingBit indicates the viewpoint is currently moving.
Definition: params.h:50
LightingBit indicates there has been a change in lighting.
Definition: params.h:52
DirtyBitType
Definition: params.h:46
Params(int winNum, const string &name)
Deprecated constructor, needed for built-in classes that do not have associated XML node: ...
Definition: params.h:86
virtual bool isRenderParams()
Definition: params.h:295
virtual void SetRefinementLevel(int level)
Definition: params.h:586
virtual void setEnabled(bool value)
Definition: params.h:580
virtual int GetRefinementLevel()
Definition: params.h:590
static vector< Params * > & GetAllParamsInstances(const std::string tag, int winnum)
Definition: params.h:271
void setBypass(int timestep)
Definition: params.h:642
virtual Box * GetBox()
Definition: params.h:339
VetsUtil base class.
Definition: MyBase.h:68
ProjMatrixBit indicates there has been a change in the projection matrix (e.g. viewpoint change) ...
Definition: params.h:54
void setPartialBypass(int timestep)
Definition: params.h:648
static Params * GetDefaultParams(const string &tag)
Definition: params.h:171
static int GetNumParamsInstances(const std::string tag, int winnum)
Definition: params.h:215
virtual int getVizNum()
Definition: params.h:307
static void SetDefaultParams(int pType, Params *p)
Definition: params.h:179
static int GetCurrentParamsInstanceIndex(int pType, int winnum)
Definition: params.h:110
bool doBypass(int ts)
Definition: params.h:659
bool isLocal()
Definition: params.h:319
static vector< Params * > & GetAllParamsInstances(int pType, int winnum)
Definition: params.h:261
static void AppendParamsInstance(int pType, int winnum, Params *p)
Definition: params.h:224
An Xml tree.
Definition: ParamNode.h:30
bool isEnabled()
Definition: params.h:576
ViewportBit indicates a change in viewport, e.g. resize of window.
Definition: params.h:56
AnimationBit indicates a change in current frame.
Definition: params.h:58