Annwvyn Namespace Reference

Namespace containing the totality of Annwvyn components. More...

Namespaces

 ChaiScriptAPIDoc
 
 KeyCode
 

Classes

class  Ann3DTextPlane
 Abstract movable implementation : Manual plane object with some text rendered on it. More...
 
class  AnnAbstractMovable
 Abstract Class that represent an bobject that you can set the orientation. More...
 
class  AnnAbstractTranslatable
 Abstract Class that represent a an object that you can set the position. Define the API used to move simple objects in 3D space. More...
 
class  AnnAngle
 Angle object factory. More...
 
class  AnnAudioEngine
 Class that handle the OpenAL audio. More...
 
class  AnnAudioFile
 
class  AnnAudioFileManager
 
class  AnnAudioSource
 Represent an audio source in the engine. More...
 
class  AnnBehaviorScript
 Object that reprenset a script defining an object "behavior". More...
 
class  AnnCollisionEvent
 Collision event between 2 game objects. More...
 
class  AnnColor
 Class that represent a 4 channel color value. More...
 
class  AnnConsole
 In engine - On screen floating console. More...
 
class  AnnDebug
 Open an output stream to the engine log. More...
 
class  AnnDefaultEventListener
 Default event listener. More...
 
class  AnnDefaultPlayerActuator
 Class that overload the "actuate" method of the abstract actuator. More...
 
class  AnnDegree
 An angle in Degree. More...
 
class  AnnEngine
 Main engine class. Creating an instance of this class make the engine start. More...
 
class  AnnEngineSingletonReseter
 Utility class for AnnEngine. More...
 
class  AnnEvent
 An input event. More...
 
class  AnnEventListener
 Base class for all event listener. More...
 
class  AnnEventManager
 Event Manager : Object that handle the event system. More...
 
class  AnnFileReader
 Handle opening, reading and closing files. More...
 
class  AnnFilesystemManager
 Manage where and how files will be wrote and read from the OS file-system. More...
 
class  AnnFileWriter
 Handle opening, writing and closing files. More...
 
class  AnnGameObject
 An object that exist in the game. Graphically and Potentially Physically. More...
 
class  AnnGameObjectManager
 Game object manager. Create, destroy and keep track of objects, lights and other movable stuff. More...
 
class  AnnHandController
 Represent an hand controller tracked by the VR system and that the user is actively using. Contains position, orientation, buttons and analog inputs. More...
 
class  AnnHandControllerAxis
 Represent the axis of an hand controller. More...
 
class  AnnHandControllerEvent
 A hand controller event. More...
 
class  AnnInitializationError
 Exception regarding engine utilisation. See message. More...
 
class  AnnInvalidControllerSide
 Exception in hand controller "side" detection. More...
 
class  AnnInvalidPhysicalShapeError
 Exception regarding collision shape creation. More...
 
class  AnnKeyEvent
 A keyboard event. More...
 
class  AnnLevel
 Base class for all Levels. Is abstract. More...
 
class  AnnLevelManager
 Class that take care of switching between different levels dynamically and clearing the memory afterwards. More...
 
class  AnnLightObject
 Light Object : Represent a light source. More...
 
class  AnnMouseAxis
 A mouse axis information object. More...
 
class  AnnMouseEvent
 A mouse event information object. More...
 
class  AnnNullGameObjectError
 Exception regarding an AnnGameObject that was null when it wasnt. More...
 
class  AnnOgreNoVRRenderer
 Dummy VR renderer, just render the scene to a window like a non vr game. Doesn't need special hardware or runtime to run. More...
 
class  AnnOgreVRRenderer
 Abstract class for VR Renderers. Serve as interface between Annwvyn, and "OgreHMDRender" object. More...
 
class  AnnPhysicsEngine
 Class that abstract the physics engine initialization and collision information queries for Annwvyn. More...
 
class  AnnPhysicsSetupChildError
 Exception relating physics setup and parent/child objects. More...
 
class  AnnPhysicsSetupParentError
 Exception to throw when a physics enabled object will cause object coordinates reset. More...
 
class  AnnPlayerActuator
 Callback class that permit you to define how physics is applied to the player. More...
 
class  AnnPlayerBody
 class that represent the player. This is the user's "Virtual body" in the world. It's the object that you have to move and turn to explore the space. More...
 
class  AnnPlayerCollisionEvent
 Collision between the player and another object. More...
 
struct  AnnPose
 A pose refer to the combination of a position and an orientation. It permit to define the placement of an object with 6DOF. More...
 
