cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mts3Dconnexion.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3 
4 /*
5  $Id: mts3Dconnexion.h 3243 2011-12-10 02:43:59Z adeguet1 $
6 
7  Author(s): Marcin Balicki, Anton Deguet
8  Created on: 2008-04-12
9 
10  (C) Copyright 2008-2012 Johns Hopkins University (JHU), All Rights
11  Reserved.
12 
13 --- begin cisst license - do not edit ---
14 
15 This software is provided "as is" under an open source license, with
16 no warranty. The complete license can be found in license.txt and
17 http://www.cisst.org/cisst/license.txt.
18 
19 --- end cisst license ---
20 */
21 
45 #ifndef _mts3Dconnexion_h
46 #define _mts3Dconnexion_h
47 
51 #include <saw3Dconnexion/saw3DconnexionExport.h> // always include last
52 
53 
54 class mts3DconnexionData; // class containing OS specific data
55 
56 
58 {
60 
61  // platform "friendly" message handler for Cocoa events on Mac
62  friend void mts3DconnexionInternalMessageHandler(mts3Dconnexion * instance, const vctDynamicVector<double> & axis, const vctDynamicVector<bool> & buttons);
63 
64  public:
66  mts3Dconnexion(const std::string & taskName, double period) :
67  mtsTaskPeriodic(taskName, period, false, 500) {}
69  mtsTaskPeriodic(arg) {}
70 
72  ~mts3Dconnexion(void) {}
73 
76  void Configure(const std::string & CMN_UNUSED(configurationName) = "");
78  void Startup(void);
79  void Run(void);
80  void Cleanup(void);
81 
82  void ReBias(void) {
83  CMN_LOG_CLASS_RUN_ERROR << "ReBias not implemented" << std::endl;
84  }
85 
86  protected:
87  void UpdateDataTable(void);
88 
89  mtsStateTable * DataTable; // store data in separate state table
96 
97  mts3DconnexionData * Data;
98  std::string ConfigurationName; // this is the name used to load the configuration settings from the 3dCon application
101 };
102 
104 
105 #endif // _mts3Dconnexion_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
std::string ConfigurationName
Definition: mts3Dconnexion.h:98
vct3 Translation
Definition: mts3Dconnexion.h:99
#define CMN_UNUSED(argument)
Definition: cmnPortability.h:479
mts3DconnexionData * Data
Definition: mts3Dconnexion.h:97
mtsDouble Gain
Definition: mts3Dconnexion.h:93
Definition: mtsTaskPeriodic.h:38
const int CMN_DYNAMIC_CREATION_ONEARG
Definition: cmnClassRegisterMacros.h:333
virtual void Startup(void)
Definition: mtsComponent.h:262
mtsBoolVec Mask
Definition: mts3Dconnexion.h:92
virtual void Configure(const std::string &CMN_UNUSED(filename)="")
Definition: mtsTask.h:218
mts3Dconnexion(const mtsTaskPeriodicConstructorArg &arg)
Definition: mts3Dconnexion.h:68
Definition: mtsStateTable.h:67
mtsDoubleVec Axis
Definition: mts3Dconnexion.h:90
mtsBool IsConnected
Definition: mts3Dconnexion.h:95
#define CMN_DECLARE_SERVICES(hasDynamicCreation, lod)
Definition: cmnClassRegisterMacros.h:116
vct3 Orientation
Definition: mts3Dconnexion.h:100
mts3Dconnexion(const std::string &taskName, double period)
Definition: mts3Dconnexion.h:66
Defines a periodic task.
mtsBoolVec Buttons
Definition: mts3Dconnexion.h:91
#define CMN_LOG_CLASS_RUN_ERROR
Definition: cmnLogger.h:117
virtual void Run(void)=0
prmPositionCartesianGet Position
Definition: mts3Dconnexion.h:94
~mts3Dconnexion(void)
Definition: mts3Dconnexion.h:72
Definition: mtsTaskPeriodic.h:80
CMN_DECLARE_SERVICES_INSTANTIATION(mts3Dconnexion)
virtual void Cleanup(void)
Definition: mtsComponent.h:267
void ReBias(void)
Definition: mts3Dconnexion.h:82
Definition: mts3Dconnexion.h:57
#define CMN_LOG_ALLOW_DEFAULT
Definition: cmnLogLoD.h:76
mtsStateTable * DataTable
Definition: mts3Dconnexion.h:89
Definition: prmPositionCartesianGet.h:37