diff options
Diffstat (limited to '')
-rw-r--r-- | libraries/irrlicht-1.8/include/IBillboardSceneNode.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/libraries/irrlicht-1.8/include/IBillboardSceneNode.h b/libraries/irrlicht-1.8/include/IBillboardSceneNode.h new file mode 100644 index 0000000..7776532 --- /dev/null +++ b/libraries/irrlicht-1.8/include/IBillboardSceneNode.h | |||
@@ -0,0 +1,75 @@ | |||
1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt | ||
2 | // This file is part of the "Irrlicht Engine". | ||
3 | // For conditions of distribution and use, see copyright notice in irrlicht.h | ||
4 | |||
5 | #ifndef __I_BILLBOARD_SCENE_NODE_H_INCLUDED__ | ||
6 | #define __I_BILLBOARD_SCENE_NODE_H_INCLUDED__ | ||
7 | |||
8 | #include "ISceneNode.h" | ||
9 | |||
10 | namespace irr | ||
11 | { | ||
12 | namespace scene | ||
13 | { | ||
14 | |||
15 | //! A billboard scene node. | ||
16 | /** A billboard is like a 3d sprite: A 2d element, | ||
17 | which always looks to the camera. It is usually used for explosions, fire, | ||
18 | lensflares, particles and things like that. | ||
19 | */ | ||
20 | class IBillboardSceneNode : public ISceneNode | ||
21 | { | ||
22 | public: | ||
23 | |||
24 | //! Constructor | ||
25 | IBillboardSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 id, | ||
26 | const core::vector3df& position = core::vector3df(0,0,0)) | ||
27 | : ISceneNode(parent, mgr, id, position) {} | ||
28 | |||
29 | //! Sets the size of the billboard, making it rectangular. | ||
30 | virtual void setSize(const core::dimension2d<f32>& size) = 0; | ||
31 | |||
32 | //! Sets the size of the billboard with independent widths of the bottom and top edges. | ||
33 | /** \param[in] height The height of the billboard. | ||
34 | \param[in] bottomEdgeWidth The width of the bottom edge of the billboard. | ||
35 | \param[in] topEdgeWidth The width of the top edge of the billboard. | ||
36 | */ | ||
37 | virtual void setSize(f32 height, f32 bottomEdgeWidth, f32 topEdgeWidth) = 0; | ||
38 | |||
39 | //! Returns the size of the billboard. | ||
40 | /** This will return the width of the bottom edge of the billboard. | ||
41 | Use getWidths() to retrieve the bottom and top edges independently. | ||
42 | \return Size of the billboard. | ||
43 | */ | ||
44 | virtual const core::dimension2d<f32>& getSize() const = 0; | ||
45 | |||
46 | //! Gets the size of the the billboard and handles independent top and bottom edge widths correctly. | ||
47 | /** \param[out] height The height of the billboard. | ||
48 | \param[out] bottomEdgeWidth The width of the bottom edge of the billboard. | ||
49 | \param[out] topEdgeWidth The width of the top edge of the billboard. | ||
50 | */ | ||
51 | virtual void getSize(f32& height, f32& bottomEdgeWidth, f32& topEdgeWidth) const =0; | ||
52 | |||
53 | //! Set the color of all vertices of the billboard | ||
54 | /** \param[in] overallColor Color to set */ | ||
55 | virtual void setColor(const video::SColor& overallColor) = 0; | ||
56 | |||
57 | //! Set the color of the top and bottom vertices of the billboard | ||
58 | /** \param[in] topColor Color to set the top vertices | ||
59 | \param[in] bottomColor Color to set the bottom vertices */ | ||
60 | virtual void setColor(const video::SColor& topColor, | ||
61 | const video::SColor& bottomColor) = 0; | ||
62 | |||
63 | //! Gets the color of the top and bottom vertices of the billboard | ||
64 | /** \param[out] topColor Stores the color of the top vertices | ||
65 | \param[out] bottomColor Stores the color of the bottom vertices */ | ||
66 | virtual void getColor(video::SColor& topColor, | ||
67 | video::SColor& bottomColor) const = 0; | ||
68 | }; | ||
69 | |||
70 | } // end namespace scene | ||
71 | } // end namespace irr | ||
72 | |||
73 | |||
74 | #endif | ||
75 | |||