Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

ArmNode.h

Go to the documentation of this file.
00001 //-*-c++-*-
00002 #ifndef INCLUDED_ArmNode_h_
00003 #define INCLUDED_ArmNode_h_
00004 
00005 #include "MCNode.h"
00006 #include "Motion/ArmMC.h"
00007 
00008 // You don't actually need to declare extern strings in order to use
00009 // MCNode, but it's nice...  If you left the name and description
00010 // off, it would substitute MCNode's default values, but that would
00011 // yield rather ambiguous debugging output
00012 
00013 //!default name for ArmNode's (have to instantiate a variable in order to use as a template argument)
00014 /*! instantiation will be placed in MCNode.cc (instead of ArmNode.cc) to avoid file bloat */
00015 extern const char defArmNodeName[];
00016 //!default description for ArmNode's (have to instantiate a variable in order to use as a template argument)
00017 /*! instantiation will be placed in MCNode.cc (instead of ArmNode.cc) to avoid file bloat */
00018 extern const char defArmNodeDesc[];
00019 
00020 //! A simple StateNode that executes a ArmMC motion command
00021 class ArmNode : public MCNode<ArmMC,defArmNodeName,defArmNodeDesc,true> {
00022 public:
00023   //! default constructor, use type name as instance name
00024   ArmNode() : MCNode<ArmMC,defArmNodeName,defArmNodeDesc,true>() {}
00025   
00026   //! constructor, take an instance name
00027   ArmNode(const std::string& nodename) : MCNode<ArmMC,defArmNodeName,defArmNodeDesc,true>(nodename) {}
00028 };
00029 
00030 
00031 /*! @file
00032  * @brief Defines ArmNode, a simple MCNode that runs an ArmMC motion command and throws a status event upon completion
00033  * @author dst (Creator)
00034  * @author ejt (Rewrote using MCNode)
00035  */
00036 
00037 #endif
00038 

Tekkotsu v5.1CVS
Generated Mon May 9 04:58:36 2016 by Doxygen 1.6.3