• Skip to main content
  • Skip to header right navigation
  • Skip to site footer
CDP Studio logo

CDP Studio

The no-code and full-code software development tool for distributed control systems and HMI

  • Doc
  • Why CDP
    • Software developers
    • Automation engineers
    • Managers
  • Products
    • Automation Designer
    • HMI Designer
    • Maritime HMIs
  • Services
  • Use cases
  • Pricing
  • Try CDP

CDP Studio Documentation

  • Framework - Kinematics
  • DHLink
  • 5.0.0

DHLink Class

(Kinematics::DHLink)
Inherits: CDPObject and
  • List of all members, including inherited members

Public Functions

void AddLoopConstraints(RigidBodyDynamics::DHChainSolver &solver)
bool AddPositionConstraints(RigidBodyDynamics::DHChainSolver &solver)
virtual bool CalculateLinkSpeeds() = 0
void CalculateVelocities()
void ClearChainStructureCache()
void ConfigureSubObjects(XMLElementEx *xml)
virtual void CopyToPrevious()
std::vector<DHLink *> GetChildLinks() const
double GetDHA() const
double GetDHAlpha() const
virtual double GetDHD(bool predicted) const = 0
virtual double GetDHTheta(bool predicted) const = 0
virtual double GetInputDoF() const = 0
virtual RigidBodyDynamics::JointType GetJointType() const = 0
std::optional<double> GetMaxMovement(bool predicted) const
std::optional<double> GetMaxMovementToPosition(PositionValues position, bool predicted) const
VelocityValues GetMinPredictedMovement(VelocityValues velocity) const
DHChain *GetParentChain() const
DHLink *GetParentLink() const
CDPObject *GetParentObject() const
RigidBodyDynamics::Math::SpatialTransform GetPreTransformation(bool predicted) const
virtual std::optional<double> GetPredictedDoF() const = 0
RigidBodyDynamics::Math::SpatialTransform GetPredictedTransformation() const
std::optional<PositionValues> GetPreviousPredictedPosition() const
std::optional<RigidBodyDynamics::Math::Matrix3d> GetPreviousRotation() const
std::optional<PositionValues> GetPreviousSolvedPosition() const
virtual double GetSolvedDoF() const = 0
void InitChainStructureCache()
virtual bool IsDoFValueInput() const
virtual bool IsPredictedCalculationNeeded() const
virtual bool IsPreviousPositionNeeded() const
virtual void SetInputTransformation(double dofPosition, const RigidBodyDynamics::Math::SpatialTransform &transformation)
virtual void SetSolvedTransformation(double dofPosition, const RigidBodyDynamics::Math::SpatialTransform &transformation)
void UpdateConfigurationFaults()
void ValueChanged(ICDPNode *node, const CDP::StudioAPI::CDPVariantValue &oldValue, const CDP::StudioAPI::CDPVariantValue &newValue) override

Reimplemented Public Functions

virtual void Activate() override
virtual void Configure(XMLElementEx *xml) override
virtual void Create(const char *shortName, CDPComponent *parent) override
virtual void Destroy() override
virtual void FillNodeChildren(CDP::StudioAPI::NodeStream &stream) const override
virtual std::string GetNodeLongName() const override
virtual void Suspend() override
  • 39 public functions inherited from CDPObject
  • 49 public functions inherited from CDPBaseObject
  • 27 public functions inherited from CDP::StudioAPI::CDPNode
  • 22 public functions inherited from CDP::StudioAPI::ICDPNode

Additional Inherited Members

  • 6 static public members inherited from CDPObject
  • 1 static public member inherited from CDPBaseObject
  • 15 protected functions inherited from CDPObject
  • 1 protected function inherited from CDP::StudioAPI::CDPNode
  • 9 protected variables inherited from CDPObject
  • 10 protected variables inherited from CDPBaseObject

Member Function Documentation

[override virtual] void DHLink::Activate()