class  AnnQuaternion
 Represent a Quaternion. More...
 
class  AnnRadian
 An angle in Radian. More...
 
class  AnnResourceManager
 Annwvyn interface class with Ogre's ResourceGroupManager. More...
 
class  AnnSaveDataInterpretor
 Interface class to switch from text to useful data. More...
 
class  AnnSaveFileData
 Class that holds data to read or write. More...
 
class  AnnSceneryManager
 Scenery Manager. Set the scene rendering parameters, like the exposure or the ambient lighting... More...
 
class  AnnScriptFile
 Ogre resource that contains the source code of a loaded .chai file. More...
 
class  AnnScriptFileResourceManager
 Chaiscript File ResourceManager. More...
 
class  AnnScriptFileSerializer
 Chaiscript File Serializer. More...
 
class  AnnScriptManager
 Script Manager, serve as an interface between ChaiScript and the rest of the engine. More...
 
class  AnnSplashLevel
 "Level" that display an image on a giant plane, then jump to another level after a timeout More...
 
class  AnnStickAxis
 A joystick axis. More...
 
class  AnnStickEvent
 A joystick event. More...
 
class  AnnStickPov
 Represent a pad's POV controller. More...
 
class  AnnStringUility
 String management utility. Every hashed string in the engine is generated by this object. More...
 
class  AnnSubSystem
 Parent class of all Annwvyn SubSystem. More...
 
class  AnnTextInputer
 This class permit to get text input from the keyboard. More...
 
class  AnnTimeEvent
 A timer timeout event. More...
 
class  AnnTimer
 Internal utility class that represent a timer. More...
 
class  AnnTriggerEvent
 Trigger in/out event. More...
 
class  AnnTriggerObject
 Object for representing a volume that trigger an event. More...
 
class  AnnTriggerObjectShapeGenerator
 Shape generator. Just a bunch of static methods. You will need to de-alliocate them by hand. More...
 
class  AnnUserSpaceEvent
 Base class of an event created by user space code. More...
 
class  AnnUserSpaceEventLauncher
 Class that can send a user space event to the event manager. More...
 
class  AnnUserSubSystem
 User defined subsystem base class. More...
 
class  AnnVect3
 A 3D Vector. More...
 
class  AnnXmlLevel
 A level loaded from an XML file. More...
 
class  JoystickBuffer
 Internal utility class that store joystick information. RAII the oisJoystick object given to constructor. More...
 

Typedefs

using AnnAudioSourcePtr = std::shared_ptr< AnnAudioSource >
 
using AnnAudioEnginePtr = std::shared_ptr< AnnAudioEngine >
 
using AnnAudioFilePtr = Ogre::SharedPtr< AnnAudioFile >
 
using AnnConsolePtr = std::shared_ptr< AnnConsole >
 
using AnnEventManagerPtr = std::shared_ptr< AnnEventManager >
 
using ButtonId = int
 A joystick event. More...
 
using StickAxisId = int
 
using PovId = int
 
using timerID = int
 
using AnnEventListenerPtr = std::shared_ptr< AnnEventListener >
 
using AnnEventListenerWeakPtr = std::weak_ptr< AnnEventListener >
 
using AnnFileWriterPtr = std::shared_ptr< AnnFileWriter >
 
using AnnFileReaderPtr = std::shared_ptr< AnnFileReader >
 
using AnnSaveFileDataPtr = std::shared_ptr< AnnSaveFileData >
 
using AnnFilesystemManagerPtr = std::shared_ptr< AnnFilesystemManager >
 
using AnnGameObjectPtr = std::shared_ptr< AnnGameObject >
 
using AnnGameObjectManagerPtr = std::shared_ptr< AnnGameObjectManager >
 
using AnnHandControllerID = size_t
 ID of an hand controller is the index of an array. using size_t s. More...
 
using AnnHandControllerPtr = std::shared_ptr< AnnHandController >
 
using AnnLevelPtr = std::shared_ptr< AnnLevel >
 
using level_id = size_t
 
using AnnLevelManagerPtr = std::shared_ptr< AnnLevelManager >
 
using GLuintPair = std::array< GLuint, 2 >
 
using AnnOgreVRRendererPtr = std::shared_ptr< AnnOgreVRRenderer >
 
using AnnPhysicsEnginePtr = std::shared_ptr< AnnPhysicsEngine >
 
using AnnPlayerBodyPtr = std::shared_ptr< AnnPlayerBody >
 
