All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FrustumPrivate.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 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 _IGNITION_FRUSTUM_PRIVATE_HH_
18 #define _IGNITION_FRUSTUM_PRIVATE_HH_
19 
20 #include <array>
21 
22 #include <ignition/math/Pose3.hh>
23 #include <ignition/math/Angle.hh>
24 #include <ignition/math/Plane.hh>
25 
26 namespace ignition
27 {
28  namespace math
29  {
33  {
46  public: FrustumPrivate(const double _near,
47  const double _far,
48  const math::Angle &_fov,
49  const double _aspectRatio,
50  const Pose3d &_pose)
51  : near(_near), far(_far), fov(_fov),
52  aspectRatio(_aspectRatio), pose(_pose)
53  {
54  }
55 
57  public: double near;
58 
60  public: double far;
61 
63  public: math::Angle fov;
64 
66  // width divided by the height.
67  public: double aspectRatio;
68 
70  public: math::Pose3d pose;
71 
74  public: std::array<Planed, 6> planes;
75  };
76  }
77 }
78 #endif
An angle and related functions.
Definition: Angle.hh:44
double far
Far distance.
Definition: FrustumPrivate.hh:60
Definition: FrustumPrivate.hh:32
double near
Near distance.
Definition: FrustumPrivate.hh:57
double aspectRatio
Aspect ratio of the near and far planes. This is the.
Definition: FrustumPrivate.hh:67
math::Angle fov
Field of view.
Definition: FrustumPrivate.hh:63
FrustumPrivate(const double _near, const double _far, const math::Angle &_fov, const double _aspectRatio, const Pose3d &_pose)
Constructor.
Definition: FrustumPrivate.hh:46
math::Pose3d pose
Pose of the frustum.
Definition: FrustumPrivate.hh:70
std::array< Planed, 6 > planes
Each plane of the frustum.
Definition: FrustumPrivate.hh:74