19 #ifndef _mtsVFController_h
20 #define _mtsVFController_h
27 #include <sawConstraintController/mtsVFDataSensorCompliance.h>
29 #include <sawConstraintController/prmKinematicsState.h>
30 #include <sawConstraintController/prmSensorState.h>
31 #include <sawConstraintController/prmOffsetState.h>
50 std::map<std::string, mtsVFBase *>
VFMap;
56 std::map<std::string, prmSensorState *>
Sensors;
86 std::map<std::string,mtsVFBase *>::iterator itVF;
87 for(itVF = VFMap.begin(); itVF != VFMap.end(); itVF++)
92 std::map<std::string,prmKinematicsState *>::iterator itKin;
93 for(itKin = Kinematics.begin(); itKin != Kinematics.end(); itKin++)
98 std::map<std::string,prmSensorState *>::iterator itSens;
99 for(itSens = Sensors.begin(); itSens != Sensors.end(); itSens++)
101 delete itSens->second;
110 void AddVFJointVelocity(
const mtsVFDataBase & vf);
113 void AddVFJointPosition(
const mtsVFDataBase & vf);
116 void AddVFCartesianTranslation(
const mtsVFDataBase & vf);
119 void AddVFCartesianOrientation(
const mtsVFDataBase & vf);
122 void AddVFSensorCompliance(
const mtsVFDataSensorCompliance & vf);
125 void AddVFPlane(
const mtsVFDataPlane &vf);
127 void AddVFFollowPath(
const mtsVFDataBase & vf);
130 void SetSensor(
const prmSensorState & sen);
133 void SetSensorOffset(
const prmOffsetState & sen);
136 void RemoveSensorFromMap(
const std::string & senName);
142 void LookupBaseData(
void);
145 void SetKinematics(
const prmKinematicsState & kin);
148 void RemoveKinematicsFromMap(
const std::string & kinName);
151 void UpdateOptimizer(
double TickTime);
157 void IncrementUsers(
const std::vector<std::string> kin_names,
const std::vector<std::string> sensor_names);
160 void DecrementUsers(
const std::vector<std::string> kin_names,
const std::vector<std::string> sensor_names);
162 bool SetVFData(
const mtsVFDataBase & data,
const std::type_info & type);
164 bool SetVFDataSensorCompliance(
const mtsVFDataSensorCompliance & data,
const std::type_info & type);
166 bool SetVFDataPlane(
const mtsVFDataPlane & data,
const std::type_info & type);
172 #endif // _mtsVFController_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
mtsVFController: A class that is responsible for managing the virtual fixtures, relevant state data...
Definition: mtsVFController.h:43
std::map< std::string, prmSensorState * > Sensors
Definition: mtsVFController.h:56
mtsVFController()
Definition: mtsVFController.h:74
nmrConstraintOptimizer: A class that makes using the constraint control algorithm more efficient ...
Definition: nmrConstraintOptimizer.h:34
Base class for high level objects.
Definition: cmnGenericObject.h:51
std::map< std::string, prmKinematicsState * > Kinematics
Definition: mtsVFController.h:53
#define CMN_LOG_LOD_RUN_VERBOSE
Definition: cmnLogLoD.h:95
mtsVFController(size_t num_joints, mtsVFBase::CONTROLLERMODE cm)
Definition: mtsVFController.h:78
mtsVFBase::CONTROLLERMODE ControllerMode
Definition: mtsVFController.h:68
#define CMN_DECLARE_SERVICES(hasDynamicCreation, lod)
Definition: cmnClassRegisterMacros.h:116
prmJointState JointState
Definition: mtsVFController.h:59
std::map< std::string, mtsVFBase * > VFMap
Definition: mtsVFController.h:50
~mtsVFController()
Definition: mtsVFController.h:84
nmrConstraintOptimizer GetOptimizer()
Definition: mtsVFController.h:105
CMN_DECLARE_SERVICES_INSTANTIATION(mtsVFController)
CONTROLLERMODE
Definition: mtsVFBase.h:39
STATUS
Definition: nmrConstraintOptimizer.h:77
const int CMN_NO_DYNAMIC_CREATION
Definition: cmnClassRegisterMacros.h:328
nmrConstraintOptimizer Optimizer
Definition: mtsVFController.h:62