VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgParticleSystemModel.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
15 
17 
18 #include <osg/Group>
19 
20 #include <matrix/vlVector.h>
21 
22 
23 namespace makVrv
24 {
25  class DtOsgSceneConnector;
26  class DtOsgParticleSystemModelInstance;
27  class DtCoordinateSystem;
28 
32  {
33  public:
34 
37 
39  virtual ~DtOsgParticleSystemModel();
40 
42  virtual void setModelDefinition( const std::string& str );
43  virtual const std::string& modelDefinition() { return myModelDefinitionName; }
44 
47  virtual const std::string& className() const;
48 
50  virtual void setIntensity(float intensity);
51 
53  virtual void setScale(float scale);
54 
56  virtual void setDuration(double seconds);
57 
59 
60  virtual void setPosition(int vtx, const DtVector& position);
61  virtual void setOrientation(int vtx, const DtTaitBryan& orientation);
62  virtual void setOffset(const DtVector& offset);
63  virtual void setArtPart(int artPart);
65 
67  virtual void setWindDirection(const DtVector& direction);
68 
70  virtual void setMaxParticlesToEmit(int max);
71 
73  virtual void stop();
74 
76  virtual void start();
77 
79  virtual void pause();
80 
81  virtual void resume();
82 
84  virtual void setVisible(bool isVisible);
85 
89  virtual void setIsSupportModel(bool isSupport);
90 
92  virtual void backgroundLoad();
93  virtual void foregroundLoad();
94 
95  protected:
96 
97  virtual void addToScene(const DtUniqueID& id, int modelSet,
98  int visualizerType);
99 
100  virtual void addToSceneAsProp( const DtUniqueID& sceneObjectId);
101 
102  virtual void removeFromScene();
103 
105  virtual void slot_coordinateSystemChanged();
106 
107  protected:
108  virtual void slot_handleWindDirectionChanged(float dir);
109  virtual void slot_handleWindSpeedChanged(float speed);
110  virtual void updateWind();
111 
113  double myIntensity;
115  double myScale;
117  double myDuration;
123  DtTaitBryan myOrientation;
124 
125  float myWindSpeed;
131  bool myUpSet;
133 
136  DtCoordinateSystem* myCoordinateSystem = nullptr;
137  };
138 }
139 
140 
int myMaxParticlesToEmit
Definition: DtOsgParticleSystemModel.h:127
double myIntensity
Definition: DtOsgParticleSystemModel.h:113
A model of a particle system.
Definition: DtOsgParticleSystemModel.h:31
float myWindSpeed
Definition: DtOsgParticleSystemModel.h:125
bool myOrientationSet
Definition: DtOsgParticleSystemModel.h:121
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
float myWindDirection
Definition: DtOsgParticleSystemModel.h:126
double myScale
Definition: DtOsgParticleSystemModel.h:115
DtSignalConnectionManager myConnections
Definition: DtOsgParticleSystemModel.h:132
bool myScaleSet
Definition: DtOsgParticleSystemModel.h:116
int myArtPart
Definition: DtOsgParticleSystemModel.h:130
DtOsgSceneConnector is used by models to create an OSG position/orientation transform so that it can ...
Definition: DtOsgSceneConnector.h:76
DtVector myUp
Definition: DtOsgParticleSystemModel.h:128
virtual const std::string & modelDefinition()
Definition: DtOsgParticleSystemModel.h:43
DtVector myPosition
Definition: DtOsgParticleSystemModel.h:122
Contains makVrv::DtParticleSystemModel class.
bool myIntensitySet
Definition: DtOsgParticleSystemModel.h:114
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtOsgSceneConnector * mySceneConnector
Definition: DtOsgParticleSystemModel.h:112
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:41
bool myOrientUp
Definition: DtOsgParticleSystemModel.h:119
bool myDurationSet
Definition: DtOsgParticleSystemModel.h:118
DtVector myOffset
Definition: DtOsgParticleSystemModel.h:129
Base class to provide boost signal/slot management.
bool myUpSet
Definition: DtOsgParticleSystemModel.h:131
A model of a particle system.
Definition: DtParticleSystemModel.h:24
Contains DLL export macros.
DtTaitBryan myOrientation
Definition: DtOsgParticleSystemModel.h:123
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
bool myPositionSet
Definition: DtOsgParticleSystemModel.h:120
voidpf uLong offset
Definition: ioapi.h:42
double myDuration
Definition: DtOsgParticleSystemModel.h:117

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)