11#ifndef CCableElDynStiff_H
12#define CCableElDynStiff_H
16#include "cable/subroutines/CCableElBasics.h"
20#define CCableElDynStiff_USE_PID
21#ifdef CCableElDynStiff_USE_PID
22#include "sfh/filters/PID.h"
25#ifdef FH_VISUALIZATION
27#include "sfh/ogre/CDynamicLines.h"
45 virtual void UpdateLength(
double dNewLength,
double dStep,
bool bForceUpdate =
false);
63 double ma_adMeanTensionForceA[3];
64 double ma_dAdaptationDamping;
66#ifdef CCableElDynStiff_USE_PID
67 sfh::filters::PID m_MeanTensionController;
Class containing a fundamental cable element object.
Definition: CCableElBasics.h:29
Definition: CCableElDynStiff.h:33
virtual bool CheckAndInitialize()
Does the initialization and checking to make sure that the element is ready for simulation.
CCableElDynStiff()
The constructor.
double m_dStepSafetyFactor
The safety factor when calculating the Young modulus of the element.
Definition: CCableElDynStiff.h:53
double ma_dEps
The stretching of the cable.
Definition: CCableElDynStiff.h:58
void UpdateMeanTension(double dStep)
Updates the mean tension of the cable element.
double m_dEFactor
The factor multiplied by the Young modulus.
Definition: CCableElDynStiff.h:59
double m_dEAdaptationPeriod
The time constant of the adaptation of the mean tension.
Definition: CCableElDynStiff.h:52
~CCableElDynStiff()
The destructor.
double m_dMaxStep
The maximum step of the integration routine.
Definition: CCableElDynStiff.h:50
virtual void AddStructuralForces(double adForceA[3], double adForceB[3])
Adds the forces from tension and internal damping to the nodes. CalcFoundation must be run first.
double m_dMeanTensionDamp
The damping of the development of the mean tension.
Definition: CCableElDynStiff.h:60
double m_dMeanTension
The mean tension of the cable element.
Definition: CCableElDynStiff.h:51
virtual void UpdateLength(double dNewLength, double dStep, bool bForceUpdate=false)
Updates the length of the cable element, and its dependant properties.