Apollo 10.0
自动驾驶开放平台
topo_range.h
浏览该文件的文档.
1/******************************************************************************
2 * Copyright 2017 The Apollo Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *****************************************************************************/
16
17#pragma once
18
19namespace apollo {
20namespace routing {
21
23 public:
24 static bool IsEnoughForChangeLane(double start_s, double end_s);
25 static bool IsEnoughForChangeLane(double length);
26
27 public:
28 NodeSRange() = default;
29 NodeSRange(double s1, double s2);
30 virtual ~NodeSRange() = default;
31
32 bool operator<(const NodeSRange& other) const;
33 bool IsValid() const;
34 double StartS() const;
35 double EndS() const;
36 bool IsEnoughForChangeLane() const;
37 double Length() const;
38
39 void SetStartS(double start_s);
40 void SetEndS(double end_s);
41 bool MergeRangeOverlap(const NodeSRange& other);
42
43 private:
44 double start_s_ = 0.0;
45 double end_s_ = 0.0;
46};
47
48} // namespace routing
49} // namespace apollo
bool IsEnoughForChangeLane() const
Definition topo_range.cc:48
void SetEndS(double end_s)
Definition topo_range.cc:54
virtual ~NodeSRange()=default
bool MergeRangeOverlap(const NodeSRange &other)
Definition topo_range.cc:56
void SetStartS(double start_s)
Definition topo_range.cc:52
bool operator<(const NodeSRange &other) const
Definition topo_range.cc:36
class register implement
Definition arena_queue.h:37