config.h   config.h 
skipping to change at line 40 skipping to change at line 40
#define OPENRAVE_API OPENRAVE_HELPER_DLL_IMPORT #define OPENRAVE_API OPENRAVE_HELPER_DLL_IMPORT
#endif // OPENRAVE_DLL_EXPORTS #endif // OPENRAVE_DLL_EXPORTS
#define OPENRAVE_LOCAL OPENRAVE_HELPER_DLL_LOCAL #define OPENRAVE_LOCAL OPENRAVE_HELPER_DLL_LOCAL
#else // OPENRAVE_DLL is not defined: this means OpenRAVE is a static lib. #else // OPENRAVE_DLL is not defined: this means OpenRAVE is a static lib.
#define OPENRAVE_API #define OPENRAVE_API
#define OPENRAVE_LOCAL #define OPENRAVE_LOCAL
#endif // OPENRAVE_DLL #endif // OPENRAVE_DLL
#define OPENRAVE_VERSION_MAJOR 0 #define OPENRAVE_VERSION_MAJOR 0
#define OPENRAVE_VERSION_MINOR 6 #define OPENRAVE_VERSION_MINOR 6
#define OPENRAVE_VERSION_PATCH 0 #define OPENRAVE_VERSION_PATCH 2
#define OPENRAVE_VERSION_COMBINED(major, minor, patch) (((major) << 16) | ( (minor) << 8) | (patch)) #define OPENRAVE_VERSION_COMBINED(major, minor, patch) (((major) << 16) | ( (minor) << 8) | (patch))
#define OPENRAVE_VERSION OPENRAVE_VERSION_COMBINED(OPENRAVE_VERSION_MAJOR, OPENRAVE_VERSION_MINOR, OPENRAVE_VERSION_PATCH) #define OPENRAVE_VERSION OPENRAVE_VERSION_COMBINED(OPENRAVE_VERSION_MAJOR, OPENRAVE_VERSION_MINOR, OPENRAVE_VERSION_PATCH)
#define OPENRAVE_VERSION_EXTRACT_MAJOR(version) (((version)>>16)&0xff) #define OPENRAVE_VERSION_EXTRACT_MAJOR(version) (((version)>>16)&0xff)
#define OPENRAVE_VERSION_EXTRACT_MINOR(version) (((version)>>8)&0xff) #define OPENRAVE_VERSION_EXTRACT_MINOR(version) (((version)>>8)&0xff)
#define OPENRAVE_VERSION_EXTRACT_PATCH(version) (((version))&0xff) #define OPENRAVE_VERSION_EXTRACT_PATCH(version) (((version))&0xff)
#define OPENRAVE_VERSION_STRING "0.6.0" #define OPENRAVE_VERSION_STRING "0.6.2"
#define OPENRAVE_VERSION_STRING_FORMAT(version) boost::str(boost::format("% s.%s.%s")%(OPENRAVE_VERSION_EXTRACT_MAJOR(version))%(OPENRAVE_VERSION_EXTRA CT_MINOR(version))%(OPENRAVE_VERSION_EXTRACT_PATCH(version))) #define OPENRAVE_VERSION_STRING_FORMAT(version) boost::str(boost::format("% s.%s.%s")%(OPENRAVE_VERSION_EXTRACT_MAJOR(version))%(OPENRAVE_VERSION_EXTRA CT_MINOR(version))%(OPENRAVE_VERSION_EXTRACT_PATCH(version)))
#define OPENRAVE_VERSION_GE(major1, minor1, patch1, major2, minor2, patch2) (OPENRAVE_VERSION_COMBINED(major1, minor1, patch1) >= OPENRAVE_VERSION_COM BINED(major2, minor2, patch2)) #define OPENRAVE_VERSION_GE(major1, minor1, patch1, major2, minor2, patch2) (OPENRAVE_VERSION_COMBINED(major1, minor1, patch1) >= OPENRAVE_VERSION_COM BINED(major2, minor2, patch2))
#define OPENRAVE_VERSION_MINIMUM(major, minor, patch) OPENRAVE_VERSION_GE(O PENRAVE_VERSION_MAJOR, OPENRAVE_VERSION_MINOR, OPENRAVE_VERSION_PATCH, majo r, minor, patch) #define OPENRAVE_VERSION_MINIMUM(major, minor, patch) OPENRAVE_VERSION_GE(O PENRAVE_VERSION_MAJOR, OPENRAVE_VERSION_MINOR, OPENRAVE_VERSION_PATCH, majo r, minor, patch)
// if 0, single precision // if 0, single precision
// if 1, double precision // if 1, double precision
#define OPENRAVE_PRECISION 1 #define OPENRAVE_PRECISION 1
#define OPENRAVE_PLUGINS_INSTALL_DIR "/home/andrey/upstream-tracker/testing #define OPENRAVE_PLUGINS_INSTALL_DIR "/home/andrey/upstream-tracker/testing
/openrave/0.6.0/share/openrave-0.6/plugins" /openrave/0.6.2/share/openrave-0.6/plugins"
#define OPENRAVE_DATA_INSTALL_DIR "/home/andrey/upstream-tracker/testing/op #define OPENRAVE_DATA_INSTALL_DIR "/home/andrey/upstream-tracker/testing/op
enrave/0.6.0/share/openrave-0.6" enrave/0.6.2/share/openrave-0.6"
#define OPENRAVE_PYTHON_INSTALL_DIR "/home/andrey/upstream-tracker/testing/ #define OPENRAVE_PYTHON_INSTALL_DIR "/home/andrey/upstream-tracker/testing/
openrave/0.6.0/lib/python2.7/site-packages" openrave/0.6.2/lib/python2.7/site-packages"
#endif #endif
 End of changes. 3 change blocks. 
