OpenFOAM: API Guide
v2112
The open source CFD toolbox
compositeBody.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | www.openfoam.com
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
Copyright (C) 2016 OpenFOAM Foundation
9
-------------------------------------------------------------------------------
10
License
11
This file is part of OpenFOAM.
12
13
OpenFOAM is free software: you can redistribute it and/or modify it
14
under the terms of the GNU General Public License as published by
15
the Free Software Foundation, either version 3 of the License, or
16
(at your option) any later version.
17
18
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21
for more details.
22
23
You should have received a copy of the GNU General Public License
24
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26
Class
27
Foam::compositeBody
28
29
Group
30
grpRigidBodyDynamicsBodies
31
32
Description
33
This specialized rigidBody holds the original body after it has been merged
34
into a parent.
35
36
SourceFiles
37
compositeBodyI.H
38
compositeBody.C
39
40
\*---------------------------------------------------------------------------*/
41
42
#ifndef RBD_compositeBody_H
43
#define RBD_compositeBody_H
44
45
#include "
rigidBody.H
"
46
47
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
48
49
namespace
Foam
50
{
51
namespace
RBD
52
{
53
54
/*---------------------------------------------------------------------------*\
55
Class compositeBody Declaration
56
\*---------------------------------------------------------------------------*/
57
58
class
compositeBody
59
:
60
public
rigidBody
61
{
62
// Private data
63
64
//- Original body from which this composite-body was constructed
65
autoPtr<rigidBody>
body_;
66
67
public
:
68
69
// Constructors
70
71
//- Construct a merged version of the given rigidBody
72
// providing the ID of the parent body to which this will be merged
73
// and the transform relative to the parent
74
inline
compositeBody
(
const
autoPtr<rigidBody>
& bodyPtr);
75
76
//- Return clone of this compositeBody
77
virtual
autoPtr<rigidBody>
clone
()
const
;
78
79
80
//- Destructor
81
virtual
~compositeBody
();
82
83
84
// Member Functions
85
86
//- Return the type name of the original body
87
virtual
const
word
&
type
()
const
;
88
89
//- Return the original body from which this composite-body
90
// was constructed
91
inline
const
rigidBody
&
body
()
const
;
92
93
//- Write
94
virtual
void
write
(
Ostream
&)
const
;
95
};
96
97
98
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
99
100
}
// End namespace RBD
101
}
// End namespace Foam
102
103
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
104
105
#include "
compositeBodyI.H
"
106
107
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
108
109
#endif
110
111
// ************************************************************************* //
Foam::Ostream
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Definition:
Ostream.H:62
Foam::RBD::compositeBody
Definition:
compositeBody.H:60
Foam::RBD::compositeBody::clone
virtual autoPtr< rigidBody > clone() const
Return clone of this compositeBody.
Definition:
compositeBody.C:38
Foam::RBD::compositeBody::body
const rigidBody & body() const
Return the original body from which this composite-body.
Definition:
compositeBodyI.H:42
Foam::RBD::compositeBody::~compositeBody
virtual ~compositeBody()
Destructor.
Definition:
compositeBody.C:32
Foam::RBD::compositeBody::type
virtual const word & type() const
Return the type name of the original body.
Definition:
compositeBody.C:46
Foam::RBD::rigidBody
Definition:
rigidBody.H:68
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition:
autoPtr.H:66
Foam::word
A class for handling words, derived from Foam::string.
Definition:
word.H:68
compositeBodyI.H
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.C:34
write
runTime write()
rigidBody.H
src
rigidBodyDynamics
bodies
compositeBody
compositeBody.H
Generated by
1.9.5
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.