Gazebo Rendering

API Reference

9.0.0
Ogre2RayQuery.hh
Go to the documentation of this file.
1/*
2 * Copyright (C) 2018 Open Source Robotics Foundation
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#ifndef GZ_RENDERING_OGRE2_OGRE2RAYQUERY_HH_
18#define GZ_RENDERING_OGRE2_OGRE2RAYQUERY_HH_
19
20#include <memory>
21
25
26namespace gz
27{
28 namespace rendering
29 {
30 inline namespace GZ_RENDERING_VERSION_NAMESPACE {
31 //
32 // forward declaration
33 class Ogre2RayQueryPrivate;
34
38 class GZ_RENDERING_OGRE2_VISIBLE Ogre2RayQuery :
39 public BaseRayQuery<Ogre2Object>
40 {
42 protected: Ogre2RayQuery();
43
45 public: virtual ~Ogre2RayQuery() override;
46
47 // Documentation inherited
48 public: virtual void SetFromCamera(const CameraPtr &_camera,
49 const math::Vector2d &_coord) override;
50
51 // Documentation inherited
52 public: void SetFromCamera( const WideAngleCameraPtr &_camera,
53 uint32_t _faceIdx,
54 const math::Vector2d &_coord) override;
55
56 // Documentation inherited
57 public: void SetPreferGpu(bool _preferGpu) override;
58
59 // Documentation inherited
60 public: bool UsesGpu() const override;
61
62 // Documentation inherited
64 bool _forceSceneUpdate = true) override;
65
68 private: RayQueryResult ClosestPointBySelectionBuffer();
69
72 private: RayQueryResult ClosestPointByIntersection(
73 bool _forceSceneUpdate);
74
77
79 private: friend class Ogre2Scene;
80 };
81 }
82 }
83}
84#endif