8 lines changed or deleted 8 lines changed or added


 geometry.h   geometry.h 
skipping to change at line 796 skipping to change at line 796
rot.normalize4(); rot.normalize4();
return rot; return rot;
} }
/// \brief Converts a quaternion to a 3x3 matrix /// \brief Converts a quaternion to a 3x3 matrix
/// ///
/// \ingroup affine_math /// \ingroup affine_math
/// \param[in] quat quaternion, (s,vx,vy,vz) /// \param[in] quat quaternion, (s,vx,vy,vz)
template <typename T> inline RaveTransformMatrix<T> matrixFromQuat(const Ra veVector<T>& quat) template <typename T> inline RaveTransformMatrix<T> matrixFromQuat(const Ra veVector<T>& quat)
{ {
// should normalize the quaternion first
dReal length2 = quat.lengthsqr4();
BOOST_ASSERT(length2 > 0.99 && length2 < 1.01); // make sure it is at l
east close
dReal ilength2 = 2/length2;
RaveTransformMatrix<T> t; RaveTransformMatrix<T> t;
T qq1 = 2*quat[1]*quat[1]; T qq1 = ilength2*quat[1]*quat[1];
T qq2 = 2*quat[2]*quat[2]; T qq2 = ilength2*quat[2]*quat[2];
T qq3 = 2*quat[3]*quat[3]; T qq3 = ilength2*quat[3]*quat[3];
t.m[4*0+0] = 1 - qq2 - qq3; t.m[4*0+0] = 1 - qq2 - qq3;
t.m[4*0+1] = 2*(quat[1]*quat[2] - quat[0]*quat[3]); t.m[4*0+1] = ilength2*(quat[1]*quat[2] - quat[0]*quat[3]);
t.m[4*0+2] = 2*(quat[1]*quat[3] + quat[0]*quat[2]); t.m[4*0+2] = ilength2*(quat[1]*quat[3] + quat[0]*quat[2]);
t.m[4*0+3] = 0; t.m[4*0+3] = 0;
t.m[4*1+0] = 2*(quat[1]*quat[2] + quat[0]*quat[3]); t.m[4*1+0] = ilength2*(quat[1]*quat[2] + quat[0]*quat[3]);
t.m[4*1+1] = 1 - qq1 - qq3; t.m[4*1+1] = 1 - qq1 - qq3;
t.m[4*1+2] = 2*(quat[2]*quat[3] - quat[0]*quat[1]); t.m[4*1+2] = ilength2*(quat[2]*quat[3] - quat[0]*quat[1]);
t.m[4*1+3] = 0; t.m[4*1+3] = 0;
t.m[4*2+0] = 2*(quat[1]*quat[3] - quat[0]*quat[2]); t.m[4*2+0] = ilength2*(quat[1]*quat[3] - quat[0]*quat[2]);
t.m[4*2+1] = 2*(quat[2]*quat[3] + quat[0]*quat[1]); t.m[4*2+1] = ilength2*(quat[2]*quat[3] + quat[0]*quat[1]);
t.m[4*2+2] = 1 - qq1 - qq2; t.m[4*2+2] = 1 - qq1 - qq2;
t.m[4*2+3] = 0; t.m[4*2+3] = 0;
return t; return t;
} }
/// \brief Converts a quaternion to a 3x3 matrix /// \brief Converts a quaternion to a 3x3 matrix
/// ///
/// \ingroup affine_math /// \ingroup affine_math
/// \param[out] rotation /// \param[out] rotation
/// \param[in] quat quaternion, (s,vx,vy,vz) /// \param[in] quat quaternion, (s,vx,vy,vz)
template <typename T> void matrixFromQuat(RaveTransformMatrix<T>& rotation, const RaveVector<T>& quat) template <typename T> void matrixFromQuat(RaveTransformMatrix<T>& rotation, const RaveVector<T>& quat)
{ {
T qq1 = 2*quat[1]*quat[1]; // should normalize the quaternion first
T qq2 = 2*quat[2]*quat[2]; dReal length2 = quat.lengthsqr4();
T qq3 = 2*quat[3]*quat[3]; BOOST_ASSERT(length2 > 0.99 && length2 < 1.01); // make sure it is at l
east close
dReal ilength2 = 2/length2;
T qq1 = ilength2*quat[1]*quat[1];
T qq2 = ilength2*quat[2]*quat[2];
T qq3 = ilength2*quat[3]*quat[3];
rotation.m[4*0+0] = 1 - qq2 - qq3; rotation.m[4*0+0] = 1 - qq2 - qq3;
rotation.m[4*0+1] = 2*(quat[1]*quat[2] - quat[0]*quat[3]); rotation.m[4*0+1] = ilength2*(quat[1]*quat[2] - quat[0]*quat[3]);
rotation.m[4*0+2] = 2*(quat[1]*quat[3] + quat[0]*quat[2]); rotation.m[4*0+2] = ilength2*(quat[1]*quat[3] + quat[0]*quat[2]);
rotation.m[4*0+3] = 0; rotation.m[4*0+3] = 0;
rotation.m[4*1+0] = 2*(quat[1]*quat[2] + quat[0]*quat[3]); rotation.m[4*1+0] = ilength2*(quat[1]*quat[2] + quat[0]*quat[3]);
rotation.m[4*1+1] = 1 - qq1 - qq3; rotation.m[4*1+1] = 1 - qq1 - qq3;
rotation.m[4*1+2] = 2*(quat[2]*quat[3] - quat[0]*quat[1]); rotation.m[4*1+2] = ilength2*(quat[2]*quat[3] - quat[0]*quat[1]);
rotation.m[4*1+3] = 0; rotation.m[4*1+3] = 0;
rotation.m[4*2+0] = 2*(quat[1]*quat[3] - quat[0]*quat[2]); rotation.m[4*2+0] = ilength2*(quat[1]*quat[3] - quat[0]*quat[2]);
rotation.m[4*2+1] = 2*(quat[2]*quat[3] + quat[0]*quat[1]); rotation.m[4*2+1] = ilength2*(quat[2]*quat[3] + quat[0]*quat[1]);
rotation.m[4*2+2] = 1 - qq1 - qq2; rotation.m[4*2+2] = 1 - qq1 - qq2;
rotation.m[4*2+3] = 0; rotation.m[4*2+3] = 0;
} }
/// \brief Converts an axis-angle rotation to a 3x3 matrix. /// \brief Converts an axis-angle rotation to a 3x3 matrix.
/// ///
/// \ingroup affine_math /// \ingroup affine_math
/// \param axis unit axis, 3 values /// \param axis unit axis, 3 values
/// \param angle rotation angle (radians) /// \param angle rotation angle (radians)
template <typename T> inline RaveTransformMatrix<T> matrixFromAxisAngle(con st RaveVector<T>& axis, T angle) template <typename T> inline RaveTransformMatrix<T> matrixFromAxisAngle(con st RaveVector<T>& axis, T angle)
 End of changes. 11 change blocks. 
