refactor(intrinsics): apply base intrinsics
This commit is contained in:
@@ -811,7 +811,7 @@ std::size_t from_data(Channels::device_info_t *info, const std::uint8_t *data) {
|
||||
return i;
|
||||
}
|
||||
|
||||
std::size_t from_data(Intrinsics *in, const std::uint8_t *data,
|
||||
std::size_t from_data(IntrinsicsPinhole *in, const std::uint8_t *data,
|
||||
const Version *spec_version) {
|
||||
std::size_t i = 0;
|
||||
|
||||
@@ -954,7 +954,7 @@ std::size_t to_data(const Channels::device_info_t *info, std::uint8_t *data,
|
||||
return size + 3;
|
||||
}
|
||||
|
||||
std::size_t to_data(const Intrinsics *in, std::uint8_t *data,
|
||||
std::size_t to_data(const IntrinsicsPinhole *in, std::uint8_t *data,
|
||||
const Version *spec_version) {
|
||||
std::size_t i = 0;
|
||||
|
||||
|
||||
@@ -204,7 +204,7 @@ std::string _from_data(const std::uint8_t *data, std::size_t count);
|
||||
|
||||
std::size_t from_data(Channels::device_info_t *info, const std::uint8_t *data);
|
||||
|
||||
std::size_t from_data(Intrinsics *in, const std::uint8_t *data,
|
||||
std::size_t from_data(IntrinsicsPinhole *in, const std::uint8_t *data,
|
||||
const Version *spec_version);
|
||||
|
||||
std::size_t from_data(ImuIntrinsics *in, const std::uint8_t *data,
|
||||
@@ -236,7 +236,7 @@ std::size_t _to_data(std::string value, std::uint8_t *data, std::size_t count);
|
||||
std::size_t to_data(const Channels::device_info_t *info, std::uint8_t *data,
|
||||
const Version *spec_version);
|
||||
|
||||
std::size_t to_data(const Intrinsics *in, std::uint8_t *data,
|
||||
std::size_t to_data(const IntrinsicsPinhole *in, std::uint8_t *data,
|
||||
const Version *spec_version);
|
||||
|
||||
std::size_t to_data(const ImuIntrinsics *in, std::uint8_t *data,
|
||||
|
||||
@@ -240,7 +240,8 @@ std::string Device::GetInfo(const Info &info) const {
|
||||
}
|
||||
}
|
||||
|
||||
Intrinsics Device::GetIntrinsics(const Stream &stream) const {
|
||||
std::shared_ptr<IntrinsicsBase> Device::GetIntrinsics(
|
||||
const Stream &stream) const {
|
||||
bool ok;
|
||||
return GetIntrinsics(stream, &ok);
|
||||
}
|
||||
@@ -260,7 +261,8 @@ Extrinsics Device::GetMotionExtrinsics(const Stream &from) const {
|
||||
return GetMotionExtrinsics(from, &ok);
|
||||
}
|
||||
|
||||
Intrinsics Device::GetIntrinsics(const Stream &stream, bool *ok) const {
|
||||
std::shared_ptr<IntrinsicsBase> Device::GetIntrinsics(
|
||||
const Stream &stream, bool *ok) const {
|
||||
try {
|
||||
*ok = true;
|
||||
return stream_intrinsics_.at(stream);
|
||||
@@ -311,7 +313,8 @@ Extrinsics Device::GetMotionExtrinsics(const Stream &from, bool *ok) const {
|
||||
}
|
||||
}
|
||||
|
||||
void Device::SetIntrinsics(const Stream &stream, const Intrinsics &in) {
|
||||
void Device::SetIntrinsics(const Stream &stream,
|
||||
const std::shared_ptr<IntrinsicsBase> &in) {
|
||||
stream_intrinsics_[stream] = in;
|
||||
}
|
||||
|
||||
|
||||
@@ -131,11 +131,12 @@ std::size_t StandardChannelsAdapter::GetImgParamsFromData(
|
||||
Channels::img_params_t *img_params) {
|
||||
std::size_t i = 0;
|
||||
|
||||
Intrinsics in_left, in_right;
|
||||
auto in_left = std::make_shared<IntrinsicsPinhole>();
|
||||
auto in_right = std::make_shared<IntrinsicsPinhole>();
|
||||
Extrinsics ex_right_to_left;
|
||||
|
||||
i += bytes::from_data(&in_left, data + i, version);
|
||||
i += bytes::from_data(&in_right, data + i, version);
|
||||
i += bytes::from_data(in_left.get(), data + i, version);
|
||||
i += bytes::from_data(in_right.get(), data + i, version);
|
||||
i += bytes::from_data(&ex_right_to_left, data + i, version);
|
||||
(*img_params)[{752, 480}] = {true, in_left, in_right, ex_right_to_left};
|
||||
|
||||
@@ -147,9 +148,11 @@ std::size_t StandardChannelsAdapter::SetImgParamsToData(
|
||||
std::uint8_t *data) {
|
||||
std::size_t i = 3; // skip id, size
|
||||
|
||||
auto &¶ms = (*img_params).at({752, 480});
|
||||
i += bytes::to_data(¶ms.in_left, data + i, version);
|
||||
i += bytes::to_data(¶ms.in_right, data + i, version);
|
||||
auto params = (*img_params).at({752, 480});
|
||||
auto in_left = std::dynamic_pointer_cast<IntrinsicsPinhole>(params.in_left);
|
||||
auto in_right = std::dynamic_pointer_cast<IntrinsicsPinhole>(params.in_right);
|
||||
i += bytes::to_data(in_left.get(), data + i, version);
|
||||
i += bytes::to_data(in_right.get(), data + i, version);
|
||||
i += bytes::to_data(¶ms.ex_right_to_left, data + i, version);
|
||||
|
||||
// others
|
||||
|
||||
@@ -127,20 +127,26 @@ std::size_t Standard2ChannelsAdapter::GetImgParamsFromData(
|
||||
Channels::img_params_t *img_params) {
|
||||
std::size_t i = 0;
|
||||
|
||||
Intrinsics in_left, in_right;
|
||||
Extrinsics ex_right_to_left;
|
||||
|
||||
i += bytes::from_data(&in_left, data + i, version);
|
||||
i += bytes::from_data(&in_right, data + i, version);
|
||||
(*img_params)[{1280, 400}] = {true, in_left, in_right, ex_right_to_left};
|
||||
|
||||
i += bytes::from_data(&in_left, data + i, version);
|
||||
i += bytes::from_data(&in_right, data + i, version);
|
||||
(*img_params)[{2560, 800}] = {true, in_left, in_right, ex_right_to_left};
|
||||
|
||||
i += bytes::from_data(&ex_right_to_left, data + i, version);
|
||||
(*img_params)[{1280, 400}].ex_right_to_left = ex_right_to_left;
|
||||
(*img_params)[{2560, 800}].ex_right_to_left = ex_right_to_left;
|
||||
{
|
||||
auto in_left = std::make_shared<IntrinsicsPinhole>();
|
||||
auto in_right = std::make_shared<IntrinsicsPinhole>();
|
||||
i += bytes::from_data(in_left.get(), data + i, version);
|
||||
i += bytes::from_data(in_right.get(), data + i, version);
|
||||
(*img_params)[{1280, 400}] = {true, in_left, in_right, ex_right_to_left};
|
||||
}
|
||||
{
|
||||
auto in_left = std::make_shared<IntrinsicsPinhole>();
|
||||
auto in_right = std::make_shared<IntrinsicsPinhole>();
|
||||
i += bytes::from_data(in_left.get(), data + i, version);
|
||||
i += bytes::from_data(in_right.get(), data + i, version);
|
||||
(*img_params)[{2560, 800}] = {true, in_left, in_right, ex_right_to_left};
|
||||
}
|
||||
{
|
||||
i += bytes::from_data(&ex_right_to_left, data + i, version);
|
||||
(*img_params)[{1280, 400}].ex_right_to_left = ex_right_to_left;
|
||||
(*img_params)[{2560, 800}].ex_right_to_left = ex_right_to_left;
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
@@ -151,14 +157,20 @@ std::size_t Standard2ChannelsAdapter::SetImgParamsToData(
|
||||
std::size_t i = 3; // skip id, size
|
||||
|
||||
{
|
||||
auto &¶ms = (*img_params).at({1280, 400});
|
||||
i += bytes::to_data(¶ms.in_left, data + i, version);
|
||||
i += bytes::to_data(¶ms.in_right, data + i, version);
|
||||
auto params = (*img_params).at({1280, 400});
|
||||
auto in_left = std::dynamic_pointer_cast<IntrinsicsPinhole>(params.in_left);
|
||||
auto in_right = std::dynamic_pointer_cast<IntrinsicsPinhole>(
|
||||
params.in_right);
|
||||
i += bytes::to_data(in_left.get(), data + i, version);
|
||||
i += bytes::to_data(in_right.get(), data + i, version);
|
||||
}
|
||||
{
|
||||
auto &¶ms = (*img_params).at({2560, 800});
|
||||
i += bytes::to_data(¶ms.in_left, data + i, version);
|
||||
i += bytes::to_data(¶ms.in_right, data + i, version);
|
||||
auto params = (*img_params).at({2560, 800});
|
||||
auto in_left = std::dynamic_pointer_cast<IntrinsicsPinhole>(params.in_left);
|
||||
auto in_right = std::dynamic_pointer_cast<IntrinsicsPinhole>(
|
||||
params.in_right);
|
||||
i += bytes::to_data(in_left.get(), data + i, version);
|
||||
i += bytes::to_data(in_right.get(), data + i, version);
|
||||
i += bytes::to_data(¶ms.ex_right_to_left, data + i, version);
|
||||
}
|
||||
|
||||
|
||||
@@ -127,20 +127,26 @@ std::size_t Standard210aChannelsAdapter::GetImgParamsFromData(
|
||||
Channels::img_params_t *img_params) {
|
||||
std::size_t i = 0;
|
||||
|
||||
Intrinsics in_left, in_right;
|
||||
Extrinsics ex_right_to_left;
|
||||
|
||||
i += bytes::from_data(&in_left, data + i, version);
|
||||
i += bytes::from_data(&in_right, data + i, version);
|
||||
(*img_params)[{1280, 400}] = {true, in_left, in_right, ex_right_to_left};
|
||||
|
||||
i += bytes::from_data(&in_left, data + i, version);
|
||||
i += bytes::from_data(&in_right, data + i, version);
|
||||
(*img_params)[{2560, 800}] = {true, in_left, in_right, ex_right_to_left};
|
||||
|
||||
i += bytes::from_data(&ex_right_to_left, data + i, version);
|
||||
(*img_params)[{1280, 400}].ex_right_to_left = ex_right_to_left;
|
||||
(*img_params)[{2560, 800}].ex_right_to_left = ex_right_to_left;
|
||||
{
|
||||
auto in_left = std::make_shared<IntrinsicsPinhole>();
|
||||
auto in_right = std::make_shared<IntrinsicsPinhole>();
|
||||
i += bytes::from_data(in_left.get(), data + i, version);
|
||||
i += bytes::from_data(in_right.get(), data + i, version);
|
||||
(*img_params)[{1280, 400}] = {true, in_left, in_right, ex_right_to_left};
|
||||
}
|
||||
{
|
||||
auto in_left = std::make_shared<IntrinsicsPinhole>();
|
||||
auto in_right = std::make_shared<IntrinsicsPinhole>();
|
||||
i += bytes::from_data(in_left.get(), data + i, version);
|
||||
i += bytes::from_data(in_right.get(), data + i, version);
|
||||
(*img_params)[{2560, 800}] = {true, in_left, in_right, ex_right_to_left};
|
||||
}
|
||||
{
|
||||
i += bytes::from_data(&ex_right_to_left, data + i, version);
|
||||
(*img_params)[{1280, 400}].ex_right_to_left = ex_right_to_left;
|
||||
(*img_params)[{2560, 800}].ex_right_to_left = ex_right_to_left;
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
@@ -151,14 +157,20 @@ std::size_t Standard210aChannelsAdapter::SetImgParamsToData(
|
||||
std::size_t i = 3; // skip id, size
|
||||
|
||||
{
|
||||
auto &¶ms = (*img_params).at({1280, 400});
|
||||
i += bytes::to_data(¶ms.in_left, data + i, version);
|
||||
i += bytes::to_data(¶ms.in_right, data + i, version);
|
||||
auto params = (*img_params).at({1280, 400});
|
||||
auto in_left = std::dynamic_pointer_cast<IntrinsicsPinhole>(params.in_left);
|
||||
auto in_right = std::dynamic_pointer_cast<IntrinsicsPinhole>(
|
||||
params.in_right);
|
||||
i += bytes::to_data(in_left.get(), data + i, version);
|
||||
i += bytes::to_data(in_right.get(), data + i, version);
|
||||
}
|
||||
{
|
||||
auto &¶ms = (*img_params).at({2560, 800});
|
||||
i += bytes::to_data(¶ms.in_left, data + i, version);
|
||||
i += bytes::to_data(¶ms.in_right, data + i, version);
|
||||
auto params = (*img_params).at({2560, 800});
|
||||
auto in_left = std::dynamic_pointer_cast<IntrinsicsPinhole>(params.in_left);
|
||||
auto in_right = std::dynamic_pointer_cast<IntrinsicsPinhole>(
|
||||
params.in_right);
|
||||
i += bytes::to_data(in_left.get(), data + i, version);
|
||||
i += bytes::to_data(in_right.get(), data + i, version);
|
||||
i += bytes::to_data(¶ms.ex_right_to_left, data + i, version);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user