cartogapher 源码分析 (transform)

分析子文件夹transform的内容

proto

首先打开.proto去查看依赖的数据结构,可以发现google就是爱造轮子,连基本的vector和四元数也自定义。

主要分为三种数据

变量 用途
Vector 表示移动
Quaternion 表示旋转
Rigid 封装了移动和旋转

所有坐标系都是右手坐标系,x前,y左,z上。和ros一样。

eigen库和这个刚好相反(这个不太了解,需要去测试一些eigen的函数,学习学习)

syntax = "proto2";

package cartographer.transform.proto;

// All coordinates are expressed in the right-handed Cartesian coordinate system
// used by Cartographer (x forward, y left, z up). Message names are chosen to
// mirror those used in the Eigen library.

message Vector2d {
  optional double x = 1;
  optional double y = 2;
}

message Vector2f {
  optional float x = 1;
  optional float y = 2;
}

message Vector3d {
  optional double x = 1;
  optional double y = 2;
  optional double z = 3;
}

message Vector3f {
  optional float x = 1;
  optional float y = 2;
  optional float z = 3;
}

message Quaterniond {
  optional double x = 1;
  optional double y = 2;
  optional double z = 3;
  optional double w = 4;
}

message Quaternionf {
  optional float x = 1;
  optional float y = 2;
  optional float z = 3;
  optional float w = 4;
}

message Rigid2d {
  optional Vector2d translation = 1;
  optional doub
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很高兴回答你关于Kettle源码的问题。Kettle(也称为Pentaho Data Integration)是一款开源的ETL(Extract, Transform, Load)工具,用于数据集成和数据处理。 Kettle的源码可以在其官方网站或GitHub上找到。它是使用Java编写的,主要由一些核心模块和插件组成。核心模块包括了换引擎、元数据管理、作业调度和用户界面等关键功能。 换引擎是Kettle的核心部分,负责执行ETL换过程。它定义了一些基本的元素,如步骤(Step)、作业(Job)、换(Transformation)等,并提供了处理数据流、执行任务和错误处理等功能。 元数据管理模块用于管理Kettle的元数据,包括数据库连接、数据源定义、字段映射等。它提供了对元数据的增删改查操作,并与换引擎进行交互,以实现数据的读取、换和存储。 作业调度模块用于管理Kettle作业的调度和执行。它支持定义作业间的依赖关系,可以定时触发作业执行,还可以监控作业的执行状态和结果。 用户界面模块提供了图形化界面,用于配置和管理Kettle的各个组件。用户可以通过界面进行换和作业的设计、调试和执行,还可以查看日志和统计信息等。 除了核心模块,Kettle还支持插件机制,允许开发人员根据需要扩展Kettle的功能。插件可以包括新的输入输出组件、换步骤、作业脚本等,开发人员可以根据自己的需求进行定制。 总结起来,Kettle的源码分析涉及到核心模块的工作原理、元数据管理、作业调度和用户界面等方面。通过深入研究源码,你可以了解Kettle是如何实现数据集成和处理的,从而更好地使用和定制这个强大的工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值