VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtExampleProjectile.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2019 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include "exampleProjectile.h"
13 
14 #include <vrvCore/DtDriver.h>
15 
16 #include <matrix/vlVector.h>
17 
18 #include <string>
19 #include <list>
20 
21 namespace makVrv
22 {
23  class DtObserverShooter;
24  class DtIntersectorResult;
25  class DtSceneObjectAgent;
26  class DtParticleSystemModelAgent;
27  class DtWaterImpactModelAgent;
28 
30  {
31  public:
32 
35 
37  virtual ~DtExampleProjectile();
38 
41 
44  virtual const std::string& className() const;
45 
46  protected:
49  virtual bool onStart();
50 
53  virtual bool onStop();
54 
57  virtual bool onTick();
58 
62  virtual void slot_displayEngineAdded( const makVrv::DtDeRecord& igRecord );
64 
66  virtual void processIntersection( const DtIntersectorResult& isect, double speed );
67 
69  virtual void createDetonation( const DtVector& position );
70 
72  virtual void createSplash( const DtVector& position, double speed );
73 
74  protected:
77 
80  {
81  DtSceneObjectAgent* detonationObject;
82  DtParticleSystemModelAgent* detonationModel;
84  };
85 
87  struct SplashData
88  {
89  DtSceneObjectAgent* splashObject;
90  DtWaterImpactModelAgent* splashModel;
92  };
93 
95  typedef std::list<DetonationData> DetonationList;
97  typedef std::list<SplashData> SplashList;
102 
103  };
104 }
DtSceneObjectAgent * splashObject
Definition: DtExampleProjectile.h:89
Detonation over water information.
Definition: DtExampleProjectile.h:87
double timeOfOccurence
Definition: DtExampleProjectile.h:83
std::list< SplashData > SplashList
Detonation (water) list type.
Definition: DtExampleProjectile.h:97
A Record of an IG instance.
Definition: DtDeRecord.h:24
Descriptor for a single intersection result.
Definition: DtIntersectorResult.h:21
std::list< DetonationData > DetonationList
Detonation list type.
Definition: DtExampleProjectile.h:95
Definition: DtExampleProjectile.h:29
DtSceneObjectAgent * detonationObject
Definition: DtExampleProjectile.h:81
Detonation information.
Definition: DtExampleProjectile.h:79
DtObserverShooter * myObserverShooter
Shooter observer reference.
Definition: DtExampleProjectile.h:76
SplashList mySplashObjects
Detonation (water) list.
Definition: DtExampleProjectile.h:101
DtParticleSystemModelAgent * detonationModel
Definition: DtExampleProjectile.h:82
The DtDriver is an abstract class. Developers derive from this to create logic that &quot;directs&quot; things ...
Definition: DtDriver.h:31
DetonationList myDetonationObjects
Detonation list.
Definition: DtExampleProjectile.h:99
#define DT_DLL_EXAMPLEPROJECTILE
Definition: exampleProjectile.h:20
DtWaterImpactModelAgent * splashModel
Definition: DtExampleProjectile.h:90
The DtAgentManager manages the distributed scene object framework. This includes the objects and upda...
Definition: DtAgentManager.h:38
Contains makVrv:DtDriver class.
Definition: DtObserverShooter.h:30
double timeOfOccurence
Definition: DtExampleProjectile.h:91

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)