Medusa  1.1
Coordinate Free Mehless Method implementation
PolytopeShape_fwd.hpp
Go to the documentation of this file.
1 #ifndef MEDUSA_BITS_DOMAINS_POLYTOPESHAPE_FWD_HPP_
2 #define MEDUSA_BITS_DOMAINS_POLYTOPESHAPE_FWD_HPP_
3 
4 #include <medusa/Config.hpp>
5 #include "DomainShape_fwd.hpp"
6 #include "PolygonShape_fwd.hpp"
7 
15 namespace mm {
16 
34 template <typename vec_t>
35 class PolytopeShape : public DomainShape<vec_t> {
36  static_assert(vec_t::dim == 2 || vec_t::dim == 3, "Only available in 2 and 3 dimensions");
37 };
38 
39 // This must be hidden during a doxygen run due to a bug in processing const declarations with
40 // differently named template parameters.
41 // See https://github.com/doxygen/doxygen/issues/8178
42 #ifndef DOXYGEN_RUN
43 
48 template <typename Scalar>
49 class PolytopeShape<Vec<Scalar, 2>> : public PolygonShape<Vec<Scalar, 2>> {
50  using base_t = PolygonShape<Vec<Scalar, 2>>;
51  using typename base_t::PolygonShape;
52  public:
53  PolytopeShape(const base_t& shape) : base_t(shape) {}
54 };
55 #endif
56 
57 // This must be hidden during a doxygen run due to a bug in processing forward declarations.
58 // See https://github.com/doxygen/doxygen/issues/8177
59 #ifndef DOXYGEN_RUN
60 template <typename Scalar>
61 class PolytopeShape<Vec<Scalar, 3>>; // You must include PolyhedronShape.hpp for the definition.
62 #endif
63 
64 } // namespace mm
65 
66 #endif // MEDUSA_BITS_DOMAINS_POLYTOPESHAPE_FWD_HPP_
mm
Root namespace for the whole library.
Definition: Gaussian.hpp:14
mm::Vec
Eigen::Matrix< scalar_t, dim, 1, Eigen::ColMajor|Eigen::AutoAlign, dim, 1 > Vec
Fixed size vector type, representing a mathematical 1d/2d/3d vector.
Definition: Vec_fwd.hpp:31
dim
@ dim
Number of elements of this matrix.
Definition: MatrixBaseAddons.hpp:14
mm::PolygonShape
Shape representing a simple (i.e. non self intersecting) nonempty polygon in 2D, which is given as a ...
Definition: PolygonShape_fwd.hpp:27
mm::DomainShape
Base class for geometric shapes of domains.
Definition: DomainShape_fwd.hpp:52
Config.hpp
mm::PolytopeShape
Shape representing a simple nonempty polytope (i.e., non-self intersecting polygon in 2D and polyhedr...
Definition: PolytopeShape_fwd.hpp:35
PolygonShape_fwd.hpp
DomainShape_fwd.hpp