FhSim
3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
CRigidCylinder.h
1
#ifndef C_RigidCylinder_H
2
#define C_RigidCylinder_H
3
9
#include "CRigidBody.h"
10
#include <string>
11
12
enum
CylinderEnd
13
{
14
OPEN,
15
CLOSED,
16
HALFSPHERE
17
};
18
19
namespace
rigidbody
20
{
21
class
CRigidCylinder
:
public
CRigidBody
22
{
23
public
:
24
CRigidCylinder
();
25
virtual
~CRigidCylinder
();
26
CRigidCylinder
(
double
innerRadius,
double
outerRadius,
double
height,
double
mass, CylinderEnd end,
const
std::string& material);
27
mat6 GetInertiaMatrix(
const
vec3& r,
double
time,
const
double
* states, environment::EnvironmentProvider* environment);
28
vec6 GetInternalForces(
const
vec6& dX,
const
vec3& r,
const
quat& q, environment::EnvironmentProvider* environment,
double
time,
const
double
* states);
29
mat64
GetGravityForceDerivative
(
const
quat& q);
30
31
#ifdef FH_VISUALIZATION
32
void
DrawBody(Ogre::SceneNode* renderNode, Ogre::SceneManager* sceneMgr);
33
#endif
34
35
protected
:
36
double
iR;
//inner radius
37
double
oR;
//outer radius
38
double
h;
//height
39
double
m;
//mass
40
double
V;
//volume
41
CylinderEnd endType;
//Enum: endtype
42
std::string m_material;
43
};
44
};
// namespace rigidbody
45
#endif
rigidbody::CRigidBody
Definition
CRigidBody.h:30
rigidbody::CRigidCylinder
Definition
CRigidCylinder.h:22
rigidbody::CRigidCylinder::GetGravityForceDerivative
mat64 GetGravityForceDerivative(const quat &q)
webfhsim
reloadrepos
fhsim_base
src
rigidbody
CRigidCylinder.h
Generated on Thu Nov 5 2026 22:35:07 for FhSim by
1.9.8