using AnnResourceManagerPtr = std::shared_ptr< AnnResourceManager >
 
using AnnSceneryManagerPtr = std::shared_ptr< AnnSceneryManager >
 
using AnnScriptFilePtr = Ogre::SharedPtr< AnnScriptFile >
 Easy define of the shared pointer. More...
 
using AnnScriptManagerPtr = std::shared_ptr< AnnScriptManager >
 
using AnnStringUtilityPtr = std::shared_ptr< AnnStringUility >
 
using AnnSubSystemPtr = std::shared_ptr< AnnSubSystem >
 
using AnnVect2 = Ogre::Vector2
 Harmonize names : More...
 
using AnnMatrix3 = Ogre::Matrix3
 
using AnnMatrix4 = Ogre::Matrix4
 
using AnnTriggerObjectList = std::list< std::shared_ptr< AnnTriggerObject > >
 
using AnnGameObjectList = std::list< std::shared_ptr< AnnGameObject > >
 
using AnnLightList = std::list< std::shared_ptr< AnnLightObject > >
 
using byte = uint8_t
 Because sometimes, after one byte you're full... More...
 
using uID = unsigned long long
 
using AnnUserSpaceEventPtr = std::shared_ptr< AnnUserSpaceEvent >
 
using AnnUserSubSystemPtr = std::shared_ptr< AnnUserSubSystem >
 

Enumerations

enum  AnnEventType {
  NO_TYPE, USER_INPUT, TIMER_TIMEOUT, TRIGGER_CONTACT,
  HAND_CONTROLLER, COLLISION, PLAYER_COLLISION
}
 
enum  MouseAxisId {
  X, Y, Z, nbAxes,
  invalidAxis
}
 Name and number of axes. More...
 
enum  MouseButtonId {
  Left, Right, Middle, Button3,
  Button4, Button5, Button6, Button7,
  nbButtons, invalidButton
}
 Name and number of mouse button. More...
 
enum  AnnPlayerMode { STANDING, ROOMSCALE }
 
enum  walkDirection { forward, backward, left, right }
 Correspondence between array position and walk direction for the "walking" array. More...
 
enum  phyShapeType {
  staticShape, convexShape, boxShape, cylinderShape,
  capsuleShape, sphereShape
}
 

Functions

AnnEngineAnnGetEngine ()
 Get the current instance of AnnEngine. More...
 
AnnAudioEnginePtr AnnGetAudioEngine ()
 Get the audio engine. More...
 
AnnPhysicsEnginePtr AnnGetPhysicsEngine ()
 Get the physics engine. More...
 
AnnFilesystemManagerPtr AnnGetFileSystemManager ()
 Get the file-system manager. More...
 
AnnLevelManagerPtr AnnGetLevelManager ()
 Get the level manager. More...
 
AnnEventManagerPtr AnnGetEventManager ()
 Get the event manager. More...
 
AnnPlayerBodyPtr AnnGetPlayer ()
 Get the player object. More...
 
AnnResourceManagerPtr AnnGetResourceManager ()
 Get the resource manager. More...
 
AnnSceneryManagerPtr AnnGetSceneryManager ()
 Get the scenery manager. More...
 
AnnOgreVRRendererPtr AnnGetVRRenderer ()
 Get the VR renderer. More...
 
AnnScriptManagerPtr AnnGetScriptManager ()
 Get the script manager. More...
 
AnnGameObjectManagerPtr AnnGetGameObjectManager ()
 Get the game-object manager. More...
 
AnnConsolePtr AnnGetOnScreenConsole ()
 Get the on screen console. More...
 
AnnStringUtilityPtr AnnGetStringUtility ()
 Get the string utility object. More...
 
std::string getHMDFromCmdLine (const char *cmd)
 
void preStart ()
 
void postQuit ()
 

Variables

static constexpr StickAxisId InvalidStickAxisId = -1
 
static constexpr float INVALID = 42.0f
 
class AnnDllExport AnnGameObjectManager
 
constexpr const size_t MAX_CONTROLLER_NUMBER = 2
 

Detailed Description

Namespace containing the totality of Annwvyn components.

Typedef Documentation

◆ AnnAudioEnginePtr

Definition at line 189 of file AnnAudioEngine.hpp.

◆ AnnAudioFilePtr

using Annwvyn::AnnAudioFilePtr = typedef Ogre::SharedPtr<AnnAudioFile>

Definition at line 81 of file AnnAudioFile.hpp.

◆ AnnAudioSourcePtr

Definition at line 82 of file AnnAudioEngine.hpp.

