namespace hiro

Overview

Global engine namespace containing core definitions. More…

namespace hiro {

// namespaces

namespace hiro::draw;
namespace hiro::gui;
namespace hiro::modules;
namespace hiro::shader;

// typedefs

typedef std::shared_ptr<hiro::Gadget> PGadget;
typedef std::function<void(const std::vector<std::string>&)> FileDropCallback;
typedef std::function<void(const hiro::Key&, const hiro::ModKeys&)> KeyCallback;
typedef std::shared_ptr<hiro::Resource> PResource;

// enums

enum BoolFunc;
enum EventStatus;
enum Key;
enum Mod;
enum MouseButton;

// structs

struct ActiveResourceInfo;
struct ResourceId;

// classes

class Camera;
class Debugger;
class Exportable;
class Gadget;
class GuiGenerator;
class GuiPanel;
class ModKeys;
class Resource;

// global functions

HIRO_API hiro::Camera::Pose Interpolate(const hiro::Camera::Pose& p0, const hiro::Camera::Pose& p1, float t);
HIRO_API hiro::Camera::Pose InterpolateCubic(const hiro::Camera::Pose& p0, const hiro::Camera::Pose& p1, const hiro::Camera::Pose& p2, const hiro::Camera::Pose& p3, float t);
HIRO_API utils::Version GetVersion();
HIRO_API void SetIntermediateDirectory(const std::string& dir);
HIRO_API void SetAssetDirectory(const std::string& dir);
HIRO_API bool Initialize();
HIRO_API bool Initialize(const std::string& custom_look);
HIRO_API void Terminate();
HIRO_API bool IsOpen();
HIRO_API void Update();
HIRO_API void AddResource(const hiro::PResource& resource);
HIRO_API void RemoveAllResources();
HIRO_API void RemoveResourcesWithPrefix(const std::string& prefix);
HIRO_API std::vector<hiro::ActiveResourceInfo> GetActiveResources();
HIRO_API hiro::Debugger& Debug();
HIRO_API void SetFileDropCallback(const FileDropCallback&);
HIRO_API void SetKeyDownCallback(const KeyCallback&);
HIRO_API void SetKeyUpCallback(const KeyCallback&);
HIRO_API bool IsAxesVisible(uint8_t viewarea_id);
HIRO_API void SetAxesVisible(uint8_t viewarea_id, bool visible);
HIRO_API void SetSidebarVisible(uint8_t viewarea_id, bool visible);
HIRO_API cogs::Color3b GetBackgroundColor();

} // namespace hiro

Detailed Documentation

Global engine namespace containing core definitions.

Typedefs

typedef std::shared_ptr<hiro::Gadget> PGadget

Shared pointer to Gadget.

typedef std::shared_ptr<hiro::Resource> PResource

Shared pointer to Resource.

Global Functions

HIRO_API hiro::Camera::Pose Interpolate(const hiro::Camera::Pose& p0, const hiro::Camera::Pose& p1, float t)

Interpolates two camera poses using linear interpolation.

Parameters:

p0

Start pose.

p1

End pose.

t

Interpolation factor in range <0,1>, where 0 returns p0 and 1 returns p1.

Returns:

Interpolated pose.

HIRO_API hiro::Camera::Pose InterpolateCubic(const hiro::Camera::Pose& p0, const hiro::Camera::Pose& p1, const hiro::Camera::Pose& p2, const hiro::Camera::Pose& p3, float t)

Interpolates camera poses using cubic spline interpolation.

Parameters:

p0

Pose before start pose.

p1

Start pose.

p2

End pose.

p3

Pose after end pose.

t

Interpolation factor in range <0,1>.

Returns:

Interpolated pose.

HIRO_API utils::Version GetVersion()

Returns current library version.

HIRO_API void SetIntermediateDirectory(const std::string& dir)

Sets directory where hiro stores temporal cache data.

Needs to be called before initialization using hiro::Initialize().

HIRO_API void SetAssetDirectory(const std::string& dir)

Sets directory where are sub-folders “resources” and “shaders” present.

Needs to be called before initialization using hiro::Initialize().

HIRO_API bool Initialize()

Initializes the library. From this moment the library can be fully used.

HIRO_API bool Initialize(const std::string& custom_look)

Initializes the library with custom look visuals of application on startup.

Not available in educational version of HIRO library.

HIRO_API void Terminate()

Terminates the library. Call to release all HIRO related data.

HIRO_API bool IsOpen()

Check whether hiro window has not been closed.

HIRO_API void Update()

Updates window and redraws if required.

Ensure that this function is called regularly in your application. If not, it may cause window freezing and lag.

HIRO_API void AddResource(const hiro::PResource& resource)

Add specified resource to the list of available resources.

HIRO_API void RemoveAllResources()

Remove all resources from the list of available resources.

HIRO_API void RemoveResourcesWithPrefix(const std::string& prefix)

Remove all resources whose name includes prefix from the list of available resources.

HIRO_API std::vector<hiro::ActiveResourceInfo> GetActiveResources()

Returns information about all resources currently active in context.

Active Resource objects are the ones that were used to create at least one Gadget ant it still exists.

HIRO_API hiro::Debugger& Debug()

Returns handle to visual debugger.

The visual debugger provides visualization of debug objects, useful fo visual feedback. When the library is not initialized yet, this function throws std::runtime_error.

HIRO_API void SetFileDropCallback(const FileDropCallback&)

Sets a unique function called when files are dropped onto an active HIRO window.

HIRO_API void SetKeyDownCallback(const KeyCallback&)

Sets a unique function called when a key is pressed in an active HIRO window.

HIRO_API void SetKeyUpCallback(const KeyCallback&)

Sets a unique function called when a key is released in an active HIRO window.

HIRO_API bool IsAxesVisible(uint8_t viewarea_id)

Returns axes visibility state in the viewarea with the given id.

HIRO_API void SetAxesVisible(uint8_t viewarea_id, bool visible)

Sets axes visibility in the viewarea with the given id.

HIRO_API void SetSidebarVisible(uint8_t viewarea_id, bool visible)

Sets gui panel visibility in the viewarea with the given id.

HIRO_API cogs::Color3b GetBackgroundColor()

Return background color.