VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtFxParticleSystemModelInstance.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvFx/vrvFx.h>
13 #include <diguyMaterialType.h>
14 
15 namespace osg
16 {
17  class Geode;
18  class Group;
19 }
20 
21 namespace makVrv
22 {
23  class DtOsgParticleSystemEffect;
24  class DtFxParticleSystem;
25  class DtOsgArticulatedModel;
26 
31  {
32  public:
33 
36 
39 
41  virtual void setPosition(double x, double y, double z);
42 
44  virtual void setPosition(int index, double x, double y, double z);
45 
47  virtual void setIntensity(float intensity);
48 
51  virtual void setIsRotorWash(bool isRotorWash);
52 
54  virtual void setScale(float scale);
55 
59  virtual void setRotorDiameter(double diameter);
60 
64  virtual void setRotorWindSpeed(double speed);
65 
69  virtual void setIgnoreModelScaling(bool ignoreModelScaling);
70 
72  virtual bool ignoreModelScaling() const;
73 
75  virtual void setDuration(double seconds);
76 
78  virtual void setWind(const DtVector& windVector, const DtVector& up);
79 
81  virtual void setMaxParticlesToEmit(int max);
82 
85  virtual bool realize(const DtModelDefinition& definition);
86 
88  virtual osg::Node* getOrLoadFromDefinition(const DtModelDefinition &definition);
89 
91  virtual void addToConnector(DtOsgSceneConnector* connector);
92 
94  virtual bool removeFromConnector(DtOsgSceneConnector* connector);
95 
97  virtual void stop();
98 
100  virtual void start();
101 
103  virtual void pause();
104 
106  virtual void resume();
107 
109  virtual void setVisible(bool isVisible);
110 
112  virtual DtOsgParticleSystemEffect * effectNode();
113 
115  virtual diguyMaterialType getMaterialType();
116 
118  virtual void setOffset(const DtVector& offset);
119 
121  virtual void setArtPart(int partNumber);
122 
126  virtual void setStartEmit(bool autoEmit);
127 
129  bool startEmit();
130 
131  protected:
132 
135 
137  virtual osg::Node* loadNode(const std::string& filenameParam, const std::string& resourcePathList);
138 
139  protected:
144  DtVector myOffset;
148 
149  double myLifetime;
150  };
151 
155  {
156  public:
157 
159  static void registerCreator(DtDe& de);
160 
163 
165  virtual DtModelInstance* create(DtDe& de);
166 
167  protected:
170  };
171 }
The base class for all model instances.
Definition: DtModelInstance.h:41
bool myIgnoreModelScaling
Definition: DtFxParticleSystemModelInstance.h:143
bool myIsRotorWash
Definition: DtFxParticleSystemModelInstance.h:147
Definition: featureContext.h:36
#define DT_DLL_VRVFX
Definition: vrvFx.h:20
bool myStartEmit
Definition: DtFxParticleSystemModelInstance.h:146
Contains DLL export macros.
DtFxParticleSystem * myDiguySystem
Definition: DtFxParticleSystemModelInstance.h:142
DtVector myOffset
Definition: DtFxParticleSystemModelInstance.h:144
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:42
DtOsgSceneConnector is used by models to create an OSG position/orientation transform so that it can ...
Definition: DtOsgSceneConnector.h:77
osg::ref_ptr< DtOsgParticleSystemEffect > myEffect
Definition: DtFxParticleSystemModelInstance.h:140
int myArtPart
Definition: DtFxParticleSystemModelInstance.h:145
An effect model instance creates a particle effect from a model definition. Can be either a new DI-Gu...
Definition: DtFxParticleSystemModelInstance.h:30
double myLifetime
Definition: DtFxParticleSystemModelInstance.h:149
osg::ref_ptr< osg::MatrixTransform > myDiguySystemUpdater
Definition: DtFxParticleSystemModelInstance.h:141
A Creator for the makVrv::DtParticleSystemModelInstance class.
Definition: DtFxParticleSystemModelInstance.h:154
The polymorphic creator for the DtModelInstance.
Definition: DtModelInstance.h:153
DtParticleSystem is implementation of the particle system, vrvOsg communicates with it via DtParticle...
Definition: DtFxParticleSystem.h:397
A virtual base class for a particle effect from a model definition.
Definition: DtParticleSystemModelInstance.h:35
This class provides a facade around the osgParticle class hierarchy. It is comparable with osgParticl...
Definition: DtOsgParticleSystemEffect.h:31
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:76
Contains makVrv::DtParticleSystemModelInstance class.
voidpf uLong offset
Definition: ioapi.h:42

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)