config.h   config.h 
/** \file config.h /** \file config.h
\brief Defines OpenRAVE installation-specific information. \brief Defines OpenRAVE installation-specific information.
*/ */
#ifndef OPENRAVE_DEFINITIONS_H #ifndef OPENRAVE_DEFINITIONS_H
#define OPENRAVE_DEFINITIONS_H #define OPENRAVE_DEFINITIONS_H
#define OPENRAVE_VERSION_MAJOR 0 #define OPENRAVE_VERSION_MAJOR 0
#define OPENRAVE_VERSION_MINOR 3 #define OPENRAVE_VERSION_MINOR 3
#define OPENRAVE_VERSION_PATCH 1 #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.3.1" #define OPENRAVE_VERSION_STRING "0.3.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.3.1/share/openrave-0.3/plugins" /openrave/0.3.2/share/openrave-0.3/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.3.1/share/openrave-0.3" enrave/0.3.2/share/openrave-0.3"
#define OPENRAVE_PYTHON_INSTALL_DIR "/home/andrey/upstream-tracker/testing/ #define OPENRAVE_PYTHON_INSTALL_DIR "/home/andrey/upstream-tracker/testing/
openrave/0.3.1/lib/python2.7/site-packages" openrave/0.3.2/lib/python2.7/site-packages"
#endif #endif
 End of changes. 3 change blocks. 
8 lines changed or deleted 8 lines changed or added


 environment.h   environment.h 
