Renders multiple instances of a single base 3D renderable object.
More...
#include <V3DBatchModelGroup.h>
|
| V3DBatchModelGroup (V3DObject *BaseObject, unsigned int MaxSize=0) |
|
virtual void | Destroy () override |
| Revives all dead objects before reviving the group itself.
|
|
void | UpdateShader (V3DCamera *camera, V3DShader *shader) |
|
virtual void | Draw (sf::RenderTarget &RenderTarget) override |
|
| VGroup (unsigned int maxSize=0) |
|
int | Length () |
|
VBase * | Add (VBase *object) |
|
VBase * | Remove (VBase *object, bool splice=false) |
|
VBase * | FirstAvailable () |
|
int | FirstNULL () |
|
VBase * | FirstExisting () |
|
VBase * | FirstAlive () |
|
VBase * | FirstDead () |
|
int | CountAlive (bool Recursive=false) |
|
int | CountDead (bool Recursive=false) |
|
VBase * | GetRandom (int min=0, int max=0) |
|
void | ForEach (std::function< void(VBase *)> function, bool recursive=false) |
|
void | ForEachAlive (std::function< void(VBase *)> function, bool recursive=false) |
|
void | ForEachDead (std::function< void(VBase *)> function, bool recursive=false) |
|
void | ForEachExists (std::function< void(VBase *)> function, bool recursive=false) |
|
VBase * | GetGroupItem (int index) |
|
template<class T > |
T * | GetGroupItemAsType (int index) |
|
int | GetIndexOfItem (VBase *object) |
|
void | OrganiseNULLS () |
| Sort nullptr members to the bottom of the group.
|
|
void | Swap (int a, int b) |
|
void | Sort (std::function< bool(VBase *, VBase *)> func) |
|
void | Reverse () |
| Reverse order of group.
|
|
void | Clear () |
| Clears the whole group (does not destroy any of the members, that must be done using the Destroy method).
|
|
virtual void | Kill () override |
| Kills all living objects before killing the group itself.
|
|
virtual void | Revive () override |
| Revives all dead objects before reviving the group itself.
|
|
virtual void | Update (float dt) override |
|
|
typedef VBase | VSUPERCLASS |
| Used to call parent class functions when they are overrided in class.
|
|
static const wchar_t * | VString (const char *fmt,...) |
|
static void | VLog (const char *fmt,...) |
|
static void | VLogError (const char *fmt,...) |
|
static void | VClearLog () |
|
bool | active = true |
| Base can be updated using Update if true.
|
|
bool | visible = true |
| Base can be rendered using Draw if true.
|
|
bool | alive = true |
| Helper member that is mainly used filter out behaviours to objects which aren't alive in the scene.
|
|
bool | exists = true |
| Base can be updated and rendered if true, else it would no longer be treated as being part of the scene.
|
|
VType | type = NONE |
| Base object type, typically set in the constructor of an inherited object to specify what type it is.
|
|
uint32_t | RefCount = 0 |
| Counts the amount of times the object is referenced in groups, ensures an object is only destroyed when no longer part of a single group.
|
|
std::vector< VBase * > | members |
| VBase List.
|
|
int | length = 0 |
| Current amount of members in the list.
|
|
unsigned int | MaxSize = 0 |
| Maximum Size of the list, used if VGroup is set to have a fixed size.
|
|
Renders multiple instances of a single base 3D renderable object.
◆ V3DBatchModelGroup()
V3DBatchModelGroup::V3DBatchModelGroup |
( |
V3DObject * |
BaseObject, |
|
|
unsigned int |
MaxSize = 0 |
|
) |
| |
- Parameters
-
BaseObject | The base 3D object that is used for rendering multiple instances. |
MaxSize | The fixed length of the group. If 0, then the VGroup has no limit in size. |
◆ Draw()
virtual void V3DBatchModelGroup::Draw |
( |
sf::RenderTarget & |
RenderTarget | ) |
|
|
overridevirtual |
Renders all alive and visible objects in the group.
- Parameters
-
RenderTarget | The game's sf::RenderTarget object to render data onto. |
Reimplemented from VGroup.
◆ UpdateShader()
Updates the shader with the current camera and object specific values.
- Parameters
-
shader | The scene shader. |
camera | The scene camera. |
The documentation for this class was generated from the following file: