nCine::Object class

Base class of all nCine objects.

Provides each derived object with a unique identifier and a run-time type tag (ObjectType) usable for lightweight type checks without RTTI.

Derived classes

class AudioBuffer
Fully decoded OpenAL audio buffer.
class IAudioPlayer
Interface for an audio player.
class SceneNode
Base node of the scene graph transformation hierarchy.
class Shader
GPU shader program usable by materials and drawable nodes.
class Texture
Image data uploaded to the GPU and sampled by shaders.

Public types

enum class ObjectType { Base = 0, Texture, Shader, SceneNode, Sprite, MeshSprite, AnimatedSprite, Particle, ParticleSystem, AudioBuffer, AudioBufferPlayer, AudioStreamPlayer }
Run-time type of an object.

Public static functions

static auto sType() -> ObjectType
Returns the static type of this class.

Constructors, destructors, conversion operators

Object(ObjectType type) explicit
Constructs an object of the specified type and assigns it a unique identifier.
~Object() pure virtual
Object(Object&& other) noexcept
Object(const Object& other) protected
Protected copy constructor used to clone objects.

Public functions

auto operator=(Object&& other) -> Object& noexcept
auto id() const -> unsigned int
Returns the unique object identifier.
auto type() const -> ObjectType
Returns the run-time object type.

Protected variables

ObjectType _type
Run-time object type.