VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
bdiQWidgetParticleSystem.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/bdiQWidgetParticleSystem_uic.hpp>
15 
16 
17 #include <QtCore/QTimer>
18 
19 class bdiQTextEdit;
20 
21 class QTreeWidgetItem;
22 
23 class bdiScenario;
24 class bdiScenarioApp;
25 class bdiLight;
26 
27 class diguyScenario;
28 class bdiParticleDesc;
29 
30 namespace makVrv
31 {
32  class DtParticleSystemModelAgent;
33  class DtEntityFacade;
34  class bdiQWidgetScenarioElementSelector2;
35  class bdiQPropTreeItemLightCombo;
36  class bdiQParticlePropTreeContainer;
37  class bdiQPropTree;
38  class bdiQPropTreeItem;
39  class bdiQPropTreeItemCombo;
40  class bdiQPropTreeItemFarPosition;
41  class bdiQPropTreeItemEdit;
42  class bdiQPropTreeItemColor;
43  class bdiQWidgetKeyFrameEditor;
44 
45  class DtDe;
46  class DtFxParticleSystemManager;
47  class DtFxParticleDesc;
48  class DtFxParticleSystem;
49 
52  class bdiQWidgetParticleSystem : public QWidget, public Ui::bdiQWidgetParticleSystem_uic, public DtFxDebugDrawCallbackInterface
53  {
54  Q_OBJECT;
55  public:
56 
57  bdiQWidgetParticleSystem(makVrv::DtDe & de, makVrv::DtFxParticleSystemManager* manager, int show_selector = 1, QWidget* parent = 0,
58  const char* name = 0, Qt::WindowFlags fl = 0);
59  virtual ~bdiQWidgetParticleSystem();
60 
61  virtual void hideEvent(QHideEvent *event);
62 
64 
65  void set_particle_desc(DtFxParticleDesc* particle_desc, int force_update = 0);
66 
67  void set_preview_location(double x, double y, double z);
68  bool isPreviewActive();
71 
73  virtual void drawDebugLines(const bdiFarPosition& eyePoint, const bdiMat4f& geocentricMatrix,
74  bdiVec3fArray& verts, bdiVec4fArray& colors);
75 
76  virtual void systemShutDown();
78  virtual void update_size_keys();
79  virtual void update_color_keys();
80 
81  public slots:
82 
86 
93  void slot_button_load_desc();
95 
96  void slot_read_name();
97  void slot_convert_clicked();
102 
103  void slot_save_file();
104 
105  void slot_origin_changed();
106  // right click context menu
107  void slot_revertItem();
108  void slot_saveItem();
110  //void slot_key_frame_editor();
111 
112  // preview
113  void slot_num_preview_changed(int);
114  void slot_restart_preview();
115  void slot_step_preview();
116  void slot_toggle_play_paused(bool);
117  void slot_recompileScripts();
118  void slot_toggle_wireframe_mode(bool);
119  void slot_toggle_texture_mode(bool);
120 
121  void slot_timer_trigger();
124  void slot_debugMenuChecked();
126 
128 
129  signals:
130 
131  void desc_list_changed();
132  void signal_show_window_log(int);
133 
134 
135  protected:
136 
137  void build_ui(int force_ui_update = 0);
138 
139  void create_size_keys();
140  void create_color_keys();
141 
144 
145  void reset_ui();
146  void build_light_ui(bdiQPropTreeItem* pRoot);
147  void restoreState(void);
148  void saveState(void);
149 
150  protected:
151 
153  bdiScenarioApp* m_app;
156  QString m_string_name;
159  bdiLight* m_light;
168 
172 
173  // legacy osg system previewing remove when system is gone
176  QStringList myLegacySystems;
177  DtParticleSystemModelAgent* myLegacyAgent;
179  double myPreviewPosition[3];
180 
181  QTimer* m_update_timer;
182 
183  QMap<QString, bool> m_state_map;
186 
192 
197 
206 
211  QIcon myAxisIcon;
214  QIcon myColorIcon;
215  QIcon mySizeIcon;
217  };
218 }
light UI control
Definition: bdiQParticlePropTreeClasses.h:60
virtual void drawDebugLines(const bdiFarPosition &eyePoint, const bdiMat4f &geocentricMatrix, bdiVec3fArray &verts, bdiVec4fArray &colors)
DtFxDebugDrawCallbackInterface.
QIcon mySizeIcon
Definition: bdiQWidgetParticleSystem.h:215
Definition: bdiQPropTreeItemCombo.h:40
QIcon myScriptsIcon
Definition: bdiQWidgetParticleSystem.h:203
QMap< QString, bool > m_state_map
Definition: bdiQWidgetParticleSystem.h:183
Core particle editing class.
Definition: bdiQWidgetParticleSystem.h:52
DtFxParticleSystemManager is the manager for all the particle systems and descriptions diguy sdk comm...
Definition: DtFxParticleSystemManager.h:74
void set_particle_desc(DtFxParticleDesc *particle_desc, int force_update=0)
bdiQPropTreeItemEdit * m_size_item
Definition: bdiQWidgetParticleSystem.h:166
void build_ui(int force_ui_update=0)
void createPreviewNodes(DtFxParticleSystem *pre)
bdiQPropTreeItemColor * m_color_item
Definition: bdiQWidgetParticleSystem.h:167
QAction * m_action_debug_lights
Definition: bdiQWidgetParticleSystem.h:188
Definition: bdiQPropTreeItemColor.h:28
bdiQPropTreeItem * m_global_objects_node
Definition: bdiQWidgetParticleSystem.h:165
QIcon myColorIcon
Definition: bdiQWidgetParticleSystem.h:214
Definition: bdiQParticlePropTreeClasses.h:99
bdiQPropTree * m_tree
Definition: bdiQWidgetParticleSystem.h:158
QIcon myRotationIcon
Definition: bdiQWidgetParticleSystem.h:207
QIcon myEmitterSizeIcon
Definition: bdiQWidgetParticleSystem.h:216
void build_light_ui(bdiQPropTreeItem *pRoot)
bdiQPropTreeItemEdit * m_previewIntensity
Definition: bdiQWidgetParticleSystem.h:163
QIcon myEmitterIcon
Definition: bdiQWidgetParticleSystem.h:204
QIcon myStreakIcon
Definition: bdiQWidgetParticleSystem.h:198
bdiQPropTreeItemCombo * myLegacyCombo
Definition: bdiQWidgetParticleSystem.h:174
Definition: bdiQPropTreeItem.h:28
makVrv::DtDe & myDe
Definition: bdiQWidgetParticleSystem.h:171
The DtEntityFacade is a facade around agents that make up an entity.
Definition: DtEntityFacade.h:35
int m_current_index
Definition: bdiQWidgetParticleSystem.h:169
Definition: bdiQPropTree_subclasses.h:105
Definition: bdiQWidgetScenarioElementSelector2.h:50
QIcon myVelocityVarIcon
Definition: bdiQWidgetParticleSystem.h:209
QString m_string_name
Definition: bdiQWidgetParticleSystem.h:156
virtual void systemShutDown()
particle manager is getting shut down.
bdiQPropTreeItemEdit general value editors
Definition: bdiQPropTreeItemEdit.h:22
QIcon myRenderingIcon
Definition: bdiQWidgetParticleSystem.h:205
virtual void hideEvent(QHideEvent *event)
QIcon myCollisionIcon
Definition: bdiQWidgetParticleSystem.h:210
DtParticleSystemModelAgent * myLegacyAgent
Definition: bdiQWidgetParticleSystem.h:177
DtParticleSystem is implementation of the particle system, vrvOsg communicates with it via DtParticle...
Definition: DtFxParticleSystem.h:387
bool m_updating_keyframe_editor
Definition: bdiQWidgetParticleSystem.h:185
bdiQWidgetKeyFrameEditor * m_keyframe_editor
Definition: bdiQWidgetParticleSystem.h:184
QTimer * m_update_timer
Definition: bdiQWidgetParticleSystem.h:181
Definition: bdiQWidgetKeyFrameEditor.h:28
int m_block_ui_rebuild
Definition: bdiQWidgetParticleSystem.h:170
DtFxParticleSystemManager * m_ps_manager
Definition: bdiQWidgetParticleSystem.h:154
bdiQPropTreeItemFarPosition * m_previewPosition
Definition: bdiQWidgetParticleSystem.h:161
void set_preview_location(double x, double y, double z)
QAction * m_action_debug_bounding_boxes
Definition: bdiQWidgetParticleSystem.h:194
QIcon myAxisIcon
Definition: bdiQWidgetParticleSystem.h:211
bdiQPropTreeItem * m_previewNode
Definition: bdiQWidgetParticleSystem.h:160
void slot_selected_selector_element(QTreeWidgetItem *lvi, QTreeWidgetItem *prev)
QIcon myLifetimeIcon
Definition: bdiQWidgetParticleSystem.h:200
QAction * m_action_debug_forces
Definition: bdiQWidgetParticleSystem.h:189
QAction * m_action_debug_velocities
Definition: bdiQWidgetParticleSystem.h:193
bdiScenarioApp * m_app
Definition: bdiQWidgetParticleSystem.h:153
bool myAttachToMouse
Definition: bdiQWidgetParticleSystem.h:196
double myPreviewPosition[3]
Definition: bdiQWidgetParticleSystem.h:179
DtEntityFacade * myLegacyFacade
Definition: bdiQWidgetParticleSystem.h:178
QAction * m_action_debug_all
Definition: bdiQWidgetParticleSystem.h:187
Contains the declaration for makVrv::DtFxDebugDrawCallbackInterface.
A simple interface for allowing the qt particle editor to draw lines at the right time...
Definition: DtFxDebugDrawCallbackInterface.h:23
QAction * m_action_debug_force_vectors
Definition: bdiQWidgetParticleSystem.h:190
QIcon myLightsIcon
Definition: bdiQWidgetParticleSystem.h:202
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QIcon myExplosionIcon
Definition: bdiQWidgetParticleSystem.h:199
bdiQParticlePropTreeContainer * m_prop_widget
Definition: bdiQWidgetParticleSystem.h:157
bdiQPropTreeItem * myTestSystems
Definition: bdiQWidgetParticleSystem.h:175
bdiQPropTreeItem * m_global_forces_node
Definition: bdiQWidgetParticleSystem.h:164
DtFxParticleDesc * m_particle_desc
Definition: bdiQWidgetParticleSystem.h:155
QStringList myLegacySystems
Definition: bdiQWidgetParticleSystem.h:176
QIcon myReleaseFreqIcon
Definition: bdiQWidgetParticleSystem.h:213
QAction * m_action_debug_objects
Definition: bdiQWidgetParticleSystem.h:195
QIcon myChildrenIcon
Definition: bdiQWidgetParticleSystem.h:201
bdiLight * m_light
Definition: bdiQWidgetParticleSystem.h:159
QIcon myVelocityIcon
Definition: bdiQWidgetParticleSystem.h:208
a subclass of bdiParticleDesc, currently reimplements all of configuration file reading and writing...
Definition: DtFxParticleSystem.h:112
QAction * m_action_debug_force_vectors_3D
Definition: bdiQWidgetParticleSystem.h:191
bdiQPropTreeItemEdit * m_previewScale
Definition: bdiQWidgetParticleSystem.h:162
Definition: bdiQPropTree.h:51
QIcon myReleaseRateIcon
Definition: bdiQWidgetParticleSystem.h:212
bdiQWidgetParticleSystem(makVrv::DtDe &de, makVrv::DtFxParticleSystemManager *manager, int show_selector=1, QWidget *parent=0, const char *name=0, Qt::WindowFlags fl=0)
bdiQWidgetScenarioElementSelector2 * m_selector
Definition: bdiQWidgetParticleSystem.h:152

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)