OSVR-Core
Clamp.h
Go to the documentation of this file.
1 
11 // Copyright 2016 Sensics, Inc.
12 //
13 // Licensed under the Apache License, Version 2.0 (the "License");
14 // you may not use this file except in compliance with the License.
15 // You may obtain a copy of the License at
16 //
17 // http://www.apache.org/licenses/LICENSE-2.0
18 //
19 // Unless required by applicable law or agreed to in writing, software
20 // distributed under the License is distributed on an "AS IS" BASIS,
21 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 // See the License for the specific language governing permissions and
23 // limitations under the License.
24 
25 #ifndef INCLUDED_Clamp_h_GUID_E52D654C_917A_4587_39AF_38F98B352C51
26 #define INCLUDED_Clamp_h_GUID_E52D654C_917A_4587_39AF_38F98B352C51
27 
28 // Internal Includes
29 // - none
30 
31 // Library/third-party includes
32 // - none
33 
34 // Standard includes
35 #include <algorithm>
36 
37 namespace osvr {
38 namespace vbtracker {
41  template <typename T> inline T clamp(T v, T minVal, T maxVal) {
42  return std::max(minVal, std::min(maxVal, v));
43  }
44 } // namespace vbtracker
45 } // namespace osvr
46 #endif // INCLUDED_Clamp_h_GUID_E52D654C_917A_4587_39AF_38F98B352C51
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
T clamp(T v, T minVal, T maxVal)
Returns the value of the parameter v, or of the bounds minVal or maxVal if it exceeds them...
Definition: Clamp.h:41
A small structure to hold a non zero as a triplet (i,j,value).
Definition: SparseUtil.h:148