Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
IBillboardSceneNode.hpp
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 nirtcpp/nirtcpp.hpp
4
5#ifndef NIRT_I_BILLBOARD_SCENE_NODE_HPP_INCLUDED
6#define NIRT_I_BILLBOARD_SCENE_NODE_HPP_INCLUDED
7
8#include <nirtcpp/core/engine/ISceneNode.hpp>
9
10namespace nirt
11{
12namespace scene
13{
14 class ICameraSceneNode;
15 class IMeshBuffer;
16
18
23{
24public:
25
28 const core::vector3df& position = core::vector3df(0,0,0))
29 : ISceneNode(parent, mgr, id, position) {}
30
32 virtual void setSize(const core::dimension2d<f32>& size) = 0;
33
35
39 virtual void setSize(f32 height, f32 bottomEdgeWidth, f32 topEdgeWidth) = 0;
40
42
46 virtual const core::dimension2d<f32>& getSize() const = 0;
47
49
53 virtual void getSize(f32& height, f32& bottomEdgeWidth, f32& topEdgeWidth) const =0;
54
56
57 virtual void setColor(const video::SColor& overallColor) = 0;
58
60
62 virtual void setColor(const video::SColor& topColor,
63 const video::SColor& bottomColor) = 0;
64
66
68 virtual void getColor(video::SColor& topColor,
69 video::SColor& bottomColor) const = 0;
70
72
78
80
81 virtual u32 getMeshBufferCount() const = 0;
82
84
88 virtual IMeshBuffer* getMeshBuffer(u32 nr) const = 0;
89};
90
91} // end namespace scene
92} // end namespace nirt
93
94#endif
Axis aligned bounding box in 3d dimensional space.
Definition aabbox3d.hpp:22
A billboard scene node.
Definition IBillboardSceneNode.hpp:23
virtual void setColor(const video::SColor &topColor, const video::SColor &bottomColor)=0
Set the color of the top and bottom vertices of the billboard.
virtual void getColor(video::SColor &topColor, video::SColor &bottomColor) const =0
Gets the color of the top and bottom vertices of the billboard.
IBillboardSceneNode(ISceneNode *parent, ISceneManager *mgr, s32 id, const core::vector3df &position=core::vector3df(0, 0, 0))
Constructor.
Definition IBillboardSceneNode.hpp:27
virtual const core::aabbox3d< f32 > & getTransformedBillboardBoundingBox(const nirt::scene::ICameraSceneNode *camera)=0
Get the real boundingbox used by the billboard, which can depend on the active camera.
virtual void setSize(f32 height, f32 bottomEdgeWidth, f32 topEdgeWidth)=0
Sets the size of the billboard with independent widths of the bottom and top edges.
virtual const core::dimension2d< f32 > & getSize() const =0
Returns the size of the billboard.
virtual u32 getMeshBufferCount() const =0
Get the amount of mesh buffers.
virtual void setColor(const video::SColor &overallColor)=0
Set the color of all vertices of the billboard.
virtual void setSize(const core::dimension2d< f32 > &size)=0
Sets the size of the billboard, making it rectangular.
virtual IMeshBuffer * getMeshBuffer(u32 nr) const =0
Get pointer to a mesh buffer.
virtual void getSize(f32 &height, f32 &bottomEdgeWidth, f32 &topEdgeWidth) const =0
Gets the size of the the billboard and handles independent top and bottom edge widths correctly.
Scene Node which is a (controllable) camera.
Definition ICameraSceneNode.hpp:24
Class for holding a mesh with a single material.
Definition IMeshBuffer.hpp:41
The Scene Manager manages scene nodes, mesh resources, cameras and all the other stuff.
Definition ISceneManager.hpp:160
Scene node interface.
Definition ISceneNode.hpp:43
Class representing a 32 bit ARGB color.
Definition SColor.hpp:317
As of Nirtcpp 1.6, position2d is a synonym for vector2d.
Definition vector3d.hpp:11
signed int s32
32 bit signed variable.
Definition irrTypes.hpp:72
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.hpp:64
float f32
32 bit floating point variable.
Definition irrTypes.hpp:110

Nirtcpp    @cppfx.xyz

Esvcpp    esv::print