18 lines changed or deleted 28 lines changed or added


 iksolver.h   iksolver.h 
skipping to change at line 52 skipping to change at line 52
/** \brief <b>[interface]</b> Base class for all Inverse Kinematic solvers. <b>If not specified, method is not multi-thread safe.</b> See \ref arch_ik solver. /** \brief <b>[interface]</b> Base class for all Inverse Kinematic solvers. <b>If not specified, method is not multi-thread safe.</b> See \ref arch_ik solver.
\ingroup interfaces \ingroup interfaces
*/ */
class OPENRAVE_API IkSolverBase : public InterfaceBase class OPENRAVE_API IkSolverBase : public InterfaceBase
{ {
public: public:
/** Inverse kinematics filter callback function. /** Inverse kinematics filter callback function.
The filter is of the form <tt>return = filterfn(solution, manipulat or, param)</tt>. The filter is of the form <tt>return = filterfn(solution, manipulat or, param)</tt>.
The solution is guaranteed to be set on the robot's joint values be The solution is guaranteed to be set on the robot's joint values be
fore this function is called. fore this function is called. The active dof values of the robot will be se
If modifying the robot state, should restore it before this functio t to the manipulator's arms.
n returns. If the filter internally modifies the robot state and it returns IK
FR_Success, the filter **has** to restore the original robot dof values and
active dofs before it returns.
If the filter happens to modify solution, the the robot state has t
o be set to the new solution.
\param solution The current solution of the manipulator. Can be mod ified by this function, but note that it will not go through previous check s again. \param solution The current solution of the manipulator. Can be mod ified by this function, but note that it will not go through previous check s again.
\param manipulator The current manipulator that the ik is being sol ved for. \param manipulator The current manipulator that the ik is being sol ved for.
\param param The paramterization that IK was called with. This is i n the manipulator base link's coordinate system (which is not necessarily t he world coordinate system). \param param The paramterization that IK was called with. This is i n the manipulator base link's coordinate system (which is not necessarily t he world coordinate system).
\return \ref IkFilterReturn controlling the behavior of the ik sear ch process. \return \ref IkFilterReturn controlling the behavior of the ik sear ch process.
*/ */
typedef boost::function<IkFilterReturn(std::vector<dReal>&, RobotBase:: ManipulatorConstPtr, const IkParameterization&)> IkFilterCallbackFn; typedef boost::function<IkFilterReturn(std::vector<dReal>&, RobotBase:: ManipulatorConstPtr, const IkParameterization&)> IkFilterCallbackFn;
IkSolverBase(EnvironmentBasePtr penv) : InterfaceBase(PT_InverseKinemat icsSolver, penv) { IkSolverBase(EnvironmentBasePtr penv) : InterfaceBase(PT_InverseKinemat icsSolver, penv) {
} }
 End of changes. 1 change blocks. 
4 lines changed or deleted 8 lines changed or added


 openrave.h   openrave.h 
skipping to change at line 883 skipping to change at line 883
Reader(ConfigurationSpecification& spec); Reader(ConfigurationSpecification& spec);
virtual ProcessElement startElement(const std::string& name, const AttributesList& atts); virtual ProcessElement startElement(const std::string& name, const AttributesList& atts);
virtual bool endElement(const std::string& name); virtual bool endElement(const std::string& name);
virtual void characters(const std::string& ch); virtual void characters(const std::string& ch);
protected: protected:
ConfigurationSpecification& _spec; ConfigurationSpecification& _spec;
std::stringstream _ss; std::stringstream _ss;
BaseXMLReaderPtr _preader; BaseXMLReaderPtr _preader;
}; };
ConfigurationSpecification();
ConfigurationSpecification(const Group& g);
ConfigurationSpecification(const ConfigurationSpecification& c);
virtual ~ConfigurationSpecification() { virtual ~ConfigurationSpecification() {
} }
/// \brief return the dimension of the configuraiton space (degrees of freedom) /// \brief return the dimension of the configuraiton space (degrees of freedom)
virtual int GetDOF() const; virtual int GetDOF() const;
/// \brief check if the groups form a continguous space /// \brief check if the groups form a continguous space
/// ///
/// If there are two or more groups with the same semantic names, will fail. Theese groups should be merged into one. /// If there are two or more groups with the same semantic names, will fail. Theese groups should be merged into one.
virtual bool IsValid() const; virtual bool IsValid() const;
skipping to change at line 977 skipping to change at line 981
virtual int AddDeltaTimeGroup(); virtual int AddDeltaTimeGroup();
/** \brief Adds a new group to the specification and returns its new of fset. /** \brief Adds a new group to the specification and returns its new of fset.
If the new group's semantic name does not exist in the current spec ification, adds it and returns the new offset. If the new group's semantic name does not exist in the current spec ification, adds it and returns the new offset.
If the new group's semantic name exists in the current specificatio n and it exactly matches, then function returns the old group's index. If t he semantic names match, but parameters do not match, then an openrave_exce ption is thrown. If the new group's semantic name exists in the current specificatio n and it exactly matches, then function returns the old group's index. If t he semantic names match, but parameters do not match, then an openrave_exce ption is thrown.
This method is not responsible for merging semantic information This method is not responsible for merging semantic information
*/ */
virtual int AddGroup(const std::string& name, int dof, const std::strin g& interpolation = ""); virtual int AddGroup(const std::string& name, int dof, const std::strin g& interpolation = "");
/** \brief Adds a new group to the specification and returns its new of
fset.
\param g the group whose name, dof, and interpolation are extracted
.
If the new group's semantic name does not exist in the current spec
ification, adds it and returns the new offset.
If the new group's semantic name exists in the current specificatio
n and it exactly matches, then function returns the old group's index. If t
he semantic names match, but parameters do not match, then an openrave_exce
ption is thrown.
This method is not responsible for merging semantic information
*/
virtual int AddGroup(const Group& g);
/** \brief Merges all the information from the input group into this gr oup /** \brief Merges all the information from the input group into this gr oup
For groups that are merged, the interpolation is overwritten if the source group has an empty string. For groups that are merged, the interpolation is overwritten if the source group has an empty string.
\throw openrave_exception throws if groups do not contain enough in formation to be merged or interpolations do not match. \throw openrave_exception throws if groups do not contain enough in formation to be merged or interpolations do not match.
*/ */
virtual ConfigurationSpecification& operator+= (const ConfigurationSpec ification& r); virtual ConfigurationSpecification& operator+= (const ConfigurationSpec ification& r);
/** \brief Return a new specification that holds the merged information from the current and input specification and the input parameter.. /** \brief Return a new specification that holds the merged information from the current and input specification and the input parameter..
For groups that are merged, the interpolation either has to match f or both groups, or one of the groups needs an empty interpolation. For groups that are merged, the interpolation either has to match f or both groups, or one of the groups needs an empty interpolation.
 End of changes. 2 change blocks. 
0 lines changed or deleted 19 lines changed or added


 trajectory.h   trajectory.h 
skipping to change at line 56 skipping to change at line 56
\param data The data to insert, can represent multiple consecutive waypoints. data.size()/GetConfigurationSpecification().GetDOF() waypoints a re added. \param data The data to insert, can represent multiple consecutive waypoints. data.size()/GetConfigurationSpecification().GetDOF() waypoints a re added.
\param bOverwrite If true, will overwrite the waypoints starting at index, and will insert new waypoints only if end of trajectory is reached. If false, will insert the points before index: a 0 index inserts the new d ata in the beginning, a GetNumWaypoints() index inserts the new data at the end. \param bOverwrite If true, will overwrite the waypoints starting at index, and will insert new waypoints only if end of trajectory is reached. If false, will insert the points before index: a 0 index inserts the new d ata in the beginning, a GetNumWaypoints() index inserts the new data at the end.
*/ */
virtual void Insert(size_t index, const std::vector<dReal>& data, bool bOverwrite=false) = 0; virtual void Insert(size_t index, const std::vector<dReal>& data, bool bOverwrite=false) = 0;
/** \brief Sets/inserts new waypoints in a \b user-given configuration specification. /** \brief Sets/inserts new waypoints in a \b user-given configuration specification.
\param index The index where to start modifying the trajectory. \param index The index where to start modifying the trajectory.
\param data The data to insert, can represent multiple consecutive waypoints. data.size()/GetConfigurationSpecification().GetDOF() waypoints a re added. \param data The data to insert, can represent multiple consecutive waypoints. data.size()/GetConfigurationSpecification().GetDOF() waypoints a re added.
\param spec the specification in which the input data come in. Depe nding on what data is offered, some values of this trajectory's specificati on might not be initialized. \param spec the specification in which the input data come in. Depe nding on what data is offered, some values of this trajectory's specificati on might not be initialized.
\param bOverwrite If true, will overwrite the waypoints starting at index, and will insert new waypoints only if end of trajectory is reached. If false, will insert the points before index: a 0 index inserts the new d ata in the beginning, a GetNumWaypoints() index inserts the new data at the end. \param bOverwrite If true, will overwrite the waypoints starting at index, and will insert new waypoints only if end of trajectory is reached; if the input spec does not overwrite all the data of the trjectory spec, t hen the original trajectory data will not be overwritten. If false, will in sert the points before index: a 0 index inserts the new data in the beginni ng, a GetNumWaypoints() index inserts the new data at the end.
*/ */
virtual void Insert(size_t index, const std::vector<dReal>& data, const ConfigurationSpecification& spec, bool bOverwrite=false) = 0; virtual void Insert(size_t index, const std::vector<dReal>& data, const ConfigurationSpecification& spec, bool bOverwrite=false) = 0;
/// \brief removes a number of waypoints starting at the specified inde x /// \brief removes a number of waypoints starting at the specified inde x
virtual void Remove(size_t startindex, size_t endindex) = 0; virtual void Remove(size_t startindex, size_t endindex) = 0;
/** \brief samples a data point on the trajectory at a particular time /** \brief samples a data point on the trajectory at a particular time
\param data[out] the sampled point \param data[out] the sampled point
\param time[in] the time to sample \param time[in] the time to sample
skipping to change at line 167 skipping to change at line 167
} }
dReal time; dReal time;
std::vector<dReal> q, qdot, qtorque; std::vector<dReal> q, qdot, qtorque;
Transform trans; Transform trans;
Vector linearvel, angularvel; Vector linearvel, angularvel;
}; };
/// \deprecated (11/10/04) /// \deprecated (11/10/04)
typedef Point TPOINT RAVE_DEPRECATED; typedef Point TPOINT RAVE_DEPRECATED;
/// \deprecated (11/10/04) /// \deprecated (11/10/04) see \ref Sample
virtual bool SampleTrajectory(dReal time, Point& tp) const RAVE_DEPRECA TED; virtual bool SampleTrajectory(dReal time, Point& tp) const RAVE_DEPRECA TED;
/// \deprecated (11/10/04) /// \deprecated (11/10/04) use \ref GetWaypoints
virtual const std::vector<Point>& GetPoints() const RAVE_DEPRECATED; virtual const std::vector<Point>& GetPoints() const RAVE_DEPRECATED;
/// \deprecated (11/10/04) /// \deprecated (11/10/04) use GetConfigurationSpecification().GetDOF()
inline int GetDOF() const RAVE_DEPRECATED { inline int GetDOF() const RAVE_DEPRECATED {
return GetConfigurationSpecification().GetDOF(); return GetConfigurationSpecification().GetDOF();
} }
/// \deprecated (11/10/04) /// \deprecated (11/10/04) see \ref GetDuration()
virtual dReal GetTotalDuration() const RAVE_DEPRECATED virtual dReal GetTotalDuration() const RAVE_DEPRECATED
{ {
return GetDuration(); return GetDuration();
} }
/// \deprecated (11/10/04) /// \deprecated (11/10/04) see \ref serialize
virtual bool Write(std::ostream& O, int options) const RAVE_DEPRECATED { virtual bool Write(std::ostream& O, int options) const RAVE_DEPRECATED {
serialize(O,options); serialize(O,options);
return true; return true;
} }
/// \deprecated (11/10/04) /// \deprecated (11/10/04) see \ref deserialize
virtual bool Read(std::istream& I, RobotBaseConstPtr) RAVE_DEPRECATED { virtual bool Read(std::istream& I, RobotBaseConstPtr) RAVE_DEPRECATED {
deserialize(I); deserialize(I);
return true; return true;
} }
/// \deprecated (11/10/04) /// \deprecated (11/10/04)
virtual int GetInterpMethod() const RAVE_DEPRECATED { virtual int GetInterpMethod() const RAVE_DEPRECATED {
return 0; return 0;
} }
/// \deprecated (11/10/04) /// \deprecated (11/10/04) see \ref planningutils::RetimeActiveDOFTraje ctory and planningutils::RetimeAffineTrajectory
virtual bool CalcTrajTiming(RobotBasePtr probot, int interp, bool auto calc, bool activedof, dReal fmaxvelmult=1) RAVE_DEPRECATED; virtual bool CalcTrajTiming(RobotBasePtr probot, int interp, bool auto calc, bool activedof, dReal fmaxvelmult=1) RAVE_DEPRECATED;
/// \deprecated (11/10/04) /// \deprecated (11/10/04)
virtual void Clear() RAVE_DEPRECATED virtual void Clear() RAVE_DEPRECATED
{ {
Remove(0,GetNumWaypoints()); Remove(0,GetNumWaypoints());
} }
/// \deprecated (11/10/04) /// \deprecated (11/10/04)
virtual void AddPoint(const Point& p) RAVE_DEPRECATED; virtual void AddPoint(const Point& p) RAVE_DEPRECATED;
 End of changes. 8 change blocks. 
8 lines changed or deleted 8 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/