◆ AnnConsolePtr

Definition at line 127 of file AnnConsole.hpp.

◆ AnnEventListenerPtr

Definition at line 473 of file AnnEvents.hpp.

◆ AnnEventListenerWeakPtr

◆ AnnEventManagerPtr

◆ AnnFileReaderPtr

Definition at line 60 of file AnnFilesystem.hpp.

◆ AnnFilesystemManagerPtr

◆ AnnFileWriterPtr

Definition at line 48 of file AnnFilesystem.hpp.

◆ AnnGameObjectList

Definition at line 35 of file AnnTypes.h.

◆ AnnGameObjectManagerPtr

◆ AnnGameObjectPtr

Definition at line 259 of file AnnGameObject.hpp.

◆ AnnHandControllerID

using Annwvyn::AnnHandControllerID = typedef size_t

ID of an hand controller is the index of an array. using size_t s.

Definition at line 19 of file AnnHandController.hpp.

◆ AnnHandControllerPtr

◆ AnnLevelManagerPtr

◆ AnnLevelPtr

Definition at line 76 of file AnnLevel.hpp.

◆ AnnLightList

Definition at line 36 of file AnnTypes.h.

◆ AnnMatrix3

using Annwvyn::AnnMatrix3 = typedef Ogre::Matrix3

Definition at line 30 of file AnnTypes.h.

◆ AnnMatrix4

using Annwvyn::AnnMatrix4 = typedef Ogre::Matrix4

Definition at line 31 of file AnnTypes.h.

◆ AnnOgreVRRendererPtr

◆ AnnPhysicsEnginePtr

◆ AnnPlayerBodyPtr

Definition at line 251 of file AnnPlayerBody.hpp.

◆ AnnResourceManagerPtr

◆ AnnSaveFileDataPtr

Definition at line 63 of file AnnFilesystem.hpp.

◆ AnnSceneryManagerPtr

◆ AnnScriptFilePtr

using Annwvyn::AnnScriptFilePtr = typedef Ogre::SharedPtr<AnnScriptFile>

Easy define of the shared pointer.

Definition at line 54 of file AnnScriptFile.hpp.

◆ AnnScriptManagerPtr

◆ AnnStringUtilityPtr

◆ AnnSubSystemPtr

Definition at line 36 of file AnnSubsystem.hpp.

◆ AnnTriggerObjectList

Definition at line 34 of file AnnTypes.h.

◆ AnnUserSpaceEventPtr

◆ AnnUserSubSystemPtr

◆ AnnVect2

using Annwvyn::AnnVect2 = typedef Ogre::Vector2

Harmonize names :

Definition at line 29 of file AnnTypes.h.

◆ ButtonId

using Annwvyn::ButtonId = typedef int

A joystick event.

Definition at line 144 of file AnnEvents.hpp.

◆ byte

using Annwvyn::byte = typedef uint8_t

Because sometimes, after one byte you're full...

Definition at line 39 of file AnnTypes.h.

◆ GLuintPair

using Annwvyn::GLuintPair = typedef std::array<GLuint, 2>

Definition at line 48 of file AnnOgreVRRenderer.hpp.

◆ level_id

using Annwvyn::level_id = typedef size_t

Definition at line 18 of file AnnLevelManager.hpp.

◆ PovId

using Annwvyn::PovId = typedef int

Definition at line 146 of file AnnEvents.hpp.

◆ StickAxisId

using Annwvyn::StickAxisId = typedef int

Definition at line 145 of file AnnEvents.hpp.

◆ timerID

using Annwvyn::timerID = typedef int

Definition at line 340 of file AnnEvents.hpp.

◆ uID

using Annwvyn::uID = typedef unsigned long long

Definition at line 40 of file AnnTypes.h.

Enumeration Type Documentation

◆ AnnEventType

Enumerator
NO_TYPE 
USER_INPUT 
TIMER_TIMEOUT 
TRIGGER_CONTACT 
HAND_CONTROLLER 
COLLISION 
PLAYER_COLLISION 

Definition at line 14 of file AnnEvents.hpp.

◆ AnnPlayerMode

Enumerator
STANDING 
ROOMSCALE 

Definition at line 21 of file AnnPlayerBody.hpp.

◆ MouseAxisId

Name and number of axes.

Enumerator
nbAxes 
invalidAxis 

Definition at line 73 of file AnnEvents.hpp.

◆ MouseButtonId

Name and number of mouse button.

