/* * Copyright 2018 The Cartographer Authors * * 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. */ namespace CartographerSharp.Mapping.Internal; /// /// Corresponds to C++ internal/global_trajectory_builder.cc (single file in internal/). /// /// C++ has one template class GlobalTrajectoryBuilder<LocalTrajectoryBuilder, PoseGraph> /// and two factory functions: CreateGlobalTrajectoryBuilder2D, CreateGlobalTrajectoryBuilder3D. /// /// /// C# has no templates, so the logic is split into two classes that mirror the template instantiations: /// /// GlobalTrajectoryBuilder2D in Internal/2D/GlobalTrajectoryBuilder2D.cs — corresponds to GlobalTrajectoryBuilder<LocalTrajectoryBuilder2D, PoseGraph2D> /// GlobalTrajectoryBuilder3D in Internal/3D/GlobalTrajectoryBuilder3D.cs — corresponds to GlobalTrajectoryBuilder<LocalTrajectoryBuilder3D, PoseGraph3D> /// /// Creation is performed in , equivalent to C++ MapBuilder::AddTrajectory calling CreateGlobalTrajectoryBuilder2D/3D. /// /// public static class GlobalTrajectoryBuilder { }