Reference documentation for deal.II version 9.1.0-pre
Main Page
Tutorial
Code gallery
Modules
Namespaces
Classes
Related Pages
Files
dealii.org
File List
File Members
deal.II
boost_adaptors
point.h
1
// ---------------------------------------------------------------------
2
//
3
// Copyright (C) 2018 by the deal.II authors
4
//
5
// This file is part of the deal.II library.
6
//
7
// The deal.II library is free software; you can use it, redistribute
8
// it, and/or modify it under the terms of the GNU Lesser General
9
// Public License as published by the Free Software Foundation; either
10
// version 2.1 of the License, or (at your option) any later version.
11
// The full text of the license can be found in the file LICENSE.md at
12
// the top level directory of deal.II.
13
//
14
// ---------------------------------------------------------------------
15
16
#ifndef dealii_boost_adaptor_point_h
17
#define dealii_boost_adaptor_point_h
18
19
#include <deal.II/base/point.h>
20
21
#include <boost/geometry.hpp>
22
23
24
namespace
boost
25
{
26
namespace
geometry
27
{
28
namespace
traits
29
{
33
template
<
int
dim,
class
Number>
34
struct
tag<::
Point
<dim, Number>>
35
{
36
using
type = point_tag;
37
};
38
42
template
<
int
dim,
class
Number>
43
struct
coordinate_type<::
Point
<dim, Number>>
44
{
45
using
type = Number;
46
};
47
52
template
<
int
dim,
class
Number>
53
struct
coordinate_system<::
Point
<dim, Number>>
54
{
55
using
type =
cs::cartesian
;
56
};
57
61
template
<
int
dim,
class
Number>
62
struct
dimension<::
Point
<dim, Number>> : boost::mpl::int_<dim>
63
{};
64
68
template
<
size_t
D,
int
dim,
class
Number>
69
struct
access<::
Point
<dim, Number>, D>
70
{
71
static
inline
double
72
get
(
::Point<dim, Number>
const
&p)
73
{
74
return
p[D];
75
}
76
80
static
inline
void
81
set
(
::Point<dim, Number>
&p, Number value)
82
{
83
p[D] = value;
84
}
85
};
86
}
// namespace traits
87
}
// namespace geometry
88
}
// namespace boost
89
90
91
92
#endif
boost
Definition:
bounding_box.h:25
internal::MatrixFreeFunctions::cartesian
Definition:
mapping_info.h:55
Point
Definition:
point.h:106
Generated by
1.8.11