File mechanics/src/collision/native/bodies/CircleCircleR.hpp

Go to the source code of this file

class CircleCircleR : public CircularR, public std::enable_shared_from_this<CircleCircleR>
#include <>

Two disks relation - Inherits from LagrangianScleronomousR.

Public Functions

~CircleCircleR() noexcept = default
CircleCircleR(double rdisk1, double rdisk2)

Constructor.

Parameters
  • rdisk1 – radius

  • rdisk2 – radius

virtual double distance(double x1, double y1, double r1, double x2, double y2, double r2)

compute distance between 2 disks

Parameters
  • x1 – x position of first disk

  • y1 – y position of first disk

  • r1 – radius of first disk

  • x2 – x position of second disk

  • y2 – y position of second disk

  • r2 – radius of second disk

Returns

distance

void computeh(const BlockVector &q, BlockVector &z, SiconosVector &y)

to compute the output y = h(q,z) of the Relation

Parameters
  • q – coordinates of the dynamical systems involved in the relation

  • z – user defined parameters (optional)

  • y – the resulting vector

void computeJachq(const BlockVector &q, BlockVector &z)

to compute the jacobian of h(…).

Set attribute _jachq (access: jacqhq())

Parameters
  • q – coordinates of the dynamical systems involved in the relation

  • z – user defined parameters (optional)

ACCEPT_VISITORS()

Private Functions

ACCEPT_SERIALIZATION(CircleCircleR)