From 8ac26f93138d765f27f4419e7fdbb545002ec4f7 Mon Sep 17 00:00:00 2001 From: Mansard <nmansard@laas.fr> Date: Mon, 7 Nov 2011 16:38:01 +0100 Subject: [PATCH] Modify the policy for plugin a sigptr in input. --- include/dynamic-graph/signal-ptr.h | 1 + include/dynamic-graph/signal-ptr.t.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/include/dynamic-graph/signal-ptr.h b/include/dynamic-graph/signal-ptr.h index f048f8e8..4c6909c6 100644 --- a/include/dynamic-graph/signal-ptr.h +++ b/include/dynamic-graph/signal-ptr.h @@ -107,6 +107,7 @@ namespace dynamicgraph { setConstantDefault( accessCopy () ); } inline void unsetConstantDefault (){ modeNoThrow = false; } + virtual void checkCompatibility(); public: /* --- INHERITANCE --- */ diff --git a/include/dynamic-graph/signal-ptr.t.cpp b/include/dynamic-graph/signal-ptr.t.cpp index 1d32bfa1..82b03bd4 100644 --- a/include/dynamic-graph/signal-ptr.t.cpp +++ b/include/dynamic-graph/signal-ptr.t.cpp @@ -135,6 +135,17 @@ namespace dynamicgraph dgTDEBUGOUT(5); } + template< class T,class Time > + void SignalPtr<T,Time>:: + checkCompatibility () + { + if( isPluged()&&(!autoref ()) ) + { getPtr()->checkCompatibility(); } + else if( isAbstractPluged()&&(!autoref ()) ) + { abstractTransmitter->checkCompatibility(); } + else Signal<T,Time>::checkCompatibility(); + } + template< class T,class Time > bool SignalPtr<T,Time>:: needUpdate( const Time& t ) const -- GitLab