Commit ca3c9048 authored by Thomas PRAMPART's avatar Thomas PRAMPART

🚧 add path to log

When you find module
parent 76992704
......@@ -14,9 +14,17 @@ PROJECT(OpenViBE)
SET(OV_GLOBAL_VERSION_MAJOR 3)
SET(OV_GLOBAL_VERSION_MINOR 0)
SET(OV_GLOBAL_VERSION_PATCH 0)
SET(OV_GLOBAL_VERSION_EXTRA "-beta")
SET(OV_GLOBAL_VERSION_EXTRA "")
SET(OV_GLOBAL_VERSION_STRING "${OV_GLOBAL_VERSION_MAJOR}.${OV_GLOBAL_VERSION_MINOR}.${OV_GLOBAL_VERSION_PATCH}${OV_GLOBAL_VERSION_EXTRA}")
# Sort target into directories for better visualization in IDE
SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
SET(APP_FOLDER Applications)
SET(MODULES_FOLDER Modules)
SET(PLUGINS_FOLDER Plugins)
SET(TESTS_FOLDER Unit-Tests)
SET(VALIDATION_FOLDER Validation-Tests)
SET(DOCUMENTATION_TEMP_DIRECTORY "${CMAKE_INSTALL_PREFIX}/doc-tmp")
MESSAGE(STATUS "Appending compilation flags...")
......@@ -312,7 +320,7 @@ SET(CMAKE_INSTALL_FULL_DOCDIR "${CMAKE_INSTALL_FULL_BINDIR}/../doc/html")
ADD_SUBDIRECTORY("build-tool/")
# Traverse these directories and build their components
ADD_SUBDIRECTORY("modules/tcptagging")
ADD_SUBDIRECTORY("modules/")
ADD_SUBDIRECTORY("plugins/")
ADD_SUBDIRECTORY("applications/")
ADD_SUBDIRECTORY("externals/")
......
<OpenViBE-Scenario>
<FormatVersion>1</FormatVersion>
<Creator>OpenViBE</Creator>
<CreatorVersion>1.1.0+git</CreatorVersion>
<FormatVersion>2</FormatVersion>
<Creator>OpenViBE Designer</Creator>
<CreatorVersion>3.0.0</CreatorVersion>
<Settings></Settings>
<Inputs></Inputs>
<Outputs></Outputs>
<Boxes>
<Box>
<Identifier>(0x00000de5, 0x00006f3d)</Identifier>
......@@ -99,15 +102,11 @@
</Attribute>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>-224.000000</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>43</Value>
<Value>-224</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>608.000000</Value>
<Value>608</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
......@@ -117,10 +116,6 @@
<Identifier>(0x61d11811, 0x71e65362)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>231</Value>
</Attribute>
<Attribute>
<Identifier>(0xc80ce8af, 0xf699f813)</Identifier>
<Value>1</Value>
......@@ -176,15 +171,11 @@
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>0.000000</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>33</Value>
<Value>0</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>544.000000</Value>
<Value>544</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
......@@ -194,18 +185,10 @@
<Identifier>(0x527ad68d, 0x16d746a0)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>149</Value>
</Attribute>
<Attribute>
<Identifier>(0xc46b3d00, 0x3e0454e1)</Identifier>
<Value>(0x00000000, 0x002730c3)</Value>
</Attribute>
<Attribute>
<Identifier>(0xc67a01dc, 0x28ce06c1)</Identifier>
<Value></Value>
</Attribute>
<Attribute>
<Identifier>(0xfba64161, 0x65304e21)</Identifier>
<Value></Value>
......@@ -241,24 +224,16 @@
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>48.000000</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>23</Value>
<Value>48</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>720.000000</Value>
<Value>720</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x568d148e, 0x650792b3)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>118</Value>
</Attribute>
<Attribute>
<Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier>
<Value>false</Value>
......@@ -318,24 +293,16 @@
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>-80.000000</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>23</Value>
<Value>-80</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>608.000000</Value>
<Value>608</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x0d4656c0, 0xc95b1fa8)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>121</Value>
</Attribute>
<Attribute>
<Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier>
<Value>false</Value>
......@@ -364,6 +331,12 @@
<Name>Amplitude</Name>
</Input>
</Inputs>
<Outputs>
<Output>
<TypeIdentifier>(0x544a003e, 0x6dcba5f6)</TypeIdentifier>
<Name>Confusion Matrix</Name>
</Output>
</Outputs>
<Settings>
<Setting>
<TypeIdentifier>(0x2cdb2f0b, 0x12f231ea)</TypeIdentifier>
......@@ -411,28 +384,24 @@
<Attributes>
<Attribute>
<Identifier>(0x1fa7a38f, 0x54edbe0b)</Identifier>
<Value>-160.000000</Value>
</Attribute>
<Attribute>
<Identifier>(0x1fa963f5, 0x1a638cd4)</Identifier>
<Value>23</Value>
<Value>-160</Value>
</Attribute>
<Attribute>
<Identifier>(0x207c9054, 0x3c841b63)</Identifier>
<Value>611.000000</Value>
<Value>611</Value>
</Attribute>
<Attribute>
<Identifier>(0x4e7b798a, 0x183beafb)</Identifier>
<Value>(0x60662001, 0xbee8820f)</Value>
</Attribute>
<Attribute>
<Identifier>(0xad100179, 0xa3c984ab)</Identifier>
<Value>125</Value>
<Value>(0x602ceb3f, 0xd3bc74aa)</Value>
</Attribute>
<Attribute>
<Identifier>(0xc73e83ec, 0xf855c5bc)</Identifier>
<Value>false</Value>
</Attribute>
<Attribute>
<Identifier>(0xc80ce8af, 0xf699f813)</Identifier>
<Value>1</Value>
</Attribute>
<Attribute>
<Identifier>(0xce18836a, 0x9c0eb403)</Identifier>
<Value>6</Value>
......@@ -455,24 +424,6 @@
<BoxIdentifier>(0x42570b5c, 0x0bba079c)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-196</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>608</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-176</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>603</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x000012ec, 0x00006d3e)</Identifier>
......@@ -484,24 +435,6 @@
<BoxIdentifier>(0x000013d3, 0x000029d9)</BoxIdentifier>
<BoxInputIndex>2</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-62</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>608</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-21</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>559</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x000017d1, 0x000042cf)</Identifier>
......@@ -513,24 +446,6 @@
<BoxIdentifier>(0x00003f97, 0x0000658d)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-62</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>608</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>32</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>720</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x000020ed, 0x00002f60)</Identifier>
......@@ -542,24 +457,6 @@
<BoxIdentifier>(0x000013d3, 0x000029d9)</BoxIdentifier>
<BoxInputIndex>1</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-62</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>593</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-21</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>544</Value>
</Attribute>
</Attributes>
</Link>
<Link>
<Identifier>(0x00006ce5, 0x00005a2d)</Identifier>
......@@ -571,24 +468,6 @@
<BoxIdentifier>(0x000013d3, 0x000029d9)</BoxIdentifier>
<BoxInputIndex>0</BoxInputIndex>
</Target>
<Attributes>
<Attribute>
<Identifier>(0x1b32c44c, 0x1905e0e9)</Identifier>
<Value>-62</Value>
</Attribute>
<Attribute>
<Identifier>(0x358ae8b5, 0x0f8bacd1)</Identifier>
<Value>578</Value>
</Attribute>
<Attribute>
<Identifier>(0x3f0a3b27, 0x570913d2)</Identifier>
<Value>-21</Value>
</Attribute>
<Attribute>
<Identifier>(0x6267b5c5, 0x676e3e42)</Identifier>
<Value>529</Value>
</Attribute>
</Attributes>
</Link>
</Links>
<Comments>
......@@ -673,7 +552,7 @@ folder where the scenario xml is located
<Entry>
<Identifier>(0x0000775c, 0x000078ff)</Identifier>
<Type>(0x3bcce5d2, 0x43f2d968)</Type>
<Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":505,"identifier":"(0x00006479, 0x00004325)","index":0,"name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":608},{"boxIdentifier":"(0x42570b5c, 0x0bba079c)","childCount":0,"identifier":"(0x1dfd166f, 0x4da413ec)","index":0,"parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00000940, 0x00007014)","index":0,"name":"Default tab","parentIdentifier":"(0x00006479, 0x00004325)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000053b1, 0x0000293b)","index":0,"name":"Empty","parentIdentifier":"(0x00000940, 0x00007014)","type":0}]</Data>
<Data>[{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"height":505,"identifier":"(0x00006479, 0x00004325)","name":"Default window","parentIdentifier":"(0xffffffff, 0xffffffff)","type":1,"width":608},{"boxIdentifier":"(0x42570b5c, 0x0bba079c)","childCount":0,"identifier":"(0x1dfd166f, 0x4da413ec)","parentIdentifier":"(0xffffffff, 0xffffffff)","type":3},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":1,"identifier":"(0x00000940, 0x00007014)","index":0,"name":"Default tab","parentIdentifier":"(0x00006479, 0x00004325)","type":2},{"boxIdentifier":"(0xffffffff, 0xffffffff)","childCount":0,"identifier":"(0x000053b1, 0x0000293b)","index":0,"name":"Empty","parentIdentifier":"(0x00000940, 0x00007014)","type":0}]</Data>
</Entry>
</Metadata>
<Attributes>
......
......@@ -17,6 +17,7 @@ ENDIF(NOT CEGUI_FOUND OR NOT OgreCEGUIRenderer_FOUND)
FILE(GLOB_RECURSE SRC_FILES src/*.cpp src/*.h src/*.inl)
ADD_EXECUTABLE(${PROJECT_NAME} ${SRC_FILES})
SET_PROPERTY(TARGET ${PROJECT_NAME} PROPERTY FOLDER ${APP_FOLDER})
INCLUDE("FindOpenViBE")
INCLUDE("FindOpenViBECommon")
......
......@@ -2,16 +2,15 @@
#include "../ovassvepICommandVRPNButton.h"
namespace SSVEP
{
class CShooterApplication;
namespace SSVEP {
class CShooterApplication;
class CCommandShipControl final : public ICommandVRPNButton
{
public:
explicit CCommandShipControl(CShooterApplication* application);
~CCommandShipControl() override {}
class CCommandShipControl final : public ICommandVRPNButton
{
public:
explicit CCommandShipControl(CShooterApplication* application);
~CCommandShipControl() override {}
void execute(const int button, const int state) override;
};
} // namespace SSVEP
void execute(const int button, const int state) override;
};
} // namespace SSVEP
......@@ -3,20 +3,19 @@
#include "../ovassvepICommandVRPNButton.h"
#include "../ovassvepCVRPNServer.h"
namespace SSVEP
{
class CShooterApplication;
namespace SSVEP {
class CShooterApplication;
class CCommandTargetControl final : public ICommandVRPNButton
{
public:
explicit CCommandTargetControl(CShooterApplication* application);
~CCommandTargetControl() override {}
class CCommandTargetControl final : public ICommandVRPNButton
{
public:
explicit CCommandTargetControl(CShooterApplication* application);
~CCommandTargetControl() override {}
void execute(const int button, const int state) override;
void processFrame() override;
void execute(const int button, const int state) override;
void processFrame() override;
private:
CVRPNServer* m_vrpnServer = nullptr;
};
} // namespace SSVEP
private:
CVRPNServer* m_vrpnServer = nullptr;
};
} // namespace SSVEP
......@@ -8,26 +8,25 @@
#include "ovassvepCStarShip.h"
namespace SSVEP
namespace SSVEP {
class CShooterApplication final : public CApplication
{
class CShooterApplication final : public CApplication
{
public:
CShooterApplication();
~CShooterApplication() override;
bool setup(OpenViBE::Kernel::IKernelContext* kernelCtx) override;
CStarShip* getShip() const { return m_ship; }
void startExperiment() override;
void addTarget(size_t targetPosition);
bool m_TargetRequest = false;
private:
void processFrame(const size_t frame) override;
CEGUI::Window* m_instructionsReady = nullptr;
CStarShip* m_ship = nullptr;
std::vector<CShooterTarget*> m_targets;
};
} // namespace SSVEP
public:
CShooterApplication();
~CShooterApplication() override;
bool setup(OpenViBE::Kernel::IKernelContext* kernelCtx) override;
CStarShip* getShip() const { return m_ship; }
void startExperiment() override;
void addTarget(size_t targetPosition);
bool m_TargetRequest = false;
private:
void processFrame(const size_t frame) override;
CEGUI::Window* m_instructionsReady = nullptr;
CStarShip* m_ship = nullptr;
std::vector<CShooterTarget*> m_targets;
};
} // namespace SSVEP
......@@ -6,23 +6,22 @@
#define SSVEP_SHOOTER_TARGET_SIZE 0.15f
namespace SSVEP
namespace SSVEP {
class CShooterTarget
{
class CShooterTarget
{
public:
static CShooterTarget* createTarget(Ogre::Radian angle);
static void initialize(CBasicPainter* painter, Ogre::SceneNode* parentNode);
~CShooterTarget();
public:
static CShooterTarget* createTarget(Ogre::Radian angle);
static void initialize(CBasicPainter* painter, Ogre::SceneNode* parentNode);
~CShooterTarget();
bool collidesWith(std::pair<Ogre::Real, Ogre::Real> point) const;
bool collidesWith(std::pair<Ogre::Real, Ogre::Real> point) const;
private:
static Ogre::SceneNode* m_parentNode;
static CBasicPainter* m_painter;
private:
static Ogre::SceneNode* m_parentNode;
static CBasicPainter* m_painter;
Ogre::SceneNode* m_targetNode = nullptr;
Ogre::SceneNode* m_targetNode = nullptr;
explicit CShooterTarget(Ogre::Radian angle);
};
} // namespace SSVEP
explicit CShooterTarget(Ogre::Radian angle);
};
} // namespace SSVEP
......@@ -5,34 +5,33 @@
#include <openvibe/ov_all.h>
#include <toolkit/ovtk_all.h>
namespace SSVEP
namespace SSVEP {
class CApplication;
class CSSVEPFlickeringObject;
class CStarShip
{
class CApplication;
class CSSVEPFlickeringObject;
class CStarShip
{
public:
CStarShip(CApplication* application, Ogre::SceneNode* parentNode, Ogre::Real radius, std::vector<std::pair<size_t, size_t>>* frequencies);
void processFrame(const size_t currentFrame);
void rotate(const int nRotation) { m_nCurrentRotation += nRotation; }
bool isShooting() const { return m_isShooting; }
void shoot();
std::pair<Ogre::Real, Ogre::Real> getShotCoordinates() const;
private:
Ogre::SceneNode* m_shipNode = nullptr;
CSSVEPFlickeringObject* m_shipCannon = nullptr;
CSSVEPFlickeringObject* m_shipLeftWing = nullptr;
CSSVEPFlickeringObject* m_shipRightWing = nullptr;
Ogre::Real m_angularSpeed;
Ogre::Radian m_currentAngle;
int m_nCurrentRotation = 0;
Ogre::SceneNode* m_shotNode = nullptr;
bool m_isShooting = false;
Ogre::Real m_shotDistance;
};
} // namespace SSVEP
public:
CStarShip(CApplication* application, Ogre::SceneNode* parentNode, Ogre::Real radius, std::vector<std::pair<size_t, size_t>>* frequencies);
void processFrame(const size_t currentFrame);
void rotate(const int nRotation) { m_nCurrentRotation += nRotation; }
bool isShooting() const { return m_isShooting; }
void shoot();
std::pair<Ogre::Real, Ogre::Real> getShotCoordinates() const;
private:
Ogre::SceneNode* m_shipNode = nullptr;
CSSVEPFlickeringObject* m_shipCannon = nullptr;
CSSVEPFlickeringObject* m_shipLeftWing = nullptr;
CSSVEPFlickeringObject* m_shipRightWing = nullptr;
Ogre::Real m_angularSpeed;
Ogre::Radian m_currentAngle;