24 #ifndef _SkyX_VClouds_Lightning_H_
25 #define _SkyX_VClouds_Lightning_H_
30 namespace SkyX {
namespace VClouds {
52 Segment(
const Ogre::Vector3& a_,
const Ogre::Vector3& b_)
76 Lightning(Ogre::SceneManager* sm, Ogre::SceneNode* sn,
77 const Ogre::Vector3& orig,
const Ogre::Vector3& dir,
79 const Ogre::uint32& d,
const Ogre::uint32& rec,
80 const Ogre::Real& tm,
const Ogre::Real& wm,
81 const Ogre::Vector2& b = Ogre::Vector2(0, 1));
98 void update(Ogre::Real timeSinceLastFrame);
129 return mBillboardSet;
152 void _updateRenderQueueGroup(
const Ogre::uint8& rqg);
160 void _updateData(
const Ogre::Real& alpha,
const Ogre::Real& currentPos,
161 const Ogre::Real& parentTime);
164 Ogre::Vector3 mOrigin;
166 Ogre::Vector3 mDirection;
171 Ogre::Real mRealLength;
173 Ogre::uint32 mDivisions;
175 Ogre::uint32 mRecursivity;
182 Ogre::Real mIntensity;
185 Ogre::Real mWidthMultiplier;
188 Ogre::Vector2 mBounds;
191 Ogre::Vector2 mAngleRange;
195 Ogre::Vector3 mTimeMultipliers;
198 std::vector<Segment> mSegments;
200 std::vector<Lightning*> mChildren;
203 Ogre::BillboardSet* mBillboardSet;
207 Ogre::SceneNode* mSceneNode;
const bool & isFinished() const
Has the ray finished?
Definition: Lightning.h:143
const Ogre::Real & getLength() const
Get ray length.
Definition: Lightning.h:111
Ogre::Real mTimeMultiplier
Time multiplier.
Definition: SkyX.h:435
Ogre::Vector3 mTime
Time information: x = time in [0, 24]h range, y = sunrise hour in [0, 24]h range, z = sunset hour in ...
Definition: BasicController.h:125
Segment()
Default constructor.
Definition: Lightning.h:42
void create()
Create SkyX.
Ogre::BillboardSet * getBillboardSet() const
Get billboard set.
Definition: Lightning.h:127
Segment(const Ogre::Vector3 &a_, const Ogre::Vector3 &b_)
Constructor.
Definition: Lightning.h:52
Ogre::Vector3 a
Segment start.
Definition: Lightning.h:59
Ogre::Vector3 b
Segment end.
Definition: Lightning.h:61
Ogre::SceneNode * getSceneNode() const
Get scene node.
Definition: Lightning.h:135
SkyX(Ogre::SceneManager *sm, Controller *c)
Contructor.
const Ogre::Real & getIntensity() const
Get lightning intensity.
Definition: Lightning.h:119
Segment struct.
Definition: Lightning.h:37
const Ogre::Vector3 & getDirection() const
Get ray direction.
Definition: Lightning.h:103
bool mCreated
Is SkyX created?
Definition: SkyX.h:422
Definition: Lightning.h:32
Ogre::SceneManager * mSceneManager
Scene manager.
Definition: SkyX.h:398
class __declspec(dllimport) BasicController void update(const Ogre::Real &simDeltaTime)
Basic controller class.
#define DllExport
Include external headers.
Definition: Prerequisites.h:45