VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
bdiQPropTree_subclasses.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2019 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
6 
10 
11 #pragma once
12 
13 #include <vrvFxQt/bdiQPropTree.h>
14 #include <libvecmat_float.h>
15 #include <bdiString.h>
16 #include <bdiKeyFrames.h>
17 class BoolKeyFrame;
18 class BoolKeyFrameArray;
19 class FloatKeyFrame;
20 class FloatKeyFrameArray;
21 class Vec3fKeyFrame;
22 class Vec3fKeyFrameArray;
23 class Vec6fKeyFrame;
24 class Vec6fKeyFrameArray;
25 class NoiseKeyFrame;
26 class NoiseKeyFrameArray;
27 class ColorKeyFrame;
28 class ColorKeyFrameArray;
29 class bdiNoise;
30 class bdiScenarioEditor;
31 class PPlaneArray;
32 class bdiShaderUniform;
33 class bdiScenarioCharacter;
34 class PPlane;
35 class bdiFarPosition;
36 class bdiVec3fPtrArray;
37 
38 class DtFxForceArray;
39 class DtFxChildSystemArray;
40 class DtFxCollisionObjectArray;
41 class DtFxParticleSystemHolderArray;
42 
43 namespace makVrv
44 {
45  class DtFxChildSystem;
46  class DtFxForce;
47 
48  class DtFxParticleSystemManager;
49  class DtFxScriptData;
50  class DtFxCollisionObject;
51  class DtFxParticleSystem;
52  class DtFxParticleSystemHolder;
53 
54  //---------------------------------------------------------------------------
56  {
57  public:
59  m_data(NULL),
61  {
62  ;
63  }
64  virtual void onRefresh();
65  void create_node(const char * name, const char * desc, float * vec_ptr, int size, float * vec_ptr2 = NULL);
66 
67  protected:
68  float * m_data;
70  };
71 
72  //---------------------------------------------------------------------------
74  {
75  public:
77  m_vec(NULL),
78  m_px(NULL),
79  m_py(NULL),
80  m_pz(NULL),
81  m_max_value(0.0f),
82  m_min_value(0.0f)
83  { ; }
84 
85 
86  virtual void onRefresh();
87  virtual void create_node(const char * name, const char * desc, bdiVec3f * vec, int include_slider,
88  float min_val, float max_val, float extreme_max = 0.0f);
89  virtual void setMinValue(float min_value);
90 
91  float getMaxValue() const { return m_max_value; }
92  float getMinValue() const { return m_min_value; }
93 
94  protected:
95  bdiVec3f * m_vec;
99  float m_max_value;
100  float m_min_value;
101  };
102 
103 
104  //---------------------------------------------------------------------------
106  {
107  public:
109  m_edit_x(NULL), m_edit_y(NULL), m_edit_z(NULL){ ; }
110  virtual void onRefresh();
111  virtual void updateFromSource();
112 
113  void create_node(const char * name, const char * desc, bdiFarPosition * pos, int include_slider,
114  float min_val, float max_val, float extreme_max = 0.0f);
115  void setPtr(bdiFarPosition* pos) { m_pos = pos; }
116  bdiFarPosition * m_pos;
117  bdiVec3f m_vec;
121 
122  };
123 
124  //---------------------------------------------------------------------------
126  {
127  public:
129  virtual void onRefresh();
130  void create_node(const char * name, const char * desc, bdiVec4f * vec, int include_slider,
131  float min_val, float max_val);
132 
133  bdiVec4f * m_vec;
134 
135  };
136 
137  //---------------------------------------------------------------------------
139  {
140  public:
142  : bdiQPropTreeItem(parent)
143  , m_min(NULL)
144  , m_max(NULL)
145  { ; }
146 
147  virtual void onRefresh();
148  void create_node(const char * name, const char * desc, bdiVec3f * min, bdiVec3f * max, int include_slider,
149  float min_val, float max_val);
150 
151  bdiVec3f * m_min;
152  bdiVec3f * m_max;
153  };
154 
155  //---------------------------------------------------------------------------
157  {
158  public:
160  m_noise(NULL),
161  m_min_vec_item(NULL),
162  m_max_vec_item(NULL)
163  {
164  ;
165  }
166 
167  virtual void onRefresh();
168  void create_node(const char * name, const char * desc, bdiNoise * val, int include_slider,
169  float min_value, float max_value, float extreme_max);
170 
171  bdiNoise * m_noise;
174 
175  };
176 
177  //---------------------------------------------------------------------------
179  {
180  public:
181 
182  bdiQPropTreeItemAdditionalPosition(QTreeWidgetItem *parent, const char * name = NULL);
184  virtual void onRefresh();
185  void create_node(const char * name, const char * desc, bdiVec3f* pos);
186 
187  virtual void handleButton(int);
188  bdiVec3f* get_key() { return m_key; }
189 
190  virtual void setMaxValue(float value) { ; }
191  virtual void setMinValue(float value) { ; }
192 
193  protected:
194  bdiVec3f* m_key;
196  };
197 
198  //---------------------------------------------------------------------------
200  {
201  public:
203  {
206  };
207  bdiQPropTreeItemTextureMap(QTreeWidgetItem* parent, makVrv::DtFxParticleSystemManager* manager, const QString& appPath);
208  virtual void onRefresh();
209  virtual void handleButton(int);
210  virtual void ProcessTextureMapChange() { ; }
211  virtual void onCommit();
212  virtual void setDataPtr(void * lParam, int do_commit=1);
214  if (m_needs_update) {
215  m_needs_update = 0;
216  return 1;
217  }
218  return 0;
219  }
221  protected:
222  bdiString * m_name;
224  QString myAppPath;
226 
227  };
228 
229  //---------------------------------------------------------------------------
231  {
232  public:
233  bdiQPropTreeItemCollisionObject(QTreeWidgetItem *parent, const char * name = NULL);
235  virtual void onRefresh();
236  void create_node(const char * name, const char * desc, DtFxCollisionObject * plane);
237 
238  virtual void handleButton(int);
240  virtual void setMaxValue(float value) { ; }
241  virtual void setMinValue(float value) { ; }
242  virtual void create_type_children(bdiQPropTreeItem* itemParent);
243 
244  protected:
246  float m_roll;
247  float m_pitch;
249  bdiString m_name;
251 
252  };
253 
254 
255  //---------------------------------------------------------------------------
257  {
258  public:
259  bdiQPropTreeItemChildSystem(QTreeWidgetItem *parent, const char * name = NULL);
261  virtual void onRefresh();
262  void create_node(const char * name, const char * desc, DtFxChildSystem * system);
263 
264  virtual void handleButton(int);
265  DtFxChildSystem * get_key() { return m_key; }
266 
267  private:
269  };
270 
271  //---------------------------------------------------------------------------
273  {
274  public:
275  bdiQPropTreeItemParticleSystem(QTreeWidgetItem *parent, const char * name = NULL);
277  virtual void onRefresh();
278  void create_node(const char * name, const char * desc, DtFxParticleSystemHolder * system);
279 
280  virtual void handleButton(int);
282 
283  protected:
286  };
287  //---------------------------------------------------------------------------
289  {
290  public:
291 
292  bdiQPropTreeItemAdditionalForce(QTreeWidgetItem *parent, const char * name = NULL);
294  virtual void onRefresh();
295  void create_node(const char * name, const char * desc, DtFxForce* force);
296 
297  void add_pitch_and_roll();
298 
299  virtual void handleButton(int);
300  DtFxForce* get_key() { return m_key; }
301 
302  virtual void setMaxValue(float value) { ; }
303  virtual void setMinValue(float value) { ; }
304 
305  protected:
307  float m_pitch;
308  float m_roll;
312  };
313 
314 
315  //---------------------------------------------------------------------------
317  {
318  Q_OBJECT
319  public:
320 
321  bdiQPropTreeItemScript(QTreeWidgetItem *parent, const QString& type, bdiString* m_script, const char * hints);
322  virtual void onRefresh();
323  virtual void handleButton(int);
324 
325  public slots:
326 
327  virtual void slot_refresh();
328 
329  protected:
330  QString myHints;
331  QString myType;
332  };
333 
335  {
336  public:
337  bdiQPropTreeItemKeyFrameInterface(QTreeWidgetItem *parent, const char * name = NULL);
338 
339  virtual void setMaxValue(float value) { m_max_value = value; }
340  virtual void setMinValue(float value) { m_min_value = value; }
341  virtual void setExtremeMaxValue(float value) { m_extreme_max_value = value; }
342  virtual void addTimeItem(float * time);
343  float m_max_value;
345  float m_min_value;
348  bdiString m_name;
349  };
350 
351  //---------------------------------------------------------------------------
353  {
354  public:
355  bdiQPropTreeItemBoolKeyFrame(QTreeWidgetItem *parent, const char * name = NULL);
357 
358  virtual void onRefresh();
359  void create_node(const char * name, const char * desc, BoolKeyFrame * vec, int rel_time = 1,
360  int include_slider = 0);
361  virtual void handleButton(int);
362  BoolKeyFrame * get_key() { return m_key; }
363  private:
364  BoolKeyFrame * m_key;
365 
366 
367  };
368 
369  //---------------------------------------------------------------------------
371  {
372  public:
373  bdiQPropTreeItemFloatKeyFrame(QTreeWidgetItem *parent, const char * name = NULL);
375 
376  virtual void onRefresh();
377  void create_node(const char * name, const char * desc, FloatKeyFrame * vec, int rel_time = 1,
378  int include_slider = 0);
379  virtual void handleButton(int);
380  FloatKeyFrame * get_key() { return m_key; }
381  private:
382  FloatKeyFrame * m_key;
383  };
384 
385  //---------------------------------------------------------------------------
387  {
388  public:
389  bdiQPropTreeItemVec3KeyFrame(QTreeWidgetItem *parent, const char * name = NULL);
391  virtual void onRefresh();
392  virtual void create_node(const char * name, const char * desc, Vec3fKeyFrame * vec,
393  int rel_time = 1,
394  int include_slider = 0);
395  virtual void handleButton(int);
396  Vec3fKeyFrame * get_key() { return m_key; }
397 
398  private:
399  Vec3fKeyFrame * m_key;
400 
401  };
402 
403  //---------------------------------------------------------------------------
405  {
406  public:
407  bdiQPropTreeItemVec6KeyFrame(QTreeWidgetItem *parent, const char * name = NULL);
409 
410  virtual void onRefresh();
411  virtual void create_node(const char * name, const char * desc, Vec6fKeyFrame * vec, int rel_time = 1,
412  int include_slider = 0);
413  virtual void handleButton(int);
414  Vec6fKeyFrame * get_key() { return m_key; }
415 
416  private:
417  Vec6fKeyFrame * m_key;
418  };
419 
420  //---------------------------------------------------------------------------
422  {
423  public:
424  bdiQPropTreeItemNoiseKeyFrame(QTreeWidgetItem *parent, const char * name = NULL);
426 
427  virtual void onRefresh();
428  virtual void create_node(const char * name, const char * desc, NoiseKeyFrame * vec, int rel_time = 1,
429  int include_slider = 0);
430  virtual void handleButton(int);
431  NoiseKeyFrame * get_key() { return m_key; }
432 
433  private:
434  NoiseKeyFrame * m_key;
435 
436  };
437 
438  //---------------------------------------------------------------------------
440  {
441  public:
442  bdiQPropTreeItemColorKeyFrame(QTreeWidgetItem *parent, const char * name = NULL);
444 
445  virtual void onRefresh();
446  virtual void create_node(const char * name, const char * desc, ColorKeyFrame * vec, int rel_time = 1,
447  int include_slider = 0);
448  virtual void handleButton(int);
449  ColorKeyFrame * get_key() { return m_key; }
450  void set_has_alpha(int val) { m_has_alpha = val; }
451  private:
452  ColorKeyFrame * m_key;
454  };
455 
456  //---------------------------------------------------------------------------
457  template <class Instance, class Array, class WidgetType>
459  {
460  public:
461 
463  const char* name, int supports_empty_keys = 0, int rel_time = 1, int include_slider = 0) :
464  bdiQPropTreeItemButton(parent),
465  m_name(name),
466  m_supports_empty_keys(supports_empty_keys),
467  m_rel_time(rel_time),
468  m_time_increment(.1f),
469  m_include_slider(include_slider),
470  m_max_value(1000000),
471  m_min_value(-1000000),
473  m_start_index(0)
474  {
475  if (m_supports_empty_keys) {
476  AddButton("Add to End");
477  }
478  AddButton("Clear");
479  showEditor();
480  }
481  virtual void onRefresh();
482  virtual void create_node(const char* desc, Array* vec, int start_index = 0);
483  // if there is no default value and call InsertAfter(NULL,NULL) it uses the default
484  // constructors value;
485  virtual void set_default_value(const Instance& val) { m_default_value = val; }
487  virtual void setMaxValue(float value) { m_max_value = value; }
488  virtual void setMinValue(float value) { m_min_value = value; }
489  virtual void setExtremeMaxValue(float value) { m_extreme_max_value = value; }
490  void set_time_increment(float increment) { m_time_increment = increment; }
491 
492  void InsertAfter(Instance* key, WidgetType *);
493  void Remove(Instance* key, WidgetType *);
494  virtual void handleButton(int);
495  virtual void setIncludeSlider(int value) { m_include_slider = value; }
496  virtual void special_settings(WidgetType* item) { ; }
497  protected:
498  Array* m_array;
499  bdiString m_name;
502  Instance m_default_value;
506  float m_max_value;
507  float m_min_value;
509  bdiQPropTreeItemEditArray m_items;
510  };
511 
512  //---------------------------------------------------------------------------
513  template <class Instance, class Array, class WidgetType>
514  void
516  {
517  // clear focus on child item widget to avoid crash
518  m_pProp->setFocus();
519 
520  m_array->remove(key);
521  m_items.remove((bdiQPropTreeItemEdit *)child->getChildItem(0));
522  m_pProp->DeleteItem(child);
523  m_pProp->RaiseChangedFlag();
524 
525  bdiQPropTreeItem* current_child = getChildItem(0);
526  int j = 0;
527  while (current_child)
528  {
529  QString tmp;
530  tmp.sprintf("%d", j + 1);
531  current_child->setLabelText(tmp.toLatin1().data());
532  current_child = current_child->GetSibling();
533  j++;
534  }
535  }
536 
537  //---------------------------------------------------------------------------
538  template <class Instance, class Array, class WidgetType> void
539  bdiQPropTreeItemController<Instance, Array, WidgetType>::create_node(const char* desc, Array* vec, int start_index)
540  {
541  m_start_index = start_index;
542  m_array = vec;
543  int i;
544  for (i = m_start_index; i < m_array->size(); i++)
545  {
546  WidgetType* pNode = new WidgetType(this, m_name.get_text());
547 
548  // m_pProp->InsertItem(pNode, this);
549  if (i != 0) {
550  pNode->AddButton("Remove");
551  }
552  pNode->AddButton("Insert");
553  pNode->showEditor();
554  special_settings(pNode);
555 
556  QString tmp;
557  tmp.sprintf(("%d"), i+1);
558 
559  pNode->setLabelText(tmp.toLatin1().data());
560  pNode->setMinValue(m_min_value);
561  pNode->setMaxValue(m_max_value);
562  pNode->setExtremeMaxValue(m_extreme_max_value);
563  pNode->create_node(m_name.get_text(), desc, m_array->get_at_index(i), m_rel_time, m_include_slider);
564 
565  //don't auto ref till after its created
566  pNode->setRefreshParent(true);
567 
568  if (i > 0)
569  {
570  bdiQPropTreeItemEdit* time = dynamic_cast<bdiQPropTreeItemEdit *>(pNode->getChildItem(0));
571  if (time)
572  {
573  assert(time);
574  time->setRefreshParent(true);
575  m_items.push_back(time);
576  }
577  }
578  }
579  onRefresh();
580  }
581 
582  //---------------------------------------------------------------------------
583  template <class Instance, class Array, class WidgetType> void
585  {
586  QString tmp;
587  tmp.sprintf(("<%d key frame%s>"), m_array->size(), m_array->size() > 1 ? "s" : " ");
588  setItemText(tmp.toLatin1().data());
589 
590  // update the time constraints
591 
592  for (int i = 0; i < m_items.size() - 1; ++i)
593  {
594  if (i == 0) {
595  m_items[i]->setMinValue(0.01f);
596  }
597  else {
598  m_items[i]->setMinValue(m_items[i - 1]->GetValue() + 0.01f);
599  }
600  m_items[i]->setMaxValue(m_items[i + 1]->GetValue() - 0.01f);
601  }
602 
603  if (m_items.size() > 1)
604  {
605  int lastIndex = m_items.size() - 1;
606  m_items[lastIndex]->setMinValue(m_items[lastIndex-1]->GetValue() + .01f);
607  if (m_rel_time)
608  {
609  m_items[lastIndex]->setMaxValue(1.0f);
610  }
611  }
612  emit editingFinished();
614  };
615 
616  //---------------------------------------------------------------------------
617  template <class Instance, class Array, class WidgetType> void
619  {
620  if (m_buttons[button]->m_name == "Clear")
621  {
622  bdiQPropTreeItem* parent = getChildItem(0);
623  if (parent) {
624  WidgetType* item;
625  if (m_supports_empty_keys) {
626  item = (WidgetType*)parent;
627  }
628  else {
629  item = (WidgetType*)parent->GetSibling();
630  }
631  while (item)
632  {
633  WidgetType* next = (WidgetType*)item->GetSibling();
634  Remove(item->get_key(), item);
635  item = next;
636  }
637  }
638  }
639 
640  if (m_buttons[button]->m_name == "Add to End")
641  {
642  // insert it at the end if there are already keys.
643  if (m_array->size() > 0) {
644  InsertAfter(m_array->get_at_index(m_array->size() - 1), NULL);
645  }
646  else {
647  InsertAfter(NULL, NULL);
648  }
649 
650  Expand();
651  }
652  onRefresh();
653  // data has changed
654  m_pProp->RaiseChangedFlag();
655  };
656 
659 
660  template <class Instance, class Array, class WidgetType>
662  {
663  public:
664  bdiQPropTreeItemArrayController(QTreeWidgetItem* parent, const char* name) : bdiQPropTreeItemButton(parent),
665  m_name(name),
666  m_include_slider(0),
667  m_max_value(1000000),
668  m_min_value(-1000000)
669  {
670  AddButton("Clear Array");
671  AddButton("Add to End");
672  showEditor();
673  }
674  bdiQPropTreeItemArrayController(QTreeWidget* tree,const char* name) : bdiQPropTreeItemButton(tree),
675  m_name(name),
676  m_include_slider(0),
677  m_max_value(1000000),
678  m_min_value(-1000000)
679  {
680  AddButton("Clear Array");
681  AddButton("Add to End");
682  showEditor();
683  }
684  virtual void onRefresh();
685  virtual void create_node(const char* desc, Array* vec);
686  void InsertAfter(Instance* key, WidgetType *);
687  void Remove(Instance* key, WidgetType *);
688  virtual void handleButton(int);
689  virtual void setMaxValue(float value) { m_max_value = value; }
690  virtual void setMinValue(float value) { m_min_value = value; }
691  virtual void setIncludeSlider(int slider) { m_include_slider = slider; }
692 
693  virtual Instance* createInstance() { return new Instance(m_defaults); }
694 
695  Instance m_defaults;
696 
697  protected:
698  Array* m_array;
699  bdiString m_name;
700  float m_max_value;
701  float m_min_value;
703 
704  };
705 
706 
707  //---------------------------------------------------------------------------
708 
709  template <class Instance, class Array, class WidgetType>
710  void
712  {
713  // clear focus on child item widget to avoid crash
714  m_pProp->setFocus();
715 
716  m_array->remove(key);
717  m_pProp->DeleteItem(child);
718 
719  bdiQPropTreeItem* current_child = getChildItem(0);
720  int j = 0;
721  while (current_child)
722  {
723  QString tmp;
724  tmp.sprintf("%d", j + 1);
725  current_child->setLabelText(tmp.toLatin1().data());
726  current_child = current_child->GetSibling();
727  j++;
728  }
729  }
730 
731  //---------------------------------------------------------------------------
732  template <class Instance, class Array, class WidgetType> void
734  {
735  m_array = vec;
736 
737  int i;
738  for (i = 0; i < m_array->size(); i++)
739  {
740  WidgetType* pNode = new WidgetType(this, m_name.get_text());
741  pNode->AddButton("Remove");
742  pNode->AddButton("Insert");
743  pNode->showEditor();
744 
745  QString tmp;
746  tmp.sprintf("[%d]", i);
747  pNode->setLabelText(tmp);
748 
749  pNode->setMinValue(m_min_value);
750  pNode->setMaxValue(m_max_value);
751  pNode->create_node(m_name.get_text(), desc_name, m_array->get_at_index(i));
752 
753  //don't auto ref till after its created
754  pNode->setRefreshParent(true);
755 
756  }
757  onRefresh();
758  }
759 
760  //---------------------------------------------------------------------------
761  template <class Instance, class Array, class WidgetType> void
763  {
764  QString tmp;
765  tmp.sprintf(("<%d Array Item%s>"), m_array->size(), m_array->size() > 1 ? "s" : " ");
766 
767  setItemText(tmp);
768 
770  };
771 
772  //---------------------------------------------------------------------------
773  template <class Instance, class Array, class WidgetType> void
775  {
776  if (m_buttons[button]->m_name == "Clear Array")
777  {
778  bdiQPropTreeItem* parent = getChildItem(0);
779  WidgetType* parentItem = (WidgetType *)parent;
780  if (parent) {
781  WidgetType* item = (WidgetType*)parent->GetSibling();
782  while (item)
783  {
784  Remove(item->get_key(), item);
785  item = (WidgetType*)parent->GetSibling();
786  }
787  Remove(parentItem->get_key(), parentItem);
788  }
789  }
790 
791  if (m_buttons[button]->m_name == "Add to End")
792  {
793  InsertAfter(NULL, NULL);
794  }
795  onRefresh();
796  // data has changed
797  m_pProp->RaiseChangedFlag();
798 
799  };
800 
801  // type defs for all the keyframe types
802  typedef bdiQPropTreeItemController<BoolKeyFrame, BoolKeyFrameArray, bdiQPropTreeItemBoolKeyFrame> bdiQPropTreeItemBoolController;
803 
804  // type defs for all the keyframe types
806 
808 
810 
812 
814 
816 
817  typedef bdiQPropTreeItemArrayController<DtFxCollisionObject, DtFxCollisionObjectArray, bdiQPropTreeItemCollisionObject> bdiQPropTreeItemCollisionController;
818 
819  typedef bdiQPropTreeItemArrayController<DtFxChildSystem, DtFxChildSystemArray, bdiQPropTreeItemChildSystem> bdiQPropTreeItemChildSystemController;
820 
821  typedef bdiQPropTreeItemArrayController<DtFxParticleSystemHolder, DtFxParticleSystemHolderArray, bdiQPropTreeItemParticleSystem> bdiQPropTreeItemParticleSystemController;
822 
823  typedef bdiQPropTreeItemArrayController<DtFxForce, DtFxForceArray, bdiQPropTreeItemAdditionalForce> bdiQPropTreeItemAdditionalForceController;
824 
825  typedef bdiQPropTreeItemArrayController<bdiVec3f, bdiVec3fPtrArray, bdiQPropTreeItemAdditionalPosition> bdiQPropTreeItemPositionsController;
826 
828  {
829  public:
830  bdiQPropTreeItemColorController(QTreeWidgetItem* parent, const char* name, int supports_empty_keys = 0, int rel_time = 1) :
831  bdiQPropTreeItemBCTController(parent, name, supports_empty_keys, rel_time), m_has_alpha(1) {
832  ;
833  }
834  virtual void set_has_alpha(int val) { m_has_alpha = val; }
836 
837  private:
839  };
840 
841 
843  create_shader_uniform_item(bdiShaderUniform* uniform, QTreeWidgetItem* parent_item, bool editable);
844 
845 
846 }
bdiVec3f * m_max
Definition: bdiQPropTree_subclasses.h:152
bdiQPropTreeItemVec3 * m_vec_edit
Definition: bdiQPropTree_subclasses.h:195
ColorKeyFrame * m_key
Definition: bdiQPropTree_subclasses.h:452
bdiVec4f * m_vec
Definition: bdiQPropTree_subclasses.h:133
bdiQPropTreeItemVec4(QTreeWidgetItem *parent)
Definition: bdiQPropTree_subclasses.h:128
int m_last_object_type
Definition: bdiQPropTree_subclasses.h:248
Definition: bdiQPropTreeItemCombo.h:40
void create_node(const char *name, const char *desc, DtFxParticleSystemHolder *system)
int m_num_components
Definition: bdiQPropTree_subclasses.h:69
void setPtr(bdiFarPosition *pos)
Definition: bdiQPropTree_subclasses.h:115
Definition: bdiQPropTree_subclasses.h:288
int m_include_slider
Definition: bdiQPropTree_subclasses.h:347
DtFxParticleSystemManager is the manager for all the particle systems and descriptions diguy sdk comm...
Definition: DtFxParticleSystemManager.h:74
Contains bdiQPropTree class.
virtual void special_settings(bdiQPropTreeItemColorKeyFrame *item)
DtFxChildSystem * m_key
Definition: bdiQPropTree_subclasses.h:268
virtual void setMinValue(float value)
Definition: bdiQPropTree_subclasses.h:690
bdiQPropTreeItemVec3 * m_max_vec_item
Definition: bdiQPropTree_subclasses.h:173
bdiString m_name
Definition: bdiQPropTree_subclasses.h:348
BoolKeyFrame * get_key()
Definition: bdiQPropTree_subclasses.h:362
bdiQPropTreeItemFloatKeyFrame(QTreeWidgetItem *parent, const char *name=NULL)
bdiVec3f * m_key
Definition: bdiQPropTree_subclasses.h:194
void create_node(const char *name, const char *desc, float *vec_ptr, int size, float *vec_ptr2=NULL)
bdiQPropTreeItemEdit * m_py
Definition: bdiQPropTree_subclasses.h:97
bdiVec3f m_vec
Definition: bdiQPropTree_subclasses.h:117
virtual void create_node(const char *desc, Array *vec, int start_index=0)
Definition: bdiQPropTree_subclasses.h:539
BoolKeyFrame * m_key
Definition: bdiQPropTree_subclasses.h:364
bdiQPropTreeItemController< FloatKeyFrame, FloatKeyFrameArray, bdiQPropTreeItemFloatKeyFrame > bdiQPropTreeItemFloatController
Definition: bdiQPropTree_subclasses.h:805
QString myType
Definition: bdiQPropTree_subclasses.h:331
float m_extreme_max_value
Definition: bdiQPropTree_subclasses.h:344
bdiQPropTreeItemFloatArray(QTreeWidgetItem *parent)
Definition: bdiQPropTree_subclasses.h:58
Definition: bdiQPropTree_subclasses.h:272
Definition: bdiQPropTree_subclasses.h:334
bdiFarPosition * m_pos
Definition: bdiQPropTree_subclasses.h:116
bdiQPropTreeItem * create_shader_uniform_item(bdiShaderUniform *uniform, QTreeWidgetItem *parent_item, bool editable)
bdiQPropTreeItemEdit * m_pz
Definition: bdiQPropTree_subclasses.h:98
bdiString * m_name
Definition: bdiQPropTree_subclasses.h:222
bdiQPropTreeItemCombo * m_force_type_combo
Definition: bdiQPropTree_subclasses.h:310
float m_min_value
Definition: bdiQPropTree_subclasses.h:100
int m_rel_time
Definition: bdiQPropTree_subclasses.h:503
QString myAppPath
Definition: bdiQPropTree_subclasses.h:224
virtual void setExtremeMaxValue(float value)
Definition: bdiQPropTree_subclasses.h:341
virtual void create_node(const char *name, const char *desc, NoiseKeyFrame *vec, int rel_time=1, int include_slider=0)
bdiQPropTreeItemController< BoolKeyFrame, BoolKeyFrameArray, bdiQPropTreeItemBoolKeyFrame > bdiQPropTreeItemBoolController
Definition: bdiQPropTree_subclasses.h:799
void create_node(const char *name, const char *desc, DtFxForce *force)
voidpf void uLong size
Definition: ioapi.h:39
virtual Instance * createInstance()
Definition: bdiQPropTree_subclasses.h:693
void Remove(Instance *key, WidgetType *)
Definition: bdiQPropTree_subclasses.h:515
bdiQPropTreeItemParticleSystem(QTreeWidgetItem *parent, const char *name=NULL)
float m_max_value
Definition: bdiQPropTree_subclasses.h:343
Definition: bdiQPropTree_subclasses.h:352
virtual void setMaxValue(float value)
Definition: bdiQPropTree_subclasses.h:240
bdiQPropTreeItemController< NoiseKeyFrame, NoiseKeyFrameArray, bdiQPropTreeItemNoiseKeyFrame > bdiQPropTreeItemNoiseController
Definition: bdiQPropTree_subclasses.h:811
float m_min_value
Definition: bdiQPropTree_subclasses.h:507
Definition: bdiQPropTree_subclasses.h:386
bdiNoise * m_noise
Definition: bdiQPropTree_subclasses.h:171
virtual void setMaxValue(float value)
Definition: bdiQPropTree_subclasses.h:190
Vec3fKeyFrame * m_key
Definition: bdiQPropTree_subclasses.h:399
bdiString m_name
Definition: bdiQPropTree_subclasses.h:249
Definition: bdiQPropTree_subclasses.h:125
bdiQPropTreeItemArrayController< bdiVec3f, bdiVec3fPtrArray, bdiQPropTreeItemAdditionalPosition > bdiQPropTreeItemPositionsController
Definition: bdiQPropTree_subclasses.h:825
virtual void create_node(const char *name, const char *desc, bdiVec3f *vec, int include_slider, float min_val, float max_val, float extreme_max=0.0f)
bdiQPropTreeItemEditArray m_items
Definition: bdiQPropTree_subclasses.h:509
virtual void setMaxValue(float value)
Definition: bdiQPropTree_subclasses.h:689
Definition: bdiQPropTree_subclasses.h:439
void create_node(const char *name, const char *desc, FloatKeyFrame *vec, int rel_time=1, int include_slider=0)
Definition: bdiQPropTree_subclasses.h:55
bdiQPropTreeItemController< Vec6fKeyFrame, Vec6fKeyFrameArray, bdiQPropTreeItemVec6KeyFrame > bdiQPropTreeItemVec6Controller
Definition: bdiQPropTree_subclasses.h:809
int getAndResetUpdateFlag()
Definition: bdiQPropTree_subclasses.h:213
virtual void set_default_value(const Instance &val)
Definition: bdiQPropTree_subclasses.h:485
DtFxForce * m_key
Definition: bdiQPropTree_subclasses.h:306
Instance m_default_value
Definition: bdiQPropTree_subclasses.h:502
virtual void setMinValue(float value)
Definition: bdiQPropTree_subclasses.h:303
Instance m_defaults
Definition: bdiQPropTree_subclasses.h:695
FloatKeyFrame * m_key
Definition: bdiQPropTree_subclasses.h:382
bdiQPropTreeItemVec6(QTreeWidgetItem *parent)
Definition: bdiQPropTree_subclasses.h:141
bdiQPropTreeItemAdditionalPosition(QTreeWidgetItem *parent, const char *name=NULL)
Definition: bdiQPropTreeItem.h:28
bdiQPropTreeItemArrayController< DtFxChildSystem, DtFxChildSystemArray, bdiQPropTreeItemChildSystem > bdiQPropTreeItemChildSystemController
Definition: bdiQPropTree_subclasses.h:819
bdiQPropTreeItemVec3(QTreeWidgetItem *parent)
Definition: bdiQPropTree_subclasses.h:76
Definition: bdiQPropTree_subclasses.h:199
virtual void setMaxValue(float value)
Definition: bdiQPropTree_subclasses.h:339
virtual void onRefresh()
float getMaxValue() const
Definition: bdiQPropTree_subclasses.h:91
Definition: bdiQPropTree_subclasses.h:827
Array * m_array
Definition: bdiQPropTree_subclasses.h:698
void create_node(const char *name, const char *desc, DtFxCollisionObject *plane)
Definition: bdiQPropTreeItemButton.h:55
bdiQPropTreeItemColorKeyFrame(QTreeWidgetItem *parent, const char *name=NULL)
bdiQPropTreeItemArrayController< DtFxParticleSystemHolder, DtFxParticleSystemHolderArray, bdiQPropTreeItemParticleSystem > bdiQPropTreeItemParticleSystemController
Definition: bdiQPropTree_subclasses.h:821
bdiString m_name
Definition: bdiQPropTree_subclasses.h:699
virtual void handleButton(int)
Definition: bdiQPropTree_subclasses.h:618
Definition: bdiQPropTree_subclasses.h:105
float getMinValue() const
Definition: bdiQPropTree_subclasses.h:92
Definition: bdiQPropTree_subclasses.h:204
void create_node(const char *name, const char *desc, BoolKeyFrame *vec, int rel_time=1, int include_slider=0)
virtual void ProcessTextureMapChange()
Definition: bdiQPropTree_subclasses.h:210
bdiQPropTreeItemVec3KeyFrame(QTreeWidgetItem *parent, const char *name=NULL)
bdiVec3f * m_vec
Definition: bdiQPropTree_subclasses.h:95
bdiQPropTreeButton * AddButton(const QString &name)
virtual void setMinValue(float value)
Definition: bdiQPropTree_subclasses.h:191
int m_include_slider
Definition: bdiQPropTree_subclasses.h:504
Definition: bdiQPropTree_subclasses.h:230
void create_node(const char *name, const char *desc, bdiFarPosition *pos, int include_slider, float min_val, float max_val, float extreme_max=0.0f)
bdiQPropTreeItemEdit general value editors
Definition: bdiQPropTreeItemEdit.h:22
void create_node(const char *name, const char *desc, DtFxChildSystem *system)
void set_has_alpha(int val)
Definition: bdiQPropTree_subclasses.h:450
Definition: bdiQPropTree_subclasses.h:404
float m_extreme_max_value
Definition: bdiQPropTree_subclasses.h:508
Definition: bdiQPropTree_subclasses.h:73
float m_max_value
Definition: bdiQPropTree_subclasses.h:700
bdiQPropTreeItemArrayController< DtFxForce, DtFxForceArray, bdiQPropTreeItemAdditionalForce > bdiQPropTreeItemAdditionalForceController
Definition: bdiQPropTree_subclasses.h:823
NoiseKeyFrame * m_key
Definition: bdiQPropTree_subclasses.h:434
virtual void create_node(const char *desc, Array *vec)
bdiQPropTreeItemScript(QTreeWidgetItem *parent, const QString &type, bdiString *m_script, const char *hints)
float m_pitch
Definition: bdiQPropTree_subclasses.h:307
bdiQPropTreeItemBoolKeyFrame(QTreeWidgetItem *parent, const char *name=NULL)
void InsertAfter(Instance *key, WidgetType *)
float m_max_value
Definition: bdiQPropTree_subclasses.h:99
float m_roll
Definition: bdiQPropTree_subclasses.h:246
TextureType
Definition: bdiQPropTree_subclasses.h:202
void InsertAfter(Instance *key, WidgetType *)
virtual void setIncludeSlider(int value)
Definition: bdiQPropTree_subclasses.h:495
bdiString m_name
Definition: bdiQPropTree_subclasses.h:499
bdiQPropTreeItemFarPosition(QTreeWidgetItem *parent)
Definition: bdiQPropTree_subclasses.h:108
bdiQPropTreeItem * m_object_type_item
Definition: bdiQPropTree_subclasses.h:250
virtual void setMaxValue(float value)
Definition: bdiQPropTree_subclasses.h:302
bdiVec3f * m_min
Definition: bdiQPropTree_subclasses.h:151
virtual void setMaxValue(float value)
note InsertAfter clones the key it&#39;s given and duplicates it.
Definition: bdiQPropTree_subclasses.h:487
Definition: bdiQPropTree_subclasses.h:316
DtFxForce * get_key()
Definition: bdiQPropTree_subclasses.h:300
void Remove(Instance *key, WidgetType *)
void setRefreshParent(const bool refresh)
Definition: bdiQPropTreeItem.h:135
int m_has_alpha
Definition: bdiQPropTree_subclasses.h:453
FloatKeyFrame * get_key()
Definition: bdiQPropTree_subclasses.h:380
Definition: bdiQPropTree_subclasses.h:370
float m_time_increment
Definition: bdiQPropTree_subclasses.h:501
virtual void setIncludeSlider(int slider)
Definition: bdiQPropTree_subclasses.h:691
bdiQPropTreeItemCombo * m_combo_desc
Definition: bdiQPropTree_subclasses.h:285
virtual void handleButton(int)
virtual void setDataPtr(void *lParam, int do_commit=1)
int m_start_index
Definition: bdiQPropTree_subclasses.h:505
virtual void setMinValue(float value)
Definition: bdiQPropTree_subclasses.h:241
NoiseKeyFrame * get_key()
Definition: bdiQPropTree_subclasses.h:431
float m_max_value
Definition: bdiQPropTree_subclasses.h:506
virtual void setMinValue(float value)
Definition: bdiQPropTree_subclasses.h:340
Array * m_array
Definition: bdiQPropTree_subclasses.h:498
virtual void onRefresh()
Definition: bdiQPropTree_subclasses.h:584
bdiQPropTreeItemEdit * m_edit_z
Definition: bdiQPropTree_subclasses.h:120
forces to include that influence the particles movement /ingroup vrvFx
Definition: DtFxForce.h:35
bdiQPropTreeItemVec3 * m_min_vec_item
Definition: bdiQPropTree_subclasses.h:172
Definition: bdiQPropTree_subclasses.h:256
virtual void set_has_alpha(int val)
Definition: bdiQPropTree_subclasses.h:834
Definition: bdiQPropTree_subclasses.h:458
Definition: bdiQPropTree_subclasses.h:205
replaces the PPlane object /ingroup vrvFx
Definition: DtFxCollisionObject.h:29
virtual void setMinValue(float value)
Definition: bdiQPropTree_subclasses.h:488
TextureType m_texture_type
Definition: bdiQPropTree_subclasses.h:220
A child systems thats created when a parent system is created /ingroup vrvFx.
Definition: DtFxParticleSystem.h:63
bdiQPropTreeItemArrayController(QTreeWidgetItem *parent, const char *name)
Definition: bdiQPropTree_subclasses.h:664
virtual void create_node(const char *name, const char *desc, Vec3fKeyFrame *vec, int rel_time=1, int include_slider=0)
float m_pitch
Definition: bdiQPropTree_subclasses.h:247
QString myHints
Definition: bdiQPropTree_subclasses.h:330
Definition: bdiQPropTree_subclasses.h:421
virtual void create_node(const char *name, const char *desc, Vec6fKeyFrame *vec, int rel_time=1, int include_slider=0)
bdiQPropTreeItemCollisionObject(QTreeWidgetItem *parent, const char *name=NULL)
virtual void setExtremeMaxValue(float value)
Definition: bdiQPropTree_subclasses.h:489
bdiQPropTreeItemEdit * m_edit_y
Definition: bdiQPropTree_subclasses.h:119
Definition: bdiQPropTree_subclasses.h:178
int m_needs_update
Definition: bdiQPropTree_subclasses.h:225
void create_node(const char *name, const char *desc, bdiNoise *val, int include_slider, float min_value, float max_value, float extreme_max)
virtual void special_settings(WidgetType *item)
Definition: bdiQPropTree_subclasses.h:496
ColorKeyFrame * get_key()
Definition: bdiQPropTree_subclasses.h:449
virtual void setMinValue(float min_value)
bdiQPropTreeItemArrayController< DtFxCollisionObject, DtFxCollisionObjectArray, bdiQPropTreeItemCollisionObject > bdiQPropTreeItemCollisionController
Definition: bdiQPropTree_subclasses.h:817
bdiQPropTreeItemNoiseKeyFrame(QTreeWidgetItem *parent, const char *name=NULL)
DtFxChildSystem * get_key()
Definition: bdiQPropTree_subclasses.h:265
DtFxCollisionObject * m_key
Definition: bdiQPropTree_subclasses.h:245
bdiQPropTreeItemAdditionalForce(QTreeWidgetItem *parent, const char *name=NULL)
Definition: DtFxParticleSystem.h:756
bdiQPropTreeItemController< ColorKeyFrame, ColorKeyFrameArray, bdiQPropTreeItemColorKeyFrame > bdiQPropTreeItemBCTController
Definition: bdiQPropTree_subclasses.h:813
bdiQPropTreeItemEdit * m_px
Definition: bdiQPropTree_subclasses.h:96
int m_has_alpha
Definition: bdiQPropTree_subclasses.h:838
DtFxCollisionObject * get_key()
Definition: bdiQPropTree_subclasses.h:239
bdiQPropTreeItem * GetSibling()
makVrv::DtFxParticleSystemManager * m_pManager
Definition: bdiQPropTree_subclasses.h:223
Definition: bdiQPropTree_subclasses.h:138
bdiQPropTreeItemColorController(QTreeWidgetItem *parent, const char *name, int supports_empty_keys=0, int rel_time=1)
Definition: bdiQPropTree_subclasses.h:830
bdiQPropTreeItemController< Vec3fKeyFrame, Vec3fKeyFrameArray, bdiQPropTreeItemVec3KeyFrame > bdiQPropTreeItemVec3Controller
Definition: bdiQPropTree_subclasses.h:807
bdiQPropTreeItemEdit * m_radius_edit
Definition: bdiQPropTree_subclasses.h:311
float m_roll
Definition: bdiQPropTree_subclasses.h:308
bdiQPropTreeItemVec6KeyFrame(QTreeWidgetItem *parent, const char *name=NULL)
int m_old_force_type
Definition: bdiQPropTree_subclasses.h:309
Vec6fKeyFrame * get_key()
Definition: bdiQPropTree_subclasses.h:414
int m_include_slider
Definition: bdiQPropTree_subclasses.h:702
bdiQPropTreeItemEdit * m_edit_x
Definition: bdiQPropTree_subclasses.h:118
virtual void handleButton(int)
Vec3fKeyFrame * get_key()
Definition: bdiQPropTree_subclasses.h:396
void setLabelText(const char *sLabel)
void create_node(const char *name, const char *desc, bdiVec4f *vec, int include_slider, float min_val, float max_val)
void set_time_increment(float increment)
Definition: bdiQPropTree_subclasses.h:490
bdiQPropTreeItemTextureMap(QTreeWidgetItem *parent, makVrv::DtFxParticleSystemManager *manager, const QString &appPath)
bdiQPropTreeItemKeyFrameInterface(QTreeWidgetItem *parent, const char *name=NULL)
bdiQPropTreeItemController(QTreeWidgetItem *parent, const char *name, int supports_empty_keys=0, int rel_time=1, int include_slider=0)
Definition: bdiQPropTree_subclasses.h:462
float m_min_value
Definition: bdiQPropTree_subclasses.h:345
void create_node(const char *name, const char *desc, bdiVec3f *pos)
float * m_data
Definition: bdiQPropTree_subclasses.h:68
int m_supports_empty_keys
Definition: bdiQPropTree_subclasses.h:500
virtual void addTimeItem(float *time)
Definition: bdiQPropTree_subclasses.h:156
bdiQPropTreeItemChildSystem(QTreeWidgetItem *parent, const char *name=NULL)
DtFxParticleSystemHolder * get_key()
Definition: bdiQPropTree_subclasses.h:281
float m_min_value
Definition: bdiQPropTree_subclasses.h:701
DtFxParticleSystemHolder * m_key
Definition: bdiQPropTree_subclasses.h:284
void create_node(const char *name, const char *desc, bdiVec3f *min, bdiVec3f *max, int include_slider, float min_val, float max_val)
int m_rel_time
Definition: bdiQPropTree_subclasses.h:346
virtual void create_node(const char *name, const char *desc, ColorKeyFrame *vec, int rel_time=1, int include_slider=0)
virtual void create_type_children(bdiQPropTreeItem *itemParent)
bdiQPropTreeItemNoise(QTreeWidgetItem *parent)
Definition: bdiQPropTree_subclasses.h:159
bdiVec3f * get_key()
Definition: bdiQPropTree_subclasses.h:188
Vec6fKeyFrame * m_key
Definition: bdiQPropTree_subclasses.h:417

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)