mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
rigidBodyDynamics/bodies: Complete set of clone functions to support copy construction and assignment
This commit is contained in:
@ -81,7 +81,8 @@ int main(int argc, char *argv[])
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Create the pendulum model from dictionary
|
// Create the pendulum model from dictionary
|
||||||
rigidBodyModel pendulum(dictionary(IFstream("pendulum")()));
|
rigidBodyModel pendulum1(dictionary(IFstream("pendulum")()));
|
||||||
|
rigidBodyModel pendulum = pendulum1;
|
||||||
|
|
||||||
pendulum.write(Info);
|
pendulum.write(Info);
|
||||||
|
|
||||||
|
|||||||
@ -31,6 +31,14 @@ Foam::RBD::compositeBody::~compositeBody()
|
|||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::autoPtr<Foam::RBD::rigidBody> Foam::RBD::compositeBody::clone() const
|
||||||
|
{
|
||||||
|
return autoPtr<rigidBody>(new compositeBody(*this));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
const Foam::word& Foam::RBD::compositeBody::type() const
|
const Foam::word& Foam::RBD::compositeBody::type() const
|
||||||
|
|||||||
@ -68,6 +68,9 @@ public:
|
|||||||
// and the transform relative to the parent
|
// and the transform relative to the parent
|
||||||
inline compositeBody(const autoPtr<rigidBody>& bodyPtr);
|
inline compositeBody(const autoPtr<rigidBody>& bodyPtr);
|
||||||
|
|
||||||
|
//- Return clone of this compositeBody
|
||||||
|
virtual autoPtr<rigidBody> clone() const;
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
//- Destructor
|
||||||
virtual ~compositeBody();
|
virtual ~compositeBody();
|
||||||
|
|||||||
@ -44,6 +44,14 @@ namespace RBD
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::autoPtr<Foam::RBD::rigidBody> Foam::RBD::masslessBody::clone() const
|
||||||
|
{
|
||||||
|
return autoPtr<rigidBody>(new masslessBody(*this));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::RBD::masslessBody::~masslessBody()
|
Foam::RBD::masslessBody::~masslessBody()
|
||||||
|
|||||||
@ -74,6 +74,9 @@ public:
|
|||||||
const dictionary& dict
|
const dictionary& dict
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//- Return clone of this masslessBody
|
||||||
|
virtual autoPtr<rigidBody> clone() const;
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
//- Destructor
|
||||||
virtual ~masslessBody();
|
virtual ~masslessBody();
|
||||||
|
|||||||
@ -44,6 +44,14 @@ namespace RBD
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Foam::autoPtr<Foam::RBD::rigidBody> Foam::RBD::sphere::clone() const
|
||||||
|
{
|
||||||
|
return autoPtr<rigidBody>(new sphere(*this));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::RBD::sphere::~sphere()
|
Foam::RBD::sphere::~sphere()
|
||||||
|
|||||||
@ -77,6 +77,9 @@ public:
|
|||||||
const dictionary& dict
|
const dictionary& dict
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//- Return clone of this sphere
|
||||||
|
virtual autoPtr<rigidBody> clone() const;
|
||||||
|
|
||||||
|
|
||||||
//- Destructor
|
//- Destructor
|
||||||
virtual ~sphere();
|
virtual ~sphere();
|
||||||
|
|||||||
Reference in New Issue
Block a user