Gazebo Rendering
API Reference
9.0.0
insert_drive_file
Tutorials
library_books
Classes
toc
Namespaces
insert_drive_file
Files
launch
Gazebo Website
Index
List
Hierarchy
Members: All
Members: Functions
Members: Variables
Members: Typedefs
Members: Enumerations
Members: Enumerator
List
Members
Functions
Typedefs
Variables
Enumerations
Enumerator
src
gz-rendering
ogre2
include
gz
rendering
ogre2
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
22
#include "
gz/rendering/base/BaseRayQuery.hh
"
23
#include "
gz/rendering/ogre2/Ogre2Object.hh
"
24
#include "
gz/rendering/ogre2/Ogre2RenderTypes.hh
"
25
26
namespace
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
63
public
:
virtual
RayQueryResult
ClosestPoint
(
64
bool
_forceSceneUpdate =
true
)
override
;
65
68
private
:
RayQueryResult
ClosestPointBySelectionBuffer();
69
72
private
:
RayQueryResult
ClosestPointByIntersection(
73
bool
_forceSceneUpdate);
74
76
private
:
std::unique_ptr<Ogre2RayQueryPrivate>
dataPtr;
77
79
private
:
friend
class
Ogre2Scene
;
80
};
81
}
82
}
83
}
84
#endif