/* * Copyright (C) 2022 Open Source Robotics Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ syntax = "proto3"; package gz.msgs; option java_package = "com.gz.msgs"; option java_outer_classname = "LensProtos"; /// \ingroup gz.msgs /// \interface Lens /// \brief Information about a lens element message Lens { /// \brief Types of lens models. enum Type { TYPE_NOT_SPECIFIED = 0; GNOMONICAL = 1; STEREOGRAPHIC = 2; EQUIDISTANT = 3; EQUISOLID_ANGLE = 4; ORTHOGRAPHIC = 5; CUSTOM = 6; } /// \brief Lens custom function type. enum FunctionType { FUNCTION_NOT_SPECIFIED = 0; SIN = 1; TAN = 2; ID = 3; } /// \brief Lens type Type type = 1; /// \brief Lens scale to horizontal field of view. bool scale_to_hfov = 2; /// \brief Lens custom function linear scaling constant double c1 = 3; /// \brief Lens custom function angular scaling constant. double c2 = 4; /// \brief Lens custom function angle offset constant. double c3 = 5; /// \brief Lens custom function focal length. double focal_length = 6; /// \brief Lens custom function type. FunctionType function_type = 7; /// \brief Lens cutoff angle in radians. Everything outside of the specified /// angle will be hidden. double cutoff_angle = 8; /// \brief The resolution of the environment cube map used to draw the world. int32 environment_texture_size = 9; /// \brief Lens X focal length in pixels. double intrinsics_fx = 10; /// \brief Lens Y focal length in pixels. double intrinsics_fy = 11; /// \brief Lens X principal point in pixels. double intrinsics_cx = 12; /// \brief Lens Y principal point in pixels. double intrinsics_cy = 13; /// \brief Lens XY axis skew. double intrinsics_skew = 14; }