Emergency 20 Dokumentation  4.2.0
SimpleFireHoseMeshGenerator.h
Go to the documentation of this file.
1 // Copyright (C) 2012-2018 Promotion Software GmbH
2 
3 
4 //[-------------------------------------------------------]
5 //[ Header guard ]
6 //[-------------------------------------------------------]
7 #pragma once
8 
9 
10 //[-------------------------------------------------------]
11 //[ Includes ]
12 //[-------------------------------------------------------]
13 #include "em5/Export.h"
14 
16 
17 
18 //[-------------------------------------------------------]
19 //[ Forward declarations ]
20 //[-------------------------------------------------------]
21 namespace Ogre
22 {
23  namespace v1
24  {
25  class Entity;
26  }
27 }
28 namespace em5
29 {
30  class SimpleFireHoseComponent;
31 }
32 
33 
34 //[-------------------------------------------------------]
35 //[ Namespace ]
36 //[-------------------------------------------------------]
37 namespace em5
38 {
39 
40 
41  //[-------------------------------------------------------]
42  //[ Classes ]
43  //[-------------------------------------------------------]
49  {
50 
51 
52  //[-------------------------------------------------------]
53  //[ Public definitions ]
54  //[-------------------------------------------------------]
55  public:
57  {
58  glm::vec3 mCoefficients[4];
59  };
60 
61 
62  //[-------------------------------------------------------]
63  //[ Public methods ]
64  //[-------------------------------------------------------]
65  public:
71 
80 
97  bool createMesh(const std::string& ogreMeshName, const SimpleFireHoseComponent& fireHoseComponent, uint32 sectionIndex, bool ghost);
98 
115  bool updateMesh(Ogre::v1::Entity& ogreEntity, const SimpleFireHoseComponent& fireHoseComponent, uint32 sectionIndex, bool ghost);
116 
117  void buildSectionSpline(const SimpleFireHoseComponent& fireHoseComponent, uint32 sectionIndex, SectionSpline& outSpline);
118  void evaluateSectionSpline(const SectionSpline& spline, float t, glm::vec3& outPosition, glm::vec3& outDirection);
119 
120 
121  //[-------------------------------------------------------]
122  //[ Private methods ]
123  //[-------------------------------------------------------]
124  private:
125  void fillMeshGenerator(const SimpleFireHoseComponent& fireHoseComponent, uint32 sectionIndex, bool ghost);
126 
127 
128  };
129 
130 
131 //[-------------------------------------------------------]
132 //[ Namespace ]
133 //[-------------------------------------------------------]
134 } // em5
Definition: ActionPriority.h:13
unsigned int uint32
Definition: PlatformTypes.h:181
#define EM5_API_EXPORT
Definition: Export.h:28
Mesh generator class.
Definition: MeshGenerator.h:65
Simple fire hose mesh generator class.
Definition: SimpleFireHoseMeshGenerator.h:48
Simple fire hose component based on existing implementation.
Definition: SimpleFireHoseComponent.h:56
Definition: SimpleFireHoseMeshGenerator.h:56
Definition: BuildingClippingManager.h:23