|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
像下面MoveGroupInterface继承了MoveGroupInterfaceImpl,但是public中对MoveGroupInterfaceImpl的操作是什么意思?我理解的重写不是应该是方法吗,整个类也可以这样操作吗?
class MoveGroupInterface::MoveGroupInterfaceImpl
{
public:
MoveGroupInterfaceImpl(const Options& opt, const std::shared_ptr<tf2_ros::Buffer>& tf_buffer,
const ros::WallDuration& wait_for_servers)
: opt_(opt), node_handle_(opt.node_handle_), tf_buffer_(tf_buffer)
{
joint_model_group_ = getRobotModel()->getJointModelGroup(opt.group_name_);
joint_state_target_.reset(new moveit::core::RobotState(getRobotModel()));
joint_state_target_->setToDefaultValues();
active_target_ = JOINT;
can_look_ = false;
can_replan_ = false;
replan_delay_ = 2.0;
goal_joint_tolerance_ = 1e-4;
goal_position_tolerance_ = 1e-4; // 0.1 mm
goal_orientation_tolerance_ = 1e-3; // ~0.1 deg
allowed_planning_time_ = 5.0;
num_planning_attempts_ = 1;
node_handle_.param<double>("robot_description_planning/joint_limits/default_velocity_scaling_factor",
max_velocity_scaling_factor_, 0.1);
node_handle_.param<double>("robot_description_planning/joint_limits/default_acceleration_scaling_factor",
max_acceleration_scaling_factor_, 0.1);
initializing_constraints_ = false;
if (joint_model_group_->isChain())
end_effector_link_ = joint_model_group_->getLinkModelNames().back();
pose_reference_frame_ = getRobotModel()->getModelFrame();
trajectory_event_publisher_ = node_handle_.advertise<std_msgs::String>(
trajectory_execution_manager::TrajectoryExecutionManager::EXECUTION_EVENT_TOPIC, 1, false);
attached_object_publisher_ = node_handle_.advertise<moveit_msgs::AttachedCollisionObject>(
planning_scene_monitor::PlanningSceneMonitor::DEFAULT_ATTACHED_COLLISION_OBJECT_TOPIC, 1, false);
current_state_monitor_ = getSharedStateMonitor(robot_model_, tf_buffer_, node_handle_);
ROS_INFO_STREAM_NAMED(LOGNAME, "Ready to take commands for planning group " << opt.group_name_ << ".");
}
单冒号表示继承
- class b
- {
- }
- class a : public b
- {
- }
复制代码
双冒号表示作用域,表示 class b 是 class a 的内部类
- class a
- {
- public:
- a(){}
- ~a(){}
- public:
- class b;
- private:
- int m_a;
- };
- class a::b
- {
- public:
- b(){};
- ~b(){};
- private:
-
- };
复制代码
|
|