Berserk
Classes | Macros | Typedefs
Core

Core functionality of the engine. More...

Classes

class  Crc32
 Crc32 hashing utility. More...
 
class  Crc32Builder
 Crc32 hash builder. More...
 
class  Engine
 Root manager class. More...
 
class  Event
 Base class for any engine event. More...
 
class  EventDropInput
 Drop input event. More...
 
class  EventJoystick
 Joystick input event. More...
 
class  EventKeyboard
 Keyboard input event. More...
 
class  EventMouse
 Mouse input event. More...
 
class  EventWindow
 Event dispatched when window state changed. More...
 
class  EventDispatcher
 Event dispatcher is responsible for managing engine events. More...
 
class  Image
 Hardware-independent image representation. More...
 
class  ImageUtil
 Image processing utils. More...
 
class  ArgumentParser
 Parser of application input arguments. More...
 
class  Config
 Key-values based config file in plist style. More...
 
class  Logger
 Simpler engine logger class to maintain text log. More...
 
class  LoggerListenerOutput
 Standard output log listener. More...
 
class  Geometry
 Util class to manipulate 3d geometry. More...
 
class  MathUtils
 Math basic functions and constants. More...
 
class  MathUtils2d
 2d space math utils More...
 
class  MathUtils3d
 3d space math utils More...
 
class  TAabb< T >
 Axis-aligned 3d bounding box. More...
 
class  TMatMxN< T, M, N >
 Generic matrix of M x N size for space of type T. More...
 
class  TDetMxN< T, DM, DN >
 Matrix det evaluation helper. More...
 
struct  TDetMxN< T, 1, 1 >
 
struct  TDetMxN< T, 2, 2 >
 
struct  TDetMxN< T, DN, DN >
 
class  TQuat< T >
 General quaternion math class. More...
 
class  Transformf
 3d space transform wrapper class More...
 
class  TVecN< T, N >
 Generic vector class for an N dimensional space base on type T. More...
 
class  Scheduler
 Scheduler is responsible for triggering the scheduled callbacks. More...
 
class  StringUtils
 Utils to work with default string class. More...
 
class  StringName
 Cached shared utf-8 string id. More...
 
class  Unicode
 Unicode encoding utils. More...
 
class  Mask< T, Size >
 Type-safe enum mask wrapper. More...
 
class  Ref< T >
 Automates reference counting and behaves as shared smart pointer. More...
 
class  RefCnt
 Reference counted base object. More...
 
class  Singleton< TInstance >
 Singleton class. More...
 
class  Thread
 Represents thread wrapper used to enqueue commands to execute. More...
 
class  UUID
 16-bytes universally unique identifier More...
 
class  Crc32Hash
 Crc32 hash value type. More...
 
class  EventType
 StringName based event type. More...
 
class  String
 Utf-8 encoded std based default string class. More...
 
class  String8u
 Utf-8 encoded std based default string class. More...
 
class  String16u
 Utf-16 encoded std based string class. More...
 

Macros

#define BRK_LOG(log, level, message)
 
#define BRK_LOG_MESSAGE(log, level, message)
 
#define BRK_INFO(message)    BRK_LOG_MESSAGE(BRK_NS ::Logger::Instance(), BRK_NS ::Logger::Level::Info, message)
 
#define BRK_WARNING(message)    BRK_LOG_MESSAGE(BRK_NS ::Logger::Instance(), BRK_NS ::Logger::Level::Warning, message)
 
#define BRK_ERROR(message)    BRK_LOG_MESSAGE(BRK_NS ::Logger::Instance(), BRK_NS ::Logger::Level::Error, message)
 

Typedefs

using Crc32Hash = uint32
 
using EventType = StringName
 
using Aabbf = TAabb< float >
 
using Mat2x2f = TMatMxN< float, 2, 2 >
 
using Mat3x3f = TMatMxN< float, 3, 3 >
 
using Mat4x4f = TMatMxN< float, 4, 4 >
 
using Quatf = TQuat< float >
 
using Vec2f = TVecN< float, 2 >
 
using Vec3f = TVecN< float, 3 >
 
using Vec4f = TVecN< float, 4 >
 
using Vec2i = TVecN< int32, 2 >
 
using Vec3i = TVecN< int32, 3 >
 
using Vec4i = TVecN< int32, 4 >
 
