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 <CircleCircleR.hpp>

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)#