aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/include/IBillboardSceneNode.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/irrlicht-1.8.1/include/IBillboardSceneNode.h')
-rw-r--r--src/others/irrlicht-1.8.1/include/IBillboardSceneNode.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/include/IBillboardSceneNode.h b/src/others/irrlicht-1.8.1/include/IBillboardSceneNode.h
new file mode 100644
index 0000000..7776532
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/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
10namespace irr
11{
12namespace scene
13{
14
15//! A billboard scene node.
16/** A billboard is like a 3d sprite: A 2d element,
17which always looks to the camera. It is usually used for explosions, fire,
18lensflares, particles and things like that.
19*/
20class IBillboardSceneNode : public ISceneNode
21{
22public:
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