Enumerator
Left 
Right 
Middle 
Button3 
Button4 
Button5 
Button6 
Button7 
nbButtons 
invalidButton 

Definition at line 76 of file AnnEvents.hpp.

◆ phyShapeType

Name of the objects physical shapes Theses shapes are available to create objects's rigid body for the physics

Enumerator
staticShape 
convexShape 
boxShape 
cylinderShape 
capsuleShape 
sphereShape 

Definition at line 44 of file AnnTypes.h.

◆ walkDirection

Correspondence between array position and walk direction for the "walking" array.

Enumerator
forward 
backward 
left 
right 

Definition at line 25 of file AnnPlayerBody.hpp.

Function Documentation

◆ AnnGetAudioEngine()

AnnDllExport AnnAudioEnginePtr Annwvyn::AnnGetAudioEngine ( )

Get the audio engine.

Definition at line 10 of file AnnGetter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AnnGetEngine()

AnnDllExport AnnEngine * Annwvyn::AnnGetEngine ( )

Get the current instance of AnnEngine.

Definition at line 8 of file AnnGetter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AnnGetEventManager()

AnnDllExport AnnEventManagerPtr Annwvyn::AnnGetEventManager ( )

Get the event manager.

Definition at line 14 of file AnnGetter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AnnGetFileSystemManager()

AnnDllExport AnnFilesystemManagerPtr Annwvyn::AnnGetFileSystemManager ( )

Get the file-system manager.

Definition at line 12 of file AnnGetter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AnnGetGameObjectManager()

AnnDllExport AnnGameObjectManagerPtr Annwvyn::AnnGetGameObjectManager ( )

Get the game-object manager.

Definition at line 20 of file AnnGetter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AnnGetLevelManager()

AnnDllExport AnnLevelManagerPtr Annwvyn::AnnGetLevelManager ( )

Get the level manager.

Definition at line 13 of file AnnGetter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AnnGetOnScreenConsole()

AnnDllExport AnnConsolePtr Annwvyn::AnnGetOnScreenConsole ( )

Get the on screen console.

Definition at line 21 of file AnnGetter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AnnGetPhysicsEngine()

AnnDllExport AnnPhysicsEnginePtr Annwvyn::AnnGetPhysicsEngine ( )

Get the physics engine.

Definition at line 11 of file AnnGetter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AnnGetPlayer()

AnnDllExport AnnPlayerBodyPtr Annwvyn::AnnGetPlayer ( )

Get the player object.

Definition at line 15 of file AnnGetter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AnnGetResourceManager()

AnnDllExport AnnResourceManagerPtr Annwvyn::AnnGetResourceManager ( )

Get the resource manager.

Definition at line 16 of file AnnGetter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AnnGetSceneryManager()

AnnDllExport AnnSceneryManagerPtr Annwvyn::AnnGetSceneryManager ( )

Get the scenery manager.

Definition at line 17 of file AnnGetter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AnnGetScriptManager()

AnnDllExport AnnScriptManagerPtr Annwvyn::AnnGetScriptManager ( )

Get the script manager.

Definition at line 19 of file AnnGetter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AnnGetStringUtility()

AnnDllExport AnnStringUtilityPtr Annwvyn::AnnGetStringUtility ( )

Get the string utility object.

Definition at line 22 of file AnnGetter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AnnGetVRRenderer()

AnnDllExport AnnOgreVRRendererPtr Annwvyn::AnnGetVRRenderer ( )

Get the VR renderer.

Definition at line 18 of file AnnGetter.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getHMDFromCmdLine()

std::string Annwvyn::getHMDFromCmdLine ( const char *  cmd)
inline

Definition at line 117 of file Annwvyn.h.

◆ postQuit()

void Annwvyn::postQuit ( )
inline

Definition at line 159 of file Annwvyn.h.

Here is the call graph for this function:

◆ preStart()

void Annwvyn::preStart ( )
inline

Definition at line 150 of file Annwvyn.h.

Here is the call graph for this function:

Variable Documentation

◆ AnnGameObjectManager

◆ INVALID

constexpr float Annwvyn::INVALID = 42.0f
static

Definition at line 149 of file AnnEvents.hpp.

◆ InvalidStickAxisId

constexpr StickAxisId Annwvyn::InvalidStickAxisId = -1
static

Definition at line 148 of file AnnEvents.hpp.

◆ MAX_CONTROLLER_NUMBER

constexpr const size_t Annwvyn::MAX_CONTROLLER_NUMBER = 2

Definition at line 36 of file AnnOgreVRRenderer.hpp.