void DHLink::AddLoopConstraints(RigidBodyDynamics::DHChainSolver &solver)

bool DHLink::AddPositionConstraints(RigidBodyDynamics::DHChainSolver &solver)

[pure virtual] bool DHLink::CalculateLinkSpeeds()

void DHLink::CalculateVelocities()

void DHLink::ClearChainStructureCache()

[override virtual] void DHLink::Configure(XMLElementEx *xml)

void DHLink::ConfigureSubObjects(XMLElementEx *xml)

[virtual] void DHLink::CopyToPrevious()

[override virtual] void DHLink::Create(const char *shortName, CDPComponent *parent)

[override virtual] void DHLink::Destroy()

[override virtual] void DHLink::FillNodeChildren(CDP::StudioAPI::NodeStream &stream) const

std::vector<DHLink *> DHLink::GetChildLinks() const

double DHLink::GetDHA() const

double DHLink::GetDHAlpha() const

[pure virtual] double DHLink::GetDHD(bool predicted) const

[pure virtual] double DHLink::GetDHTheta(bool predicted) const

[pure virtual] double DHLink::GetInputDoF() const

[pure virtual] RigidBodyDynamics::JointType DHLink::GetJointType() const

std::optional<double> DHLink::GetMaxMovement(bool predicted) const

std::optional<double> DHLink::GetMaxMovementToPosition(PositionValues position, bool predicted) const

VelocityValues DHLink::GetMinPredictedMovement(VelocityValues velocity) const

[override virtual] std::string DHLink::GetNodeLongName() const

DHChain *DHLink::GetParentChain() const

DHLink *DHLink::GetParentLink() const

CDPObject *DHLink::GetParentObject() const

RigidBodyDynamics::Math::SpatialTransform DHLink::GetPreTransformation(bool predicted) const

[pure virtual] std::optional<double> DHLink::GetPredictedDoF() const

RigidBodyDynamics::Math::SpatialTransform DHLink::GetPredictedTransformation() const

std::optional<PositionValues> DHLink::GetPreviousPredictedPosition() const

std::optional<RigidBodyDynamics::Math::Matrix3d> DHLink::GetPreviousRotation() const

std::optional<PositionValues> DHLink::GetPreviousSolvedPosition() const

[pure virtual] double DHLink::GetSolvedDoF() const

void DHLink::InitChainStructureCache()

[virtual] bool DHLink::IsDoFValueInput() const

[virtual] bool DHLink::IsPredictedCalculationNeeded() const

[virtual] bool DHLink::IsPreviousPositionNeeded() const

[virtual] void DHLink::SetInputTransformation(double dofPosition, const RigidBodyDynamics::Math::SpatialTransform &transformation)

[virtual] void DHLink::SetSolvedTransformation(double dofPosition, const RigidBodyDynamics::Math::SpatialTransform &transformation)

[override virtual] void DHLink::Suspend()

void DHLink::UpdateConfigurationFaults()

void DHLink::ValueChanged(ICDPNode *node, const CDP::StudioAPI::CDPVariantValue &oldValue, const CDP::StudioAPI::CDPVariantValue &newValue)

The content of this document is confidential information not to be published without the consent of CDP Technologies AS.

CDP Technologies AS, www.cdpstudio.com

Get started with CDP Studio today

Let us help you take your great ideas and turn them into the products your customer will love.

Try CDP Studio for free
Why CDP Studio?

CDP Technologies AS
Hundsværgata 8,
P.O. Box 144
6001 Ålesund, Norway

Tel: +47 990 80 900
E-mail: info@cdptech.com

Company

About CDP

Contact us

Services

Partners

Blog

Developers

Get started

User manuals

Support

Document download

Release notes

My account

Follow CDP

  • LinkedIn
  • YouTube
  • GitHub

© Copyright 2025 CDP Technologies. Privacy and cookie policy.

Return to top