20#ifndef _SIGNAL_OBSERVER_H__
21#define _SIGNAL_OBSERVER_H__
23#include "mbsim/observers/observer.h"
25#include <mbsim/utils/boost_parameters.h>
26#include <mbsim/utils/openmbv_utils.h>
29 class IvScreenAnnotation;
32namespace MBSimControl {
40 std::shared_ptr<MBSim::OpenMBVArrow> ombvArrow;
41 std::shared_ptr<OpenMBV::Arrow> openMBVArrow;
42 std::shared_ptr<OpenMBV::IvScreenAnnotation> openMBVIvScreenAnnotation;
43 std::string saved_signal;
44 std::string saved_position;
49 void setSignal(
Signal *signal_) { signal = signal_; }
50 void setPosition(
Signal *position_) { position = position_; }
52 void init(
InitStage stage,
const MBSim::InitConfigSet &config)
override;
53 void initializeUsingXML(xercesc::DOMElement *element)
override;
57 BOOST_PARAMETER_MEMBER_FUNCTION( (
void), enableOpenMBV, MBSim::tag, (optional (scaleLength,(
double),1)(scaleSize,(
double),1)(referencePoint,(MBSim::OpenMBVArrow::ReferencePoint),MBSim::OpenMBVArrow::fromPoint)(colorRepresentation,(MBSim::OpenMBVArrow::ColorRepresentation),MBSim::OpenMBVArrow::none)(minimalColorValue,(
double),0)(maximalColorValue,(
double),1)(diffuseColor,(
const fmatvec::Vec3&),
"[-1;1;1]")(transparency,(
double),0)(pointSize,(
double),0)(lineWidth,(
double),0))) {
58 ombvArrow = std::shared_ptr<MBSim::OpenMBVArrow>(
new MBSim::OpenMBVArrow(scaleLength,scaleSize,MBSim::OpenMBVArrow::toHead,referencePoint,colorRepresentation,minimalColorValue,maximalColorValue,diffuseColor,transparency,pointSize,lineWidth));
61 void setOpenMBVIvScreenAnnotation(
const std::shared_ptr<OpenMBV::IvScreenAnnotation> &ivsa);
62 std::shared_ptr<OpenMBV::IvScreenAnnotation> getOpenMBVIvScreenAnnotation()
const;
Definition: signal_observer.h:36
Signal.
Definition: signal_.h:38