ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
script_interface/shapes/Ellipsoid.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2010-2022 The ESPResSo project
3
* Copyright (C) 2002,2003,2004,2005,2006,2007,2008,2009,2010
4
* Max-Planck-Institute for Polymer Research, Theory Group
5
*
6
* This file is part of ESPResSo.
7
*
8
* ESPResSo is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation, either version 3 of the License, or
11
* (at your option) any later version.
12
*
13
* ESPResSo is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program. If not, see <http://www.gnu.org/licenses/>.
20
*/
21
22
#ifndef SCRIPT_INTERFACE_SHAPES_ELLIPSOID_HPP
23
#define SCRIPT_INTERFACE_SHAPES_ELLIPSOID_HPP
24
25
#include "
Shape.hpp
"
26
27
#include <shapes/Ellipsoid.hpp>
28
29
#include <memory>
30
31
namespace
ScriptInterface
{
32
namespace
Shapes
{
33
34
class
Ellipsoid
:
public
Shape
{
35
public
:
36
Ellipsoid
() : m_ellipsoid(
std
::make_shared<::
Shapes
::
Ellipsoid
>()) {
37
add_parameters
({{
"center"
, m_ellipsoid->center()},
38
{
"a"
,
39
[
this
](
Variant
const
&v) {
40
m_ellipsoid->set_semiaxis_a(
get_value<double>
(v));
41
},
42
[
this
]() {
return
m_ellipsoid->semiaxis_a(); }},
43
{
"b"
,
44
[
this
](
Variant
const
&v) {
45
m_ellipsoid->set_semiaxis_b(
get_value<double>
(v));
46
},
47
[
this
]() {
return
m_ellipsoid->semiaxis_b(); }},
48
{
"direction"
, m_ellipsoid->direction()}});
49
}
50
51
std::shared_ptr<::Shapes::Shape>
shape
()
const override
{
52
return
m_ellipsoid;
53
}
54
55
private
:
56
std::shared_ptr<::Shapes::Ellipsoid> m_ellipsoid;
57
};
58
59
}
/* namespace Shapes */
60
}
/* namespace ScriptInterface */
61
62
#endif
ScriptInterface::AutoParameters< Shape >::add_parameters
void add_parameters(std::vector< AutoParameter > &¶ms)
Definition
AutoParameters.hpp:123
ScriptInterface::Shapes::Ellipsoid
Definition
script_interface/shapes/Ellipsoid.hpp:34
ScriptInterface::Shapes::Ellipsoid::Ellipsoid
Ellipsoid()
Definition
script_interface/shapes/Ellipsoid.hpp:36
ScriptInterface::Shapes::Ellipsoid::shape
std::shared_ptr<::Shapes::Shape > shape() const override
Definition
script_interface/shapes/Ellipsoid.hpp:51
ScriptInterface::Shapes::Shape
Definition
script_interface/shapes/Shape.hpp:37
ScriptInterface
Definition
script_interface/accumulators/AccumulatorBase.hpp:33
ScriptInterface::get_value
T get_value(Variant const &v)
Extract value of specific type T from a Variant.
Definition
get_value.hpp:398
Shapes
Definition
shapes/include/shapes/Cylinder.hpp:31
std
STL namespace.
Shape.hpp
ScriptInterface::impl::recursive_variant
Recursive variant implementation.
Definition
Variant.hpp:84
src
script_interface
shapes
Ellipsoid.hpp
Generated on Sun Jan 4 2026 02:32:25 for ESPResSo by
1.9.8