diff --git a/data/meshes/floor_bauzil.stl b/data/meshes/floor_bauzil.stl new file mode 100644 index 0000000000000000000000000000000000000000..512baf284a88748b256bc5bd789b784da4193eea Binary files /dev/null and b/data/meshes/floor_bauzil.stl differ diff --git a/idl/hpp/corbaserver/rbprm/rbprmbuilder.idl b/idl/hpp/corbaserver/rbprm/rbprmbuilder.idl index ad1b29524d6b383b1a0e9f1b24cce35c1cffb8f3..ec9cc9769ba72b957cd5e956bebfb749008ac6d2 100755 --- a/idl/hpp/corbaserver/rbprm/rbprmbuilder.idl +++ b/idl/hpp/corbaserver/rbprm/rbprmbuilder.idl @@ -772,7 +772,7 @@ module hpp boolean isReachableFromState(in unsigned short stateFrom, in unsigned short stateTo)raises (Error); - floatSeq isDynamicallyReachableFromState(in unsigned short stateFrom, in unsigned short stateTo,in boolean addPathPerPhase, in floatSeq timings,in unsigned short numPointsPerPhase)raises (Error); + floatSeq isDynamicallyReachableFromState(in unsigned short stateFrom, in unsigned short stateTo,in boolean addPathPerPhase, in floatSeq timings,in short numPointsPerPhase)raises (Error); }; // interface Robot diff --git a/src/hpp/corbaserver/rbprm/rbprmfullbody.py b/src/hpp/corbaserver/rbprm/rbprmfullbody.py index c5a174581573ace96040fecca7055d1f9cc95a94..77557602fa6444f1b55d93e43f6afa1dbdade437 100755 --- a/src/hpp/corbaserver/rbprm/rbprmfullbody.py +++ b/src/hpp/corbaserver/rbprm/rbprmfullbody.py @@ -1158,6 +1158,6 @@ class FullBody (object): def isReachableFromState(self,stateFrom,stateTo): return self.client.rbprm.rbprm.isReachableFromState(stateFrom,stateTo) - def isDynamicallyReachableFromState(self,stateFrom,stateTo,addPathPerPhase = False,timings=[],numPointsPerPhases=3): + def isDynamicallyReachableFromState(self,stateFrom,stateTo,addPathPerPhase = False,timings=[],numPointsPerPhases=5): return self.client.rbprm.rbprm.isDynamicallyReachableFromState(stateFrom,stateTo,addPathPerPhase,timings,numPointsPerPhases) diff --git a/src/rbprmbuilder.impl.cc b/src/rbprmbuilder.impl.cc index 0c50e4df59232d9b2ab6900e0b897b57b5c0b54e..1d1a6d69e4408dcb2bf34a3f69cdc6763796ba3b 100755 --- a/src/rbprmbuilder.impl.cc +++ b/src/rbprmbuilder.impl.cc @@ -3363,7 +3363,7 @@ assert(s2 == s1 +1); - hpp::floatSeq* RbprmBuilder::isDynamicallyReachableFromState(unsigned short stateFrom, unsigned short stateTo,bool addPathPerPhase, const hpp::floatSeq &timings, unsigned short numPointPerPhase )throw (hpp::Error){ + hpp::floatSeq* RbprmBuilder::isDynamicallyReachableFromState(unsigned short stateFrom, unsigned short stateTo,bool addPathPerPhase, const hpp::floatSeq &timings, short numPointPerPhase )throw (hpp::Error){ if(!fullBodyLoaded_){ throw std::runtime_error ("fullBody not loaded"); } @@ -3379,7 +3379,7 @@ assert(s2 == s1 +1); Ts.push_back(t_config[i]); res = reachability::isReachableDynamic(fullBody(),lastStatesComputed_[stateFrom],lastStatesComputed_[stateTo],false,Ts,numPointPerPhase); }else{ - res = reachability::isReachableDynamic(fullBody(),lastStatesComputed_[stateFrom],lastStatesComputed_[stateTo],false); + res = reachability::isReachableDynamic(fullBody(),lastStatesComputed_[stateFrom],lastStatesComputed_[stateTo],false,std::vector<double>(),numPointPerPhase); } if (res.success()){ std::vector<int> ids; diff --git a/src/rbprmbuilder.impl.hh b/src/rbprmbuilder.impl.hh index c9a289b5ad4375198d7ec78e4df8bb8aacb77566..9e1e102a1f2a736fecdb81e83e687c627a6ad296 100755 --- a/src/rbprmbuilder.impl.hh +++ b/src/rbprmbuilder.impl.hh @@ -367,7 +367,7 @@ namespace hpp { virtual bool areKinematicsConstraintsVerified(const hpp::floatSeq &point)throw (hpp::Error); virtual bool areKinematicsConstraintsVerifiedForState(unsigned short stateId,const hpp::floatSeq &point)throw (hpp::Error); virtual bool isReachableFromState(unsigned short stateFrom,unsigned short stateTo)throw (hpp::Error); - virtual hpp::floatSeq* isDynamicallyReachableFromState(unsigned short stateFrom, unsigned short stateTo, bool addPathPerPhase, const hpp::floatSeq &timings, unsigned short numPointPerPhase )throw (hpp::Error); + virtual hpp::floatSeq* isDynamicallyReachableFromState(unsigned short stateFrom, unsigned short stateTo, bool addPathPerPhase, const hpp::floatSeq &timings, short numPointPerPhase )throw (hpp::Error); void selectFullBody (const char* name) throw (hpp::Error)