EnvironmentController.h
Go to the documentation of this file.
1 #ifndef ENVIRONMENTCONTROLLER_H
2 #define ENVIRONMENTCONTROLLER_H
3 #include <RobotAPI/interface/core/RobotState.h>
4 
5 #include "../Environment.h"
6 #include "AbstractController.h"
7 
8 namespace armarx
9 {
11  {
12  Q_OBJECT
13 
14  public:
15  /**
16  * @brief @see AbstractController
17  */
18  void onInitComponent() override;
19 
20  /**
21  * @brief @see AbstractController
22  */
23  void onConnectComponent() override;
24 
25  /**
26  * @brief @see AbstractController
27  */
28  void onDisconnectComponent() override;
29 
30  /**
31  * @brief @see AbstractController
32  */
33  void onExitComponent() override;
34 
35  /**
36  * @brief loads first armar3 in the application
37  */
38  void loadArmar3();
39 
40  /**
41  * @brief loads the robot from proxy
42  * @param robotFileName file name of the robot
43  */
44  void loadRobotFromProxy(std::string robotFileName);
45 
47 
48  public slots:
49  /**
50  * @brief open a file dialog to select a robot
51  */
52  void openRobotFileDialog();
53 
54  signals:
55  /**
56  * @brief notifies all controller that the environment has changed
57  * @param environment
58  */
59  void environmentChanged(EnvironmentPtr environment);
60 
61  protected:
63 
64  private:
65  VirtualRobot::RobotPtr loadRobot(Ice::StringSeq includePaths);
66  EnvironmentPtr environment;
67  };
68 
69  using EnvironmentControllerPtr = std::shared_ptr<EnvironmentController>;
70 } // namespace armarx
71 
72 #endif // ENVIRONMENTCONTROLLER_H
armarx::EnvironmentControllerPtr
std::shared_ptr< EnvironmentController > EnvironmentControllerPtr
Definition: EnvironmentController.h:69
armarx::EnvironmentController::onExitComponent
void onExitComponent() override
Definition: EnvironmentController.cpp:39
armarx::EnvironmentPtr
std::shared_ptr< Environment > EnvironmentPtr
Definition: Environment.h:29
armarx::EnvironmentController::robotStateComponentPrx
RobotStateComponentInterfacePrx robotStateComponentPrx
Definition: EnvironmentController.h:62
armarx::EnvironmentController::environmentChanged
void environmentChanged(EnvironmentPtr environment)
notifies all controller that the environment has changed
AbstractController.h
armarx::EnvironmentController
Definition: EnvironmentController.h:10
armarx::EnvironmentController::onInitComponent
void onInitComponent() override
Definition: EnvironmentController.cpp:20
armarx::EnvironmentController::openRobotFileDialog
void openRobotFileDialog()
open a file dialog to select a robot
Definition: EnvironmentController.cpp:76
armarx::EnvironmentController::loadArmar3
void loadArmar3()
loads first armar3 in the application
Definition: EnvironmentController.cpp:45
armarx::EnvironmentController::loadRobotFromProxy
void loadRobotFromProxy(std::string robotFileName)
loads the robot from proxy
Definition: EnvironmentController.cpp:63
IceInternal::ProxyHandle<::IceProxy::armarx::RobotStateComponentInterface >
armarx::EnvironmentController::EnvironmentController
EnvironmentController()
Definition: EnvironmentController.cpp:69
armarx::EnvironmentController::onDisconnectComponent
void onDisconnectComponent() override
Definition: EnvironmentController.cpp:33
armarx::EnvironmentController::onConnectComponent
void onConnectComponent() override
Definition: EnvironmentController.cpp:27
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27
armarx::AbstractController
Abstract controller providing a set of methods which must be implemented by every controller.
Definition: AbstractController.h:37
VirtualRobot::RobotPtr
std::shared_ptr< class Robot > RobotPtr
Definition: Bus.h:19