skipping to change at line 202 skipping to change at line 202
/// \brief Return simulation time since the start of the environment (i n microseconds). <b>[multi-thread safe]</b> /// \brief Return simulation time since the start of the environment (i n microseconds). <b>[multi-thread safe]</b>
/// ///
/// See \ref arch_simulation for more about the simulation thread. /// See \ref arch_simulation for more about the simulation thread.
virtual uint64_t GetSimulationTime() = 0; virtual uint64_t GetSimulationTime() = 0;
//@} //@}
/// \name XML Parsing, File Loading /// \name XML Parsing, File Loading
/// \anchor env_loading /// \anchor env_loading
//@{ //@{
/// Loads a scene from an XML file, environment is locked automatically making this method thread-safe /// \brief Loads a scene from an OpenRAVE XML file. <b>[multi-thread sa fe]</b>
virtual bool Load(const std::string& filename) = 0; virtual bool Load(const std::string& filename) = 0;
/// Loads a scene from XML-formatted data, environment is locked automa tically making this method thread-safe /// Loads a scene from XML-formatted data, environment is locked automa tically making this method thread-safe
virtual bool LoadXMLData(const std::string& data) = 0; virtual bool LoadXMLData(const std::string& data) = 0;
/// Saves a scene depending on the filename extension. Default is in CO LLADA format /// Saves a scene depending on the filename extension. Default is in CO LLADA format
virtual bool Save(const std::string& filename) = 0; virtual bool Save(const std::string& filename) = 0;
/** \brief Initializes a robot from an XML file. The robot should not b e added the environment when calling this function. <b>[multi-thread safe]< /b> /** \brief Initializes a robot from a resource file. The robot is not a dded to the environment when calling this function. <b>[multi-thread safe]< /b>
\param robot If a null pointer is passed, a new robot will be creat ed, otherwise an existing robot will be filled \param robot If a null pointer is passed, a new robot will be creat ed, otherwise an existing robot will be filled
\param filename the name of the file to open \param filename the name of the resource file, its extension determ ines the format of the file. See \ref supported_formats.
\param atts The attribute/value pair specifying loading options. De fined in \ref arch_robot. \param atts The attribute/value pair specifying loading options. De fined in \ref arch_robot.
*/ */
virtual RobotBasePtr ReadRobotXMLFile(RobotBasePtr robot, const std::st ring& filename, const AttributesList& atts = AttributesList()) = 0; virtual RobotBasePtr ReadRobotXMLFile(RobotBasePtr robot, const std::st ring& filename, const AttributesList& atts = AttributesList()) = 0;
/// \brief Creates a new robot from an XML file with no extra load opti ons specified. <b>[multi-thread safe]</b> /// \brief Creates a new robot from an XML file with no extra load opti ons specified. <b>[multi-thread safe]</b>
virtual RobotBasePtr ReadRobotXMLFile(const std::string& filename) = 0; virtual RobotBasePtr ReadRobotXMLFile(const std::string& filename) = 0;
/** \brief Initialize a robot from an XML formatted string. <b>[multi-t hread safe]</b> /** \brief Initialize a robot from an XML formatted string. <b>[multi-t hread safe]</b>
The robot should not be added the environment when calling this fun ction. The robot should not be added the environment when calling this fun ction.
\param robot If a null pointer is passed, a new robot will be creat ed, otherwise an existing robot will be filled \param robot If a null pointer is passed, a new robot will be creat ed, otherwise an existing robot will be filled
\param atts The attribute/value pair specifying loading options. De fined in \ref arch_robot. \param atts The attribute/value pair specifying loading options. De fined in \ref arch_robot.
*/ */
virtual RobotBasePtr ReadRobotXMLData(RobotBasePtr robot, const std::st ring& data, const AttributesList& atts = AttributesList()) = 0; virtual RobotBasePtr ReadRobotXMLData(RobotBasePtr robot, const std::st ring& data, const AttributesList& atts = AttributesList()) = 0;
/** \brief Initializes a kinematic body from an XML file. The body shou ld not be added to the environment when calling this function. <b>[multi-th read safe]</b> /** \brief Initializes a kinematic body from a resource file. The body is not added to the environment when calling this function. <b>[multi-threa d safe]</b>
\param filename the name of the file to open \param filename the name of the resource file, its extension determ ines the format of the file. See \ref supported_formats.
\param body If a null pointer is passed, a new body will be created , otherwise an existing robot will be filled \param body If a null pointer is passed, a new body will be created , otherwise an existing robot will be filled
\param atts The attribute/value pair specifying loading options. De fined in \ref arch_kinbody. \param atts The attribute/value pair specifying loading options. De fined in \ref arch_kinbody.
*/ */
virtual KinBodyPtr ReadKinBodyXMLFile(KinBodyPtr body, const std::strin g& filename, const AttributesList& atts = AttributesList()) = 0; virtual KinBodyPtr ReadKinBodyXMLFile(KinBodyPtr body, const std::strin g& filename, const AttributesList& atts = AttributesList()) = 0;
/// \brief Creates a new kinbody from an XML file with no extra load op tions specified. <b>[multi-thread safe]</b> /// \brief Creates a new kinbody from an XML file with no extra load op tions specified. <b>[multi-thread safe]</b>
virtual KinBodyPtr ReadKinBodyXMLFile(const std::string& filename) = 0; virtual KinBodyPtr ReadKinBodyXMLFile(const std::string& filename) = 0;
/** \brief Initializes a kinematic body from an XML formatted string. < b>[multi-thread safe]</b> /** \brief Initializes a kinematic body from an XML formatted string. < b>[multi-thread safe]</b>
The body should not be added to the environment when calling this f unction. The body should not be added to the environment when calling this f unction.
\param body If a null pointer is passed, a new body will be created , otherwise an existing robot will be filled \param body If a null pointer is passed, a new body will be created , otherwise an existing robot will be filled
\param atts The attribute/value pair specifying loading options. De fined in \ref arch_kinbody. \param atts The attribute/value pair specifying loading options. De fined in \ref arch_kinbody.
*/ */
virtual KinBodyPtr ReadKinBodyXMLData(KinBodyPtr body, const std::strin g& data, const AttributesList& atts = AttributesList()) = 0; virtual KinBodyPtr ReadKinBodyXMLData(KinBodyPtr body, const std::strin g& data, const AttributesList& atts = AttributesList()) = 0;
/** \brief Initializes an interface from an XML file. <b>[multi-thread safe]</b> /** \brief Initializes an interface from a resource file. <b>[multi-thr ead safe]</b>
\param pinterface If a null pointer is passed, a new interface will be created, otherwise an existing interface will be filled \param pinterface If a null pointer is passed, a new interface will be created, otherwise an existing interface will be filled
\param filename the name of the file to open \param filename the name of the resource file, its extension determ ines the format of the file. See \ref supported_formats.
\param atts The attribute/value pair specifying loading options. Se e the individual interface descriptions at \ref interface_concepts. \param atts The attribute/value pair specifying loading options. Se e the individual interface descriptions at \ref interface_concepts.
*/ */
virtual InterfaceBasePtr ReadInterfaceXMLFile(InterfaceBasePtr pinterfa ce, InterfaceType type, const std::string& filename, const AttributesList& atts = AttributesList()) = 0; virtual InterfaceBasePtr ReadInterfaceXMLFile(InterfaceBasePtr pinterfa ce, InterfaceType type, const std::string& filename, const AttributesList& atts = AttributesList()) = 0;
virtual InterfaceBasePtr ReadInterfaceXMLFile(const std::string& filena me, const AttributesList& atts = AttributesList()) = 0; virtual InterfaceBasePtr ReadInterfaceXMLFile(const std::string& filena me, const AttributesList& atts = AttributesList()) = 0;
/** \brief Initializes an interface from an XML formatted string. <b>[m ulti-thread safe]</b> /** \brief Initializes an interface from an XML formatted string. <b>[m ulti-thread safe]</b>
\param pinterface If a null pointer is passed, a new interface will be created, otherwise an existing interface will be filled \param pinterface If a null pointer is passed, a new interface will be created, otherwise an existing interface will be filled
\param data string containing XML data \param data string containing XML data
\param atts The attribute/value pair specifying loading options. Se e the individual interface descriptions at \ref interface_concepts. \param atts The attribute/value pair specifying loading options. Se e the individual interface descriptions at \ref interface_concepts.
*/ */
virtual InterfaceBasePtr ReadInterfaceXMLData(InterfaceBasePtr pinterfa ce, InterfaceType type, const std::string& data, const AttributesList& atts = AttributesList()) = 0; virtual InterfaceBasePtr ReadInterfaceXMLData(InterfaceBasePtr pinterfa ce, InterfaceType type, const std::string& data, const AttributesList& atts = AttributesList()) = 0;
/// \brief reads in the rigid geometry of a filename into a TRIMESH str /** \brief reads in the rigid geometry of a resource file into a TRIMES
ucture H structure
///
/// \param filename The resource filename to open. Can be any number of \param filename the name of the resource file, its extension determ
known formats. Complex meshes and articulated meshes are all triangulated ines the format of the file. Complex meshes and articulated meshes are all
appropriately. triangulated appropriately. See \ref supported_formats.
/// \param options Options to control the parsing process. \param options Options to control the parsing process.
*/
virtual boost::shared_ptr<KinBody::Link::TRIMESH> ReadTrimeshFile(boost ::shared_ptr<KinBody::Link::TRIMESH> ptrimesh, const std::string& filename, const AttributesList& atts = AttributesList()) = 0; virtual boost::shared_ptr<KinBody::Link::TRIMESH> ReadTrimeshFile(boost ::shared_ptr<KinBody::Link::TRIMESH> ptrimesh, const std::string& filename, const AttributesList& atts = AttributesList()) = 0;
/// \deprecated (10/09/30) see \ref RaveRegisterXMLReader /// \deprecated (10/09/30) see \ref RaveRegisterXMLReader
virtual boost::shared_ptr<void> RegisterXMLReader(InterfaceType type, c onst std::string& xmltag, const CreateXMLReaderFn& fn) RAVE_DEPRECATED = 0; virtual boost::shared_ptr<void> RegisterXMLReader(InterfaceType type, c onst std::string& xmltag, const CreateXMLReaderFn& fn) RAVE_DEPRECATED = 0;
/// \brief Parses a file for OpenRAVE XML formatted data. /// \brief Parses a file for OpenRAVE XML formatted data.
virtual bool ParseXMLFile(BaseXMLReaderPtr preader, const std::string& filename) = 0; virtual bool ParseXMLFile(BaseXMLReaderPtr preader, const std::string& filename) = 0;
/// \brief Parses a data file for XML data. /** \brief Parses a data file for XML data.
/// \param pdata The data of the buffer
/// \param len the number of bytes valid in pdata \param pdata The data of the buffer
\param len the number of bytes valid in pdata
*/
virtual bool ParseXMLData(BaseXMLReaderPtr preader, const std::string& data) = 0; virtual bool ParseXMLData(BaseXMLReaderPtr preader, const std::string& data) = 0;
//@} //@}
/// \name Object Setting and Querying /// \name Object Setting and Querying
/// \anchor env_objects /// \anchor env_objects
//@{ //@{
/// \brief Add a body to the environment /// \brief Add a body to the environment
/// ///
/// \param[in] body the pointer to an initialized body /// \param[in] body the pointer to an initialized body
 End of changes. 9 change blocks. 