using Vec2u = TVecN< uint32, 2 >
 
using Vec3u = TVecN< uint32, 3 >
 
using Vec4u = TVecN< uint32, 4 >
 
using Vec2b = TVecN< bool, 2 >
 
using Vec3b = TVecN< bool, 3 >
 
using Vec4b = TVecN< bool, 4 >
 
using Point2i = TVecN< int32, 2 >
 
using Point2f = TVecN< float, 2 >
 
using Size2i = TVecN< int32, 2 >
 
using Size2f = TVecN< float, 2 >
 
using Size2u = TVecN< uint32, 2 >
 
using Rect2i = TVecN< int32, 4 >
 
using Rect2u = TVecN< uint32, 4 >
 
using String = std::string
 
using String8u = String
 
using String16u = std::u16string
 

Detailed Description

Core functionality of the engine.

Provides access to engine core functionality, used among others runtime modules. Defines essential engine building blocks, such as strings manipulation and encoding, events, config, io, engine globals access, such as event dispatcher, scheduler, platform manager, and etc.

Macro Definition Documentation

◆ BRK_ERROR

#define BRK_ERROR (   message)     BRK_LOG_MESSAGE(BRK_NS ::Logger::Instance(), BRK_NS ::Logger::Level::Error, message)

Log error message to the default logger

◆ BRK_INFO

#define BRK_INFO (   message)     BRK_LOG_MESSAGE(BRK_NS ::Logger::Instance(), BRK_NS ::Logger::Level::Info, message)

Log info message to the default logger

◆ BRK_LOG

#define BRK_LOG (   log,
  level,
  message 
)
Value:
do { \
(log).Log(level, message, __FUNCTION__, __FILE__, static_cast<BRK_NS ::size_t>(__LINE__)); \
} while (false);
#define BRK_NS
Definition: Config.hpp:50

◆ BRK_LOG_MESSAGE

#define BRK_LOG_MESSAGE (   log,
  level,
  message 
)
Value:
if ((log).ShouldLog(level)) { \
std::stringstream ss; \
ss << message; \
BRK_LOG(log, level, ss.str()); \
} else { \
}

◆ BRK_WARNING

#define BRK_WARNING (   message)     BRK_LOG_MESSAGE(BRK_NS ::Logger::Instance(), BRK_NS ::Logger::Level::Warning, message)

Log warning message to the default logger

Typedef Documentation

◆ Aabbf

using Aabbf = TAabb<float>

◆ Crc32Hash

using Crc32Hash = uint32

◆ EventType

◆ Mat2x2f

using Mat2x2f = TMatMxN<float, 2, 2>

◆ Mat3x3f

using Mat3x3f = TMatMxN<float, 3, 3>

◆ Mat4x4f

using Mat4x4f = TMatMxN<float, 4, 4>

◆ Point2f

using Point2f = TVecN<float, 2>

◆ Point2i

using Point2i = TVecN<int32, 2>

◆ Quatf

using Quatf = TQuat<float>

◆ Rect2i

using Rect2i = TVecN<int32, 4>

◆ Rect2u

using Rect2u = TVecN<uint32, 4>

◆ Size2f

using Size2f = TVecN<float, 2>

◆ Size2i

using Size2i = TVecN<int32, 2>

◆ Size2u

using Size2u = TVecN<uint32, 2>

◆ String

using String = std::string

◆ String16u

using String16u = std::u16string

◆ String8u

using String8u = String

◆ Vec2b

using Vec2b = TVecN<bool, 2>

◆ Vec2f

using Vec2f = TVecN<float, 2>

◆ Vec2i

using Vec2i = TVecN<int32, 2>

◆ Vec2u

using Vec2u = TVecN<uint32, 2>

◆ Vec3b

using Vec3b = TVecN<bool, 3>

◆ Vec3f

using Vec3f = TVecN<float, 3>

◆ Vec3i

using Vec3i = TVecN<int32, 3>

◆ Vec3u

using Vec3u = TVecN<uint32, 3>

◆ Vec4b

using Vec4b = TVecN<bool, 4>

◆ Vec4f

using Vec4f = TVecN<float, 4>

◆ Vec4i

using Vec4i = TVecN<int32, 4>

◆ Vec4u

using Vec4u = TVecN<uint32, 4>