16 #ifndef SURGSIM_PHYSICS_VIRTUALTOOLCOUPLER_H 17 #define SURGSIM_PHYSICS_VIRTUALTOOLCOUPLER_H 34 class OutputComponent;
40 class RigidRepresentation;
42 SURGSIM_STATIC_REGISTRATION(VirtualToolCoupler);
70 const std::shared_ptr<Framework::Component> getInput();
77 void setInput(
const std::shared_ptr<Framework::Component> input);
80 const std::shared_ptr<Framework::Component> getOutput();
84 void setOutput(
const std::shared_ptr<Framework::Component> output);
87 const std::shared_ptr<Framework::Component> getRepresentation();
91 void setRepresentation(
const std::shared_ptr<Framework::Component> rigid);
96 bool isHapticOutputOnlyWhenColliding()
const;
101 void setHapticOutputOnlyWhenColliding(
bool haptic);
104 const std::string& getPoseName();
108 void setPoseName(
const std::string& poseName = DataStructures::Names::POSE);
110 void update(
double dt)
override;
116 void overrideLinearStiffness(
double linearStiffness);
119 double getLinearStiffness();
125 void overrideLinearDamping(
double linearDamping);
128 double getLinearDamping();
134 void overrideAngularStiffness(
double angularStiffness);
137 double getAngularStiffness();
143 void overrideAngularDamping(
double angularDamping);
146 double getAngularDamping();
162 void setCalculateInertialTorques(
bool calculateInertialTorques);
168 bool getCalculateInertialTorques()
const;
170 void doRetire()
override;
172 void setLocalActive(
bool val)
override;
175 bool doInitialize()
override;
176 bool doWakeUp()
override;
177 int getTargetManagerType()
const override;
244 std::shared_ptr<Input::InputComponent>
m_input;
306 #endif // SURGSIM_PHYSICS_VIRTUALTOOLCOUPLER_H
Definition: CompoundShapeToGraphics.cpp:29
The convenience header that provides the entirety of the logging API.
#define SURGSIM_CLASSNAME(ClassName)
Declare the class name of a class with the appropriate function header, do not use quotes...
Definition: Macros.h:21
A collection of NamedData objects.
Definition: DataGroup.h:68
Eigen::Transform< double, 3, Eigen::Isometry > RigidTransform3d
A 3D rigid (isometric) transform, represented as doubles.
Definition: RigidTransform.h:46
Behaviors perform actions.
Definition: Behavior.h:40
Eigen::Matrix< double, 3, 1 > Vector3d
A 3D vector of doubles.
Definition: Vector.h:57