solid_primitive_dims.h
Go to the documentation of this file.
1 /*********************************************************************
2  * Software License Agreement (BSD License)
3  *
4  * Copyright (c) 2012, Willow Garage, Inc.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * * Redistributions of source code must retain the above copyright
12  * notice, this list of conditions and the following disclaimer.
13  * * Redistributions in binary form must reproduce the above
14  * copyright notice, this list of conditions and the following
15  * disclaimer in the documentation and/or other materials provided
16  * with the distribution.
17  * * Neither the name of the Willow Garage nor the names of its
18  * contributors may be used to endorse or promote products derived
19  * from this software without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32  * POSSIBILITY OF SUCH DAMAGE.
33  *********************************************************************/
34 
35 #ifndef GEOMETRIC_SHAPES_SOLID_PRIMITIVE_DIMS_
36 #define GEOMETRIC_SHAPES_SOLID_PRIMITIVE_DIMS_
37 
38 #include <shape_msgs/SolidPrimitive.h>
39 
40 namespace geometric_shapes
41 {
43 template <int>
45 {
46  enum
47  {
48  value = 0
49  };
50 };
51 
52 template <>
54 {
55  enum
56  {
57  value = static_cast<int>(shape_msgs::SolidPrimitive::SPHERE_RADIUS) + 1
58  };
59 };
60 
61 template <>
63 {
64  enum
65  {
67  (static_cast<int>(shape_msgs::SolidPrimitive::BOX_X) >= static_cast<int>(shape_msgs::SolidPrimitive::BOX_Y) &&
68  static_cast<int>(shape_msgs::SolidPrimitive::BOX_X) >= static_cast<int>(shape_msgs::SolidPrimitive::BOX_Z)) ?
69  static_cast<int>(shape_msgs::SolidPrimitive::BOX_X) :
70  (((static_cast<int>(shape_msgs::SolidPrimitive::BOX_Y) >=
71  static_cast<int>(shape_msgs::SolidPrimitive::BOX_X) &&
72  static_cast<int>(shape_msgs::SolidPrimitive::BOX_Y) >=
73  static_cast<int>(shape_msgs::SolidPrimitive::BOX_Z))) ?
74  static_cast<int>(shape_msgs::SolidPrimitive::BOX_Y) :
75  ((static_cast<int>(shape_msgs::SolidPrimitive::BOX_Z) >=
76  static_cast<int>(shape_msgs::SolidPrimitive::BOX_X) &&
77  static_cast<int>(shape_msgs::SolidPrimitive::BOX_Z) >=
78  static_cast<int>(shape_msgs::SolidPrimitive::BOX_Y)) ?
79  static_cast<int>(shape_msgs::SolidPrimitive::BOX_Z) :
80  0)) +
81  1
82  };
83 };
84 
85 template <>
87 {
88  enum
89  {
90  value = (static_cast<int>(shape_msgs::SolidPrimitive::CONE_RADIUS) >=
91  static_cast<int>(shape_msgs::SolidPrimitive::CONE_HEIGHT) ?
92  static_cast<int>(shape_msgs::SolidPrimitive::CONE_RADIUS) :
93  static_cast<int>(shape_msgs::SolidPrimitive::CONE_HEIGHT)) +
94  1
95  };
96 };
97 
98 template <>
100 {
101  enum
102  {
103  value = (static_cast<int>(shape_msgs::SolidPrimitive::CYLINDER_RADIUS) >=
104  static_cast<int>(shape_msgs::SolidPrimitive::CYLINDER_HEIGHT) ?
105  static_cast<int>(shape_msgs::SolidPrimitive::CYLINDER_RADIUS) :
106  static_cast<int>(shape_msgs::SolidPrimitive::CYLINDER_HEIGHT)) +
107  1
108  };
109 };
110 }
111 
112 #endif
The number of dimensions of a particular shape.


geometric_shapes
Author(s): Ioan Sucan , Gil Jones
autogenerated on Fri Jun 7 2019 21:59:29