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