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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)