17 lines changed or deleted 20 lines changed or added


 geometry.h   geometry.h 
skipping to change at line 409 skipping to change at line 409
inline RaveVector<U> rotate(const RaveVector<U>& r) const { inline RaveVector<U> rotate(const RaveVector<U>& r) const {
RaveVector<U> v; RaveVector<U> v;
v.x = r.x * m[0] + r.y * m[1] + r.z * m[2]; v.x = r.x * m[0] + r.y * m[1] + r.z * m[2];
v.y = r.x * m[4] + r.y * m[5] + r.z * m[6]; v.y = r.x * m[4] + r.y * m[5] + r.z * m[6];
v.z = r.x * m[8] + r.y * m[9] + r.z * m[10]; v.z = r.x * m[8] + r.y * m[9] + r.z * m[10];
return v; return v;
} }
inline RaveTransformMatrix<T> rotate(const RaveTransformMatrix<T>& r) c onst { inline RaveTransformMatrix<T> rotate(const RaveTransformMatrix<T>& r) c onst {
RaveTransformMatrix<T> t; RaveTransformMatrix<T> t;
mult3_s4(&t.m[0], &m[0], &r.m[0]); t.m[0*4+0] = m[0*4+0]*r.m[0*4+0]+m[0*4+1]*r.m[1*4+0]+m[0*4+2]*r.m[2
*4+0];
t.m[0*4+1] = m[0*4+0]*r.m[0*4+1]+m[0*4+1]*r.m[1*4+1]+m[0*4+2]*r.m[2
*4+1];
t.m[0*4+2] = m[0*4+0]*r.m[0*4+2]+m[0*4+1]*r.m[1*4+2]+m[0*4+2]*r.m[2
*4+2];
t.m[1*4+0] = m[1*4+0]*r.m[0*4+0]+m[1*4+1]*r.m[1*4+0]+m[1*4+2]*r.m[2
*4+0];
t.m[1*4+1] = m[1*4+0]*r.m[0*4+1]+m[1*4+1]*r.m[1*4+1]+m[1*4+2]*r.m[2
*4+1];
t.m[1*4+2] = m[1*4+0]*r.m[0*4+2]+m[1*4+1]*r.m[1*4+2]+m[1*4+2]*r.m[2
*4+2];
t.m[2*4+0] = m[2*4+0]*r.m[0*4+0]+m[2*4+1]*r.m[1*4+0]+m[2*4+2]*r.m[2
*4+0];
t.m[2*4+1] = m[2*4+0]*r.m[0*4+1]+m[2*4+1]*r.m[1*4+1]+m[2*4+2]*r.m[2
*4+1];
t.m[2*4+2] = m[2*4+0]*r.m[0*4+2]+m[2*4+1]*r.m[1*4+2]+m[2*4+2]*r.m[2
*4+2];
t.trans[0] = r.trans[0] * m[0] + r.trans[1] * m[1] + r.trans[2] * m [2]; t.trans[0] = r.trans[0] * m[0] + r.trans[1] * m[1] + r.trans[2] * m [2];
t.trans[1] = r.trans[0] * m[4] + r.trans[1] * m[5] + r.trans[2] * m [6]; t.trans[1] = r.trans[0] * m[4] + r.trans[1] * m[5] + r.trans[2] * m [6];
t.trans[2] = r.trans[0] * m[8] + r.trans[1] * m[9] + r.trans[2] * m [10]; t.trans[2] = r.trans[0] * m[8] + r.trans[1] * m[9] + r.trans[2] * m [10];
return t; return t;
} }
/// being on the safe side, do the full inverse incase someone uses sca ling. /// being on the safe side, do the full inverse incase someone uses sca ling.
inline RaveTransformMatrix<T> inverse() const { inline RaveTransformMatrix<T> inverse() const {
// inverse = C^t / det(pf) where C is the matrix of coefficients // inverse = C^t / det(pf) where C is the matrix of coefficients
// calc C^t // calc C^t
 End of changes. 1 change blocks. 
1 lines changed or deleted 18 lines changed or added


 interfacehashes.h   interfacehashes.h 
#define OPENRAVE_COLLISIONCHECKER_HASH "014ee35eee66baf7d21e90bf2137403a" #define OPENRAVE_COLLISIONCHECKER_HASH "014ee35eee66baf7d21e90bf2137403a"
#define OPENRAVE_ROBOT_HASH "9eb74a9517edd027133a655746c4a7b9" #define OPENRAVE_ROBOT_HASH "9eb74a9517edd027133a655746c4a7b9"
#define OPENRAVE_PLANNER_HASH "2d704018a95c63bacb15b489a016f549" #define OPENRAVE_PLANNER_HASH "2d704018a95c63bacb15b489a016f549"
#define OPENRAVE_KINBODY_HASH "d66b65a7daeda8871e95286b3f3b9f52" #define OPENRAVE_KINBODY_HASH "3578ab77ac5d07679dc3ff9b0b7bef91"
#define OPENRAVE_SENSORSYSTEM_HASH "eb1d5470772bd05aeae6f2263cfc4a32" #define OPENRAVE_SENSORSYSTEM_HASH "eb1d5470772bd05aeae6f2263cfc4a32"
#define OPENRAVE_CONTROLLER_HASH "f2ccd3f7cb7dbb87c76d4a578025e77d" #define OPENRAVE_CONTROLLER_HASH "f2ccd3f7cb7dbb87c76d4a578025e77d"
#define OPENRAVE_PROBLEM_HASH "1b9f13107e2369a2e57f0d4a1da05514" #define OPENRAVE_PROBLEM_HASH "1b9f13107e2369a2e57f0d4a1da05514"
#define OPENRAVE_IKSOLVER_HASH "b53e988c774f012e265b6f5b00740122" #define OPENRAVE_IKSOLVER_HASH "b53e988c774f012e265b6f5b00740122"
#define OPENRAVE_PHYSICSENGINE_HASH "3e8e6df1024f812c66157d581cc1e8cd" #define OPENRAVE_PHYSICSENGINE_HASH "3e8e6df1024f812c66157d581cc1e8cd"
#define OPENRAVE_SENSOR_HASH "0a1b8b894aa820aa0fab3397acad643c" #define OPENRAVE_SENSOR_HASH "0a1b8b894aa820aa0fab3397acad643c"
#define OPENRAVE_VIEWER_HASH "ebf2e8d9edf9b100530e041c3ee70300" #define OPENRAVE_VIEWER_HASH "ebf2e8d9edf9b100530e041c3ee70300"
#define OPENRAVE_TRAJECTORY_HASH "d1234f4cd37ab79670ac64edfb61dab5" #define OPENRAVE_TRAJECTORY_HASH "d1234f4cd37ab79670ac64edfb61dab5"
#define OPENRAVE_ENVIRONMENT_HASH "dce2f6f3be824974d0ca247b985e7f49" #define OPENRAVE_ENVIRONMENT_HASH "dce2f6f3be824974d0ca247b985e7f49"
#define OPENRAVE_PLUGININFO_HASH "50aa022a8e5d67f6b758bfb5e546de78" #define OPENRAVE_PLUGININFO_HASH "50aa022a8e5d67f6b758bfb5e546de78"
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 kinbody.h   kinbody.h 
skipping to change at line 800 skipping to change at line 800
/** \brief Return the set of unique closed loops of the kinematics hier archy. /** \brief Return the set of unique closed loops of the kinematics hier archy.
Each loop is a set of link indices and joint indices. For example, a loop of link indices: Each loop is a set of link indices and joint indices. For example, a loop of link indices:
[l_0,l_1,l_2] will consist of three joints connecting l_0 to l_1, l _1 to l_2, and l_2 to l_0. [l_0,l_1,l_2] will consist of three joints connecting l_0 to l_1, l _1 to l_2, and l_2 to l_0.
The first element in the pair is the link l_X, the second element i n the joint connecting l_X to l_(X+1). The first element in the pair is the link l_X, the second element i n the joint connecting l_X to l_(X+1).
*/ */
virtual const std::vector< std::vector< std::pair<LinkPtr, JointPtr> > >& GetClosedLoops() const; virtual const std::vector< std::vector< std::pair<LinkPtr, JointPtr> > >& GetClosedLoops() const;
/** \en \brief Computes the minimal chain of joints that are between tw o links in the order of linkindex1 to linkindex2 /** \en \brief Computes the minimal chain of joints that are between tw o links in the order of linkindex1 to linkindex2
Passive joints are also used in the computation of the chain and ca Passive joints are also used in the computation of the chain and ca
n be returned. Note that a passive joint has a joint index and dof index of n be returned.
-1. Note that a passive joint has a joint index and dof index of -1.
\param[in] linkindex1 the link index to start the search \param[in] linkindex1 the link index to start the search
\param[in] linkindex2 the link index where the search ends \param[in] linkindex2 the link index where the search ends
\param[out] vjoints the joints to fill that describe the chain \param[out] vjoints the joints to fill that describe the chain
\return true if the two links are connected (vjoints will be filled ), false if the links are separate \return true if the two links are connected (vjoints will be filled ), false if the links are separate
\ja \brief 2つのリンクを繋ぐ関節の最短経路を計算する. \ja \brief 2つのリンクを繋ぐ関節の最短経路を計算する.
受動的な関節は,位置関係が固定されているリンクを見つけるために調べられている.受動的な関節も返される可能があるから,注意する必要があり 受動的な関節は,位置関係が固定されているリンクを見つけるために調べられている
ます. 受動的な関節も返される可能があるから,注意する必要があります.
\param[in] linkindex1 始点リンクインデックス \param[in] linkindex1 始点リンクインデックス
\param[in] linkindex2 終点リンクインデックス \param[in] linkindex2 終点リンクインデックス
\param[out] vjoints 関節の経路 \param[out] vjoints 関節の経路
\return 経路が存在している場合,trueを返す. \return 経路が存在している場合,trueを返す.
*/ */
virtual bool GetChain(int linkindex1, int linkindex2, std::vector<Joint Ptr>& vjoints) const; virtual bool GetChain(int linkindex1, int linkindex2, std::vector<Joint Ptr>& vjoints) const;
/// \brief similar to \ref GetChain(int,int,std::vector<JointPtr>&) exc ept returns the links along the path. /// \brief similar to \ref GetChain(int,int,std::vector<JointPtr>&) exc ept returns the links along the path.
virtual bool GetChain(int linkindex1, int linkindex2, std::vector<LinkP tr>& vlinks) const; virtual bool GetChain(int linkindex1, int linkindex2, std::vector<LinkP tr>& vlinks) const;
skipping to change at line 843 skipping to change at line 845
/// ///
/// Note that the mapping of joint structures is not the same as the va lues in GetJointValues since each joint can have more than one degree of fr eedom. /// Note that the mapping of joint structures is not the same as the va lues in GetJointValues since each joint can have more than one degree of fr eedom.
virtual JointPtr GetJointFromDOFIndex(int dofindex) const; virtual JointPtr GetJointFromDOFIndex(int dofindex) const;
//@} //@}
/// \brief Computes the configuration difference values1-values2 and st ores it in values1. /// \brief Computes the configuration difference values1-values2 and st ores it in values1.
/// ///
/// Takes into account joint limits and wrapping of circular joints. /// Takes into account joint limits and wrapping of circular joints.
virtual void SubtractDOFValues(std::vector<dReal>& values1, const std:: vector<dReal>& values2) const; virtual void SubtractDOFValues(std::vector<dReal>& values1, const std:: vector<dReal>& values2) const;
/// \deprecated (01/01/11)
virtual void SubtractJointValues(std::vector<dReal>& q1, const std::vec tor<dReal>& q2) const RAVE_DEPRECATED { SubtractDOFValues(q1,q2); } virtual void SubtractJointValues(std::vector<dReal>& q1, const std::vec tor<dReal>& q2) const RAVE_DEPRECATED { SubtractDOFValues(q1,q2); }
/// \brief Adds a torque to every joint. /// \brief Adds a torque to every joint.
/// ///
/// \param bAdd if true, adds to previous torques, otherwise resets the torques on all bodies and starts from 0 /// \param bAdd if true, adds to previous torques, otherwise resets the torques on all bodies and starts from 0
virtual void SetJointTorques(const std::vector<dReal>& torques, bool ad d); virtual void SetJointTorques(const std::vector<dReal>& torques, bool ad d);
/// \brief Returns all the rigid links of the body. /// \brief Returns all the rigid links of the body.
virtual const std::vector<LinkPtr>& GetLinks() const { return _veclinks ; } virtual const std::vector<LinkPtr>& GetLinks() const { return _veclinks ; }
skipping to change at line 868 skipping to change at line 871
virtual void GetBodyTransformations(std::vector<Transform>& vtrans) con st; virtual void GetBodyTransformations(std::vector<Transform>& vtrans) con st;
/// queries the transfromation of the first link of the body /// queries the transfromation of the first link of the body
virtual Transform GetTransform() const; virtual Transform GetTransform() const;
/// \brief Set the velocity of the base link, rest of links are set to a consistent velocity so entire robot moves correctly. /// \brief Set the velocity of the base link, rest of links are set to a consistent velocity so entire robot moves correctly.
/// \param linearvel linear velocity /// \param linearvel linear velocity
/// \param angularvel is the rotation axis * angular speed /// \param angularvel is the rotation axis * angular speed
virtual bool SetVelocity(const Vector& linearvel, const Vector& angular vel); virtual bool SetVelocity(const Vector& linearvel, const Vector& angular vel);
/// \brief Sets the velocity of the base link and each of the joints. /** \brief Sets the velocity of the base link and each of the joints.
///
/// Computes internally what the correponding velocities of each of the Computes internally what the correponding velocities of each of the
links should be in order to links should be in order to
/// achieve consistent results with the joint velocities. Sends the vel achieve consistent results with the joint velocities. Sends the vel
ocities to the physics engine. ocities to the physics engine.
/// Velocities correspond to the link's coordinate system origin. Velocities correspond to the link's coordinate system origin.
/// \param[in] linearvel linear velocity of base link \param[in] linearvel linear velocity of base link
/// \param[in] angularvel angular velocity rotation_axis*theta_dot \param[in] angularvel angular velocity rotation_axis*theta_dot
/// \param[in] vDOFVelocities - velocities of each of the degrees of fr \param[in] vDOFVelocities - velocities of each of the degrees of fr
eeom eeom
/// \praam checklimits if true, will excplicitly check the joint veloci \param checklimits if true, will excplicitly check the joint veloci
ty limits before setting the values. ty limits before setting the values.
virtual bool SetDOFVelocities(const std::vector<dReal>& vDOFVelocities, */
const Vector& linearvel, const Vector& angularvel,bool checklimits = false virtual bool SetDOFVelocities(const std::vector<dReal>& vDOFVelocities,
); const Vector& linearvel,
const Vector& angularvel,bool checklimits
= false);
/// \brief Sets the velocity of the joints. /// \brief Sets the velocity of the joints.
/// ///
/// Copies the current velocity of the base link and calls SetDOFVeloci ties(linearvel,angularvel,vDOFVelocities) /// Copies the current velocity of the base link and calls SetDOFVeloci ties(linearvel,angularvel,vDOFVelocities)
/// \param[in] vDOFVelocity - velocities of each of the degrees of free om /// \param[in] vDOFVelocity - velocities of each of the degrees of free om
/// \praam checklimits if true, will excplicitly check the joint veloci ty limits before setting the values. /// \praam checklimits if true, will excplicitly check the joint veloci ty limits before setting the values.
virtual bool SetDOFVelocities(const std::vector<dReal>& vDOFVelocities, bool checklimits = false); virtual bool SetDOFVelocities(const std::vector<dReal>& vDOFVelocities, bool checklimits = false);
/// Returns the linear and angular velocities for each link /// \brief Returns the linear and angular velocities for each link
virtual bool GetLinkVelocities(std::vector<std::pair<Vector,Vector> >& velocities) const; virtual bool GetLinkVelocities(std::vector<std::pair<Vector,Vector> >& velocities) const;
/** \en \brief set the transform of the first link (the rest of the lin ks are computed based on the joint values). /** \en \brief set the transform of the first link (the rest of the lin ks are computed based on the joint values).
\param transform affine transformation \param transform affine transformation
\ja \brief 胴体の絶対姿勢を設定、残りのリンクは運動学の構造に従って変換される. \ja \brief 胴体の絶対姿勢を設定、残りのリンクは運動学の構造に従って変換される.
\param transform 変換行列 \param transform 変換行列
*/ */
skipping to change at line 1125 skipping to change at line 1130
///< i|(j<<16) will be in the s et where i<j. ///< i|(j<<16) will be in the s et where i<j.
std::vector< std::pair<std::string, std::string> > _vForcedAdjacentLink s; ///< internally stores forced adjacent links std::vector< std::pair<std::string, std::string> > _vForcedAdjacentLink s; ///< internally stores forced adjacent links
std::list<KinBodyWeakPtr> _listAttachedBodies; ///< list of bodies that are directly attached to this body (can have duplicates) std::list<KinBodyWeakPtr> _listAttachedBodies; ///< list of bodies that are directly attached to this body (can have duplicates)
std::list<std::pair<int,boost::function<void()> > > _listRegisteredCall backs; ///< callbacks to call when particular properties of the body change . std::list<std::pair<int,boost::function<void()> > > _listRegisteredCall backs; ///< callbacks to call when particular properties of the body change .
mutable boost::array<std::set<int>, 4> _setNonAdjacentLinks; ///< c ontains cached versions of the non-adjacent links depending on values in Ad jacentOptions. Declared as mutable since data is cached. mutable boost::array<std::set<int>, 4> _setNonAdjacentLinks; ///< c ontains cached versions of the non-adjacent links depending on values in Ad jacentOptions. Declared as mutable since data is cached.
mutable int _nNonAdjacentLinkCache; ///< specifies what information is currently valid in the AdjacentOptions. Declared as mutable since data is cached. If 0x80000000 (ie < 0), then everything needs to be recomputed incl uding _setNonAdjacentLinks[0]. mutable int _nNonAdjacentLinkCache; ///< specifies what information is currently valid in the AdjacentOptions. Declared as mutable since data is cached. If 0x80000000 (ie < 0), then everything needs to be recomputed incl uding _setNonAdjacentLinks[0].
std::vector<Transform> _vInitialLinkTransformations; ///< the initial t ransformations of each link specifying at least one pose where the robot is collision free std::vector<Transform> _vInitialLinkTransformations; ///< the initial t ransformations of each link specifying at least one pose where the robot is collision free
int _environmentid; ///< \see GetEnvironmentId int _environmentid; ///< \see GetEnvironmentId
int _nUpdateStampId; ///< \see GetUpdateStamp mutable int _nUpdateStampId; ///< \see GetUpdateStamp
int _nParametersChanged; ///< set of parameters that changed and need c allbacks int _nParametersChanged; ///< set of parameters that changed and need c allbacks
UserDataPtr _pGuiData; ///< \see SetGuiData UserDataPtr _pGuiData; ///< \see SetGuiData
UserDataPtr _pPhysicsData; ///< \see SetPhysicsData UserDataPtr _pPhysicsData; ///< \see SetPhysicsData
UserDataPtr _pCollisionData; ///< \see SetCollisionData UserDataPtr _pCollisionData; ///< \see SetCollisionData
ManageDataPtr _pManageData; ManageDataPtr _pManageData;
uint8_t _nHierarchyComputed; ///< true if the joint heirarchy and other cached information is computed uint8_t _nHierarchyComputed; ///< true if the joint heirarchy and other cached information is computed
bool _bMakeJoinedLinksAdjacent; bool _bMakeJoinedLinksAdjacent;
private: private:
std::string __hashkinematics; std::string __hashkinematics;
mutable std::vector<dReal> _vTempJoints; mutable std::vector<dReal> _vTempJoints;
 End of changes. 6 change blocks. 
23 lines changed or deleted 26 lines changed or added


 openrave.h   openrave.h 
// -*- coding: utf-8 -*- // -*- coding: utf-8 -*-
// Copyright (C) 2006-2011 Rosen Diankov (rosen.diankov@gmail.com) // Copyright (C) 2006-2011 Rosen Diankov <rosen.diankov@gmail.com>
// //
// This file is part of OpenRAVE. // This file is part of OpenRAVE.
// OpenRAVE is free software: you can redistribute it and/or modify // OpenRAVE is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by // it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or // the Free Software Foundation, either version 3 of the License, or
// at your option) any later version. // at your option) any later version.
// //
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
skipping to change at line 593 skipping to change at line 594
#define IS_DEBUGLEVEL(level) (OpenRAVE::RaveGetDebugLevel()>=(level)) #define IS_DEBUGLEVEL(level) (OpenRAVE::RaveGetDebugLevel()>=(level))
/// \brief Enumeration of all the interfaces. /// \brief Enumeration of all the interfaces.
enum InterfaceType enum InterfaceType
{ {
PT_Planner=1, ///< describes \ref PlannerBase interface PT_Planner=1, ///< describes \ref PlannerBase interface
PT_Robot=2, ///< describes \ref RobotBase interface PT_Robot=2, ///< describes \ref RobotBase interface
PT_SensorSystem=3, ///< describes \ref SensorSystemBase interface PT_SensorSystem=3, ///< describes \ref SensorSystemBase interface
PT_Controller=4, ///< describes \ref ControllerBase interface PT_Controller=4, ///< describes \ref ControllerBase interface
PT_ProblemInstance=5, ///< describes \ref ProblemInstance interface PT_ProblemInstance=5, ///< describes \ref ProblemInstance interface
PT_IkSolver=6, ///< describes \ref IkSolverBase interface
PT_InverseKinematicsSolver=6, ///< describes \ref IkSolverBase interfac e PT_InverseKinematicsSolver=6, ///< describes \ref IkSolverBase interfac e
PT_KinBody=7, ///< describes \ref KinBody PT_KinBody=7, ///< describes \ref KinBody
PT_PhysicsEngine=8, ///< describes \ref PhysicsEngineBase PT_PhysicsEngine=8, ///< describes \ref PhysicsEngineBase
PT_Sensor=9, ///< describes \ref SensorBase PT_Sensor=9, ///< describes \ref SensorBase
PT_CollisionChecker=10, ///< describes \ref CollisionCheckerBase PT_CollisionChecker=10, ///< describes \ref CollisionCheckerBase
PT_Trajectory=11, ///< describes \ref TrajectoryBase PT_Trajectory=11, ///< describes \ref TrajectoryBase
PT_Viewer=12,///< describes \ref ViewerBase PT_Viewer=12,///< describes \ref ViewerBase
PT_NumberOfInterfaces=12 ///< number of interfaces, do not forget to up date PT_NumberOfInterfaces=12 ///< number of interfaces, do not forget to up date
}; };
skipping to change at line 1188 skipping to change at line 1190
/// \brief Returns true if interface can be created, otherwise false. /// \brief Returns true if interface can be created, otherwise false.
OPENRAVE_API bool RaveHasInterface(InterfaceType type, const std::string& i nterfacename); OPENRAVE_API bool RaveHasInterface(InterfaceType type, const std::string& i nterfacename);
OPENRAVE_API InterfaceBasePtr RaveCreateInterface(EnvironmentBasePtr penv, InterfaceType type,const std::string& interfacename); OPENRAVE_API InterfaceBasePtr RaveCreateInterface(EnvironmentBasePtr penv, InterfaceType type,const std::string& interfacename);
OPENRAVE_API RobotBasePtr RaveCreateRobot(EnvironmentBasePtr penv, const st d::string& name=""); OPENRAVE_API RobotBasePtr RaveCreateRobot(EnvironmentBasePtr penv, const st d::string& name="");
OPENRAVE_API PlannerBasePtr RaveCreatePlanner(EnvironmentBasePtr penv, cons t std::string& name); OPENRAVE_API PlannerBasePtr RaveCreatePlanner(EnvironmentBasePtr penv, cons t std::string& name);
OPENRAVE_API SensorSystemBasePtr RaveCreateSensorSystem(EnvironmentBasePtr penv, const std::string& name); OPENRAVE_API SensorSystemBasePtr RaveCreateSensorSystem(EnvironmentBasePtr penv, const std::string& name);
OPENRAVE_API ControllerBasePtr RaveCreateController(EnvironmentBasePtr penv , const std::string& name); OPENRAVE_API ControllerBasePtr RaveCreateController(EnvironmentBasePtr penv , const std::string& name);
OPENRAVE_API ProblemInstancePtr RaveCreateProblem(EnvironmentBasePtr penv, const std::string& name); OPENRAVE_API ProblemInstancePtr RaveCreateProblem(EnvironmentBasePtr penv, const std::string& name);
OPENRAVE_API ProblemInstancePtr RaveCreateProblemInstance(EnvironmentBasePt r penv, const std::string& name);
OPENRAVE_API IkSolverBasePtr RaveCreateIkSolver(EnvironmentBasePtr penv, co nst std::string& name); OPENRAVE_API IkSolverBasePtr RaveCreateIkSolver(EnvironmentBasePtr penv, co nst std::string& name);
OPENRAVE_API PhysicsEngineBasePtr RaveCreatePhysicsEngine(EnvironmentBasePt r penv, const std::string& name); OPENRAVE_API PhysicsEngineBasePtr RaveCreatePhysicsEngine(EnvironmentBasePt r penv, const std::string& name);
OPENRAVE_API SensorBasePtr RaveCreateSensor(EnvironmentBasePtr penv, const std::string& name); OPENRAVE_API SensorBasePtr RaveCreateSensor(EnvironmentBasePtr penv, const std::string& name);
OPENRAVE_API CollisionCheckerBasePtr RaveCreateCollisionChecker(Environment BasePtr penv, const std::string& name); OPENRAVE_API CollisionCheckerBasePtr RaveCreateCollisionChecker(Environment BasePtr penv, const std::string& name);
OPENRAVE_API ViewerBasePtr RaveCreateViewer(EnvironmentBasePtr penv, const std::string& name); OPENRAVE_API ViewerBasePtr RaveCreateViewer(EnvironmentBasePtr penv, const std::string& name);
OPENRAVE_API KinBodyPtr RaveCreateKinBody(EnvironmentBasePtr penv, const s td::string& name=""); OPENRAVE_API KinBodyPtr RaveCreateKinBody(EnvironmentBasePtr penv, const s td::string& name="");
/// \brief Return an empty trajectory instance initialized to nDOF degrees of freedom. Will be deprecated soon /// \brief Return an empty trajectory instance initialized to nDOF degrees of freedom. Will be deprecated soon
OPENRAVE_API TrajectoryBasePtr RaveCreateTrajectory(EnvironmentBasePtr penv , int nDOF); OPENRAVE_API TrajectoryBasePtr RaveCreateTrajectory(EnvironmentBasePtr penv , int nDOF);
/// \brief Return an empty trajectory instance. /// \brief Return an empty trajectory instance.
OPENRAVE_API TrajectoryBasePtr RaveCreateTrajectory(EnvironmentBasePtr penv , const std::string& name=""); OPENRAVE_API TrajectoryBasePtr RaveCreateTrajectory(EnvironmentBasePtr penv , const std::string& name="");
 End of changes. 3 change blocks. 
1 lines changed or